2021-02-01 19:06:12 +03:00
name : release
2021-01-30 00:30:13 +03:00
2022-07-20 15:25:45 +03:00
on : [ pull_request]
2021-01-30 00:30:13 +03:00
env :
CARGO_TERM_COLOR : always
jobs :
2021-11-25 12:25:00 +03:00
release-generic-linux-x64 :
2022-09-14 10:42:22 +03:00
runs-on : ubuntu-18.04
2021-01-30 00:30:13 +03:00
steps :
- name : Checkout repository
2022-05-17 11:04:49 +03:00
uses : actions/checkout@v3
2022-10-24 17:59:07 +03:00
- name : Install
run : |
bin/install_prerequisites_ubuntu.sh
bin/install_rust_latest.sh
- name : Build
run : |
bin/release/release.sh
echo "PATH=:${PWD}/target/release:$PATH" >> "${GITHUB_ENV}"
2022-10-05 15:03:28 +03:00
- name : Install Python 3.8
uses : actions/setup-python@v4
with :
python-version : '3.8'
- name : Install Curl 7.68
uses : myci-actions/add-deb-repo@10
with :
repo : deb http://azure.archive.ubuntu.com/ubuntu/ focal main restricted
repo-name : focal
install : curl
- name : Test integ
run : |
bin/test/test_prerequisites.sh
bin/test/test_integ.sh
2022-10-05 16:59:17 +03:00
- name : Get version
run : |
VERSION=$(bin/release/get_version.sh)
echo "VERSION=${VERSION}" | tee -a "${GITHUB_ENV}"
2022-10-04 15:42:39 +03:00
- name : Create generic linux package
2022-10-05 16:59:17 +03:00
run : |
bin/release/man.sh
bin/release/create_tarball.sh linux
2022-10-05 15:03:28 +03:00
- name : Install package
run : |
bin/release/install_generic_linux_package.sh
echo "PATH=/tmp/hurl-generic-linux:$PATH" >> "${GITHUB_ENV}"
- name : Test integ
run : |
bin/test/test_prerequisites.sh
bin/test/test_integ.sh
2022-10-04 16:31:38 +03:00
- name : Archive production artifacts
2022-10-04 15:42:39 +03:00
uses : actions/upload-artifact@v3
with :
name : release-generic-linux-x64-artifacts
path : target/upload/*
2022-10-05 17:20:25 +03:00
test-generic-linux-docker-debian-x64 :
needs : release-generic-linux-x64
runs-on : ubuntu-latest
steps :
- name : Checkout repository
uses : actions/checkout@v3
- name : Retrieve release-generic-linux-x64-artifacts
uses : actions/download-artifact@v3
with :
name : release-generic-linux-x64-artifacts
path : target/upload
- name : Install package and tests integ
uses : addnab/docker-run-action@v3
with :
image : debian
options : --volume ${{ github.workspace }}:/work --workdir /work --privileged
run : |
2022-10-25 15:01:53 +03:00
echo "::group::Install system prerequisites"
2022-10-05 17:20:25 +03:00
bin/install_prerequisites_docker_ubuntu.sh
2022-10-25 15:01:53 +03:00
echo "::endgroup::"
echo "::group::Environment"
2022-10-05 17:20:25 +03:00
bin/environment.sh
2022-10-25 15:01:53 +03:00
echo "::endgroup::"
echo "::group::Install generic linux package"
2022-10-05 17:20:25 +03:00
bin/release/install_generic_linux_package.sh
export PATH="/tmp/hurl-generic-linux:$PATH"
2022-10-25 15:01:53 +03:00
echo "::endgroup::"
echo "::group::Install tests prerequisites"
2022-10-05 17:20:25 +03:00
bin/test/test_prerequisites.sh
2022-10-25 15:01:53 +03:00
echo "::endgroup::"
echo "::group::Tests"
2022-10-05 17:20:25 +03:00
bin/test/test_integ.sh
2022-10-25 15:01:53 +03:00
echo "::endgroup::"
2022-10-05 17:20:25 +03:00
- name : Archive production artifacts
uses : actions/upload-artifact@v3
if : ${{ always() }}
with :
name : test-generic-linux-package-docker-debian-x64-artifacts
path : |
integration/mitmdump.log
integration/server.log
integration/server-ssl.log
2022-10-06 14:43:07 +03:00
test-generic-linux-docker-archlinux-x64 :
needs : release-generic-linux-x64
runs-on : ubuntu-latest
steps :
- name : Checkout repository
uses : actions/checkout@v3
- name : Retrieve release-generic-linux-x64-artifacts
uses : actions/download-artifact@v3
with :
name : release-generic-linux-x64-artifacts
path : target/upload
- name : Install package and tests integ
uses : addnab/docker-run-action@v3
with :
image : archlinux
options : --volume ${{ github.workspace }}:/work --workdir /work --privileged
run : |
2022-10-25 15:01:53 +03:00
echo "::group::Install system prerequisites"
2022-10-06 14:43:07 +03:00
bin/install_prerequisites_docker_archlinux.sh
2022-10-25 15:01:53 +03:00
echo "::endgroup::"
echo "::group::Environment"
2022-10-06 14:43:07 +03:00
bin/environment.sh
2022-10-25 15:01:53 +03:00
echo "::endgroup::"
echo "::group::Install generic linux package"
2022-10-06 14:43:07 +03:00
bin/release/install_generic_linux_package.sh
export PATH="/tmp/hurl-generic-linux:$PATH"
2022-10-25 15:01:53 +03:00
echo "::endgroup::"
echo "::group::Install tests prerequisites"
2022-10-06 14:43:07 +03:00
bin/test/test_prerequisites.sh
2022-10-25 15:01:53 +03:00
echo "::endgroup::"
echo "::group::Tests"
2022-10-06 14:43:07 +03:00
bin/test/test_integ.sh
2022-10-25 15:01:53 +03:00
echo "::endgroup::"
2022-10-06 14:43:07 +03:00
- name : Archive production artifacts
uses : actions/upload-artifact@v3
if : ${{ always() }}
with :
name : test-generic-linux-package-docker-archlinux-x64-artifacts
path : |
integration/mitmdump.log
integration/server.log
integration/server-ssl.log
2022-10-06 14:51:57 +03:00
test-generic-linux-docker-fedora-x64 :
needs : release-generic-linux-x64
runs-on : ubuntu-latest
steps :
- name : Checkout repository
uses : actions/checkout@v3
- name : Retrieve release-generic-linux-x64-artifacts
uses : actions/download-artifact@v3
with :
name : release-generic-linux-x64-artifacts
path : target/upload
- name : Install package and tests integ
uses : addnab/docker-run-action@v3
with :
image : fedora
options : --volume ${{ github.workspace }}:/work --workdir /work --privileged
run : |
2022-10-25 15:01:53 +03:00
echo "::group::Install system prerequisites"
2022-10-06 14:51:57 +03:00
bin/install_prerequisites_docker_fedora.sh
2022-10-25 15:01:53 +03:00
echo "::endgroup::"
echo "::group::Environment"
2022-10-06 14:51:57 +03:00
bin/environment.sh
2022-10-25 15:01:53 +03:00
echo "::endgroup::"
echo "::group::Install generic linux package"
2022-10-06 14:51:57 +03:00
bin/release/install_generic_linux_package.sh
export PATH="/tmp/hurl-generic-linux:$PATH"
2022-10-25 15:01:53 +03:00
echo "::group::Install tests prerequisites"
echo "::endgroup::"
2022-10-06 14:51:57 +03:00
bin/test/test_prerequisites.sh
2022-10-25 15:01:53 +03:00
echo "::endgroup::"
echo "::group::Tests"
2022-10-06 14:51:57 +03:00
bin/test/test_integ.sh || true # to be fixed => "error in stderr actual: <hurl: /lib64/libcurl.so.4: no version information available (required by hurl)"
2022-10-25 15:01:53 +03:00
echo "::endgroup::"
2022-10-06 14:51:57 +03:00
- name : Archive production artifacts
uses : actions/upload-artifact@v3
if : ${{ always() }}
with :
name : test-generic-linux-package-docker-fedora-x64-artifacts
path : |
integration/mitmdump.log
integration/server.log
integration/server-ssl.log
2022-10-04 15:42:39 +03:00
release-deb-x64 :
runs-on : ubuntu-18.04
steps :
- name : Checkout repository
uses : actions/checkout@v3
- name : Install
run : |
bin/install_prerequisites_ubuntu.sh
bin/install_rust_latest.sh
2022-10-04 16:31:38 +03:00
- name : Environment
run : bin/environment.sh
2022-10-04 15:42:39 +03:00
- name : Build
run : |
bin/release/release.sh
2022-10-04 16:31:38 +03:00
echo "PATH=:${PWD}/target/release:$PATH" >> "${GITHUB_ENV}"
2022-10-24 17:59:07 +03:00
- name : Install Python 3.8
uses : actions/setup-python@v4
with :
python-version : '3.8'
- name : Install Curl 7.68
uses : myci-actions/add-deb-repo@10
with :
repo : deb http://azure.archive.ubuntu.com/ubuntu/ focal main restricted
repo-name : focal
install : curl
2022-10-04 16:31:38 +03:00
- name : Test integ
run : |
bin/test/test_prerequisites.sh
bin/test/test_integ.sh
2022-10-05 16:59:17 +03:00
- name : Get version
run : |
VERSION=$(bin/release/get_version.sh)
echo "VERSION=${VERSION}" | tee -a "${GITHUB_ENV}"
2022-10-04 15:42:39 +03:00
- name : Create deb package
2022-10-05 16:59:17 +03:00
run : |
bin/release/man.sh
bin/release/create_deb_package.sh
2022-10-04 16:31:38 +03:00
- name : Install package
run : |
bin/release/install_deb_package.sh
echo "PATH=/tmp/hurl-deb-package/usr/bin:$PATH" >> "${GITHUB_ENV}"
- name : Test integ
run : |
bin/test/test_prerequisites.sh
bin/test/test_integ.sh
- name : Archive production artifacts
2022-05-17 11:04:53 +03:00
uses : actions/upload-artifact@v3
2021-11-25 12:25:00 +03:00
with :
2022-10-04 15:42:39 +03:00
name : release-deb-x64-artifacts
2021-01-30 00:30:13 +03:00
path : target/upload/*
2022-04-29 18:27:17 +03:00
release-macos-x64 :
2021-01-30 00:30:13 +03:00
runs-on : macos-latest
steps :
- name : Checkout repository
2022-05-17 11:04:49 +03:00
uses : actions/checkout@v3
2021-01-30 00:30:13 +03:00
- name : Install Rust
2022-10-04 15:42:39 +03:00
run : bin/install_rust_latest.sh
2022-11-02 18:13:43 +03:00
- name : Install Python 3.8
uses : actions/setup-python@v4
with :
python-version : '3.8'
2021-01-30 00:30:13 +03:00
- name : Build
run : |
2022-07-30 05:49:56 +03:00
bin/release/release.sh
2022-10-05 16:45:03 +03:00
echo "PATH=:${PWD}/target/release:$PATH" >> "${GITHUB_ENV}"
- name : Test integ
run : |
bin/test/test_prerequisites.sh
bin/test/test_integ.sh
2022-10-05 16:59:17 +03:00
- name : Get version
run : |
VERSION=$(bin/release/get_version.sh)
echo "VERSION=${VERSION}" | tee -a "${GITHUB_ENV}"
2022-10-05 16:45:03 +03:00
- name : Create generic macos package
2022-10-05 16:59:17 +03:00
run : |
bin/release/man.sh
bin/release/create_tarball.sh macos
2022-10-05 16:45:03 +03:00
- name : Install package
run : |
bin/release/install_generic_macos_package.sh
echo "PATH=/tmp/hurl-generic-macos:$PATH" >> "${GITHUB_ENV}"
- name : Test integ
run : |
bin/test/test_prerequisites.sh
bin/test/test_integ.sh
2021-01-30 00:30:13 +03:00
- name : Archive production artifacts
2022-05-17 11:04:53 +03:00
uses : actions/upload-artifact@v3
2021-01-30 00:30:13 +03:00
with :
2022-04-29 18:27:17 +03:00
name : release-macos-x64-artifacts
2021-01-30 00:30:13 +03:00
path : target/upload/*
2021-02-23 19:37:41 +03:00
2021-11-25 12:25:00 +03:00
release-windows-x64 :
2021-02-23 19:37:41 +03:00
runs-on : windows-latest
env :
VCPKGRS_DYNAMIC : 1
steps :
2022-09-28 18:41:43 +03:00
- name : Set git to use LF
run : |
git config --global core.autocrlf false
git config --global core.eol lf
2021-02-23 19:37:41 +03:00
- name : Checkout repository
2022-05-19 17:11:07 +03:00
uses : actions/checkout@v3
- uses : actions/cache@v3
with :
2022-09-23 10:21:44 +03:00
path : C:\vcpkg\installed
2022-05-21 20:40:41 +03:00
key : ${{ runner.os }}-release-windows-x64-${{ github.sha }}
restore-keys : ${{ runner.os }}-release-windows-x64-
2021-02-23 19:37:41 +03:00
- name : Install Rust
uses : actions-rs/toolchain@v1
with :
toolchain : stable
override : true
profile : minimal
- name : Environment
2022-10-04 15:42:39 +03:00
run : .\bin\environment.ps1
2022-09-28 18:41:43 +03:00
- name : Install prerequisites
run : .\bin\install_prerequisites_windows.ps1
- name : Build and test integ
2021-02-23 19:37:41 +03:00
run : |
2022-09-23 10:21:44 +03:00
.\bin\release\release.ps1
2022-09-28 18:41:43 +03:00
.\bin\test\test_prerequisites.ps1
.\bin\test\test_integ.ps1
2022-09-23 10:21:44 +03:00
- name : Create windows64 Zip package
2022-09-28 18:41:43 +03:00
run : .\bin\release\create_windows64_zip_package.ps1
- name : Install win64 zip and test integ
2022-09-23 10:21:44 +03:00
run : |
2022-09-28 18:41:43 +03:00
.\bin\release\install_windows64_zip_package.ps1
2022-10-04 16:31:38 +03:00
.\bin\test\test_prerequisites.ps1
2022-09-28 18:41:43 +03:00
.\bin\test\test_integ.ps1
2022-09-23 10:21:44 +03:00
- name : Create windows64 installer
2022-09-28 18:41:43 +03:00
run : .\bin\release\create_windows64_installer.ps1
- name : Install win64 installer and test integ
2021-02-23 19:37:41 +03:00
run : |
2022-09-28 18:41:43 +03:00
.\bin\release\install_windows64_installer.ps1
2022-10-04 16:31:38 +03:00
.\bin\test\test_prerequisites.ps1
2022-09-28 18:41:43 +03:00
.\bin\test\test_integ.ps1
2021-02-23 19:37:41 +03:00
- name : Archive production artifacts
2022-05-17 11:04:53 +03:00
uses : actions/upload-artifact@v3
2021-02-23 19:37:41 +03:00
with :
2021-11-25 12:25:00 +03:00
name : release-windows-x64-artifacts
2021-02-23 19:37:41 +03:00
path : |
2021-03-03 16:43:55 +03:00
.\target\win-package\hurl-*-installer.exe
2022-05-21 20:40:41 +03:00
.\target\win-package\hurl-*-win64.zip
2022-10-25 15:01:53 +03:00