name: release on: [pull_request] env: CARGO_TERM_COLOR: always jobs: release-generic-linux-x64: runs-on: ubuntu-18.04 steps: - name: Checkout repository uses: actions/checkout@v3 - 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: Install run: | bin/install_prerequisites_ubuntu.sh bin/install_rust_latest.sh - name: Get version run: | VERSION=$(bin/release/get_version.sh) echo "VERSION=${VERSION}" | tee -a "${GITHUB_ENV}" - name: Build run: | bin/release/man.sh bin/release/release.sh echo "PATH=:${PWD}/target/release:$PATH" >> "${GITHUB_ENV}" - name: Test integ run: | bin/test/test_prerequisites.sh bin/test/test_integ.sh - name: Create generic linux package run: bin/release/create_tarball.sh linux - 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 - name: Archive production artifacts uses: actions/upload-artifact@v3 with: name: release-generic-linux-x64-artifacts path: target/upload/* release-deb-x64: runs-on: ubuntu-18.04 steps: - name: Checkout repository uses: actions/checkout@v3 - 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: Install run: | bin/install_prerequisites_ubuntu.sh bin/install_rust_latest.sh - name: Environment run: bin/environment.sh - name: Get version run: | VERSION=$(bin/release/get_version.sh) echo "VERSION=${VERSION}" | tee -a "${GITHUB_ENV}" - name: Build run: | bin/release/man.sh bin/release/release.sh echo "PATH=:${PWD}/target/release:$PATH" >> "${GITHUB_ENV}" - name: Test integ run: | bin/test/test_prerequisites.sh bin/test/test_integ.sh - name: Create deb package run: bin/release/create_deb_package.sh - 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 uses: actions/upload-artifact@v3 with: name: release-deb-x64-artifacts path: target/upload/* release-macos-x64: runs-on: macos-latest steps: - name: Checkout repository uses: actions/checkout@v3 - name: Install Rust run: bin/install_rust_latest.sh - name: Get version run: | VERSION=$(bin/release/get_version.sh) echo "VERSION=${VERSION}" | tee -a "${GITHUB_ENV}" - name: Build run: | bin/release/man.sh bin/release/release.sh bin/release/create_tarball.sh macos - name: Archive production artifacts uses: actions/upload-artifact@v3 with: name: release-macos-x64-artifacts path: target/upload/* release-windows-x64: runs-on: windows-latest env: VCPKGRS_DYNAMIC: 1 steps: - name: Set git to use LF run: | git config --global core.autocrlf false git config --global core.eol lf - name: Checkout repository uses: actions/checkout@v3 - uses: actions/cache@v3 with: path: C:\vcpkg\installed key: ${{ runner.os }}-release-windows-x64-${{ github.sha }} restore-keys: ${{ runner.os }}-release-windows-x64- - name: Install Rust uses: actions-rs/toolchain@v1 with: toolchain: stable override: true profile: minimal - name: Environment run: .\bin\environment.ps1 - name: Install prerequisites run: .\bin\install_prerequisites_windows.ps1 - name: Build and test integ run: | .\bin\release\release.ps1 .\bin\test\test_prerequisites.ps1 .\bin\test\test_integ.ps1 - name: Create windows64 Zip package run: .\bin\release\create_windows64_zip_package.ps1 - name: Install win64 zip and test integ run: | .\bin\release\install_windows64_zip_package.ps1 .\bin\test\test_prerequisites.ps1 .\bin\test\test_integ.ps1 - name: Create windows64 installer run: .\bin\release\create_windows64_installer.ps1 - name: Install win64 installer and test integ run: | .\bin\release\install_windows64_installer.ps1 .\bin\test\test_prerequisites.ps1 .\bin\test\test_integ.ps1 - name: Archive production artifacts uses: actions/upload-artifact@v3 with: name: release-windows-x64-artifacts path: | .\target\win-package\hurl-*-installer.exe .\target\win-package\hurl-*-win64.zip