Add variables to header_option integration test #7095
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: test | |
on: | |
pull_request: | |
workflow_dispatch: | |
workflow_call: | |
inputs: | |
branch: | |
description: "ref branch for this workflow" | |
default: "master" | |
required: true | |
type: string | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
benchsuite: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4.2.2 | |
with: | |
ref: ${{ inputs.branch }} | |
- name: Install Prerequisites | |
run: bin/install_prerequisites_ubuntu.sh | |
- name: Install Python 3.11 | |
uses: actions/setup-python@v5.3.0 | |
with: | |
python-version: '3.11' | |
- name: Activate python3 venv | |
run: | | |
bin/activate_python3_venv.sh | |
export PATH="/tmp/hurl-python3-venv/bin:$PATH" | |
- name: Install Rust | |
run: bin/install_rust.sh | |
- name: Environment | |
run: bin/environment.sh | |
- name: Build | |
run: | | |
bin/release/release.sh | |
echo "PATH=${PWD}/target/release:$PATH" >> "${GITHUB_ENV}" | |
- name: Archive artifacts | |
uses: actions/upload-artifact@v4.6.0 | |
if: ${{ always() }} | |
with: | |
name: tests-bench-artifacts | |
path: | | |
bench/server.log | |
coverage: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4.2.2 | |
with: | |
ref: ${{ inputs.branch }} | |
- name: Install Rust | |
run: bin/install_rust.sh | |
- name: Install Python 3.11 | |
uses: actions/setup-python@v5.3.0 | |
with: | |
python-version: '3.11' | |
- name: Environment | |
run: bin/environment.sh | |
- name: Coverage | |
run: bin/check/coverage.sh | |
test-ubuntu-x64-latest: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
rust: [stable] | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4.2.2 | |
with: | |
ref: ${{ inputs.branch }} | |
- name: Install Prerequisites | |
run: bin/install_prerequisites_ubuntu.sh | |
- name: Install Python 3.11 | |
uses: actions/setup-python@v5.3.0 | |
with: | |
python-version: '3.11' | |
- name: Activate python3 venv | |
run: | | |
bin/activate_python3_venv.sh | |
export PATH="/tmp/hurl-python3-venv/bin:$PATH" | |
echo "PATH=$PATH" >> $GITHUB_ENV | |
- name: Install Rust | |
run: bin/install_rust.sh | |
- name: Environment | |
run: bin/environment.sh | |
- name: Test Prerequisites | |
run: bin/test/test_prerequisites.sh | |
- name: Tests units | |
run: | | |
bin/test/test_unit.sh | |
bin/release/release.sh | |
echo "PATH=${PWD}/target/release:$PATH" >> "${GITHUB_ENV}" | |
- name: Integration Tests | |
run: bin/test/test_integ.sh | |
- name: Archive production artifacts | |
uses: actions/upload-artifact@v4.6.0 | |
if: ${{ always() }} | |
with: | |
name: tests-ubuntu-latest-${{ matrix.rust }}-artifacts | |
path: | | |
./**/*.log | |
./**/report/*.json | |
./**/report/*.xml | |
test-ubuntu-x64-20-04: | |
runs-on: ubuntu-20.04 | |
strategy: | |
matrix: | |
rust: [stable] | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4.2.2 | |
with: | |
ref: ${{ inputs.branch }} | |
- name: Install Prerequisites | |
run: bin/install_prerequisites_ubuntu.sh | |
- name: Install Python 3.11 | |
uses: actions/setup-python@v5.3.0 | |
with: | |
python-version: '3.11' | |
- name: Activate python3 venv | |
run: | | |
bin/activate_python3_venv.sh | |
export PATH="/tmp/hurl-python3-venv/bin:$PATH" | |
echo "PATH=$PATH" >> $GITHUB_ENV | |
- name: Install Rust | |
run: bin/install_rust.sh | |
- name: Environment | |
run: bin/environment.sh | |
- name: Test Prerequisites | |
run: bin/test/test_prerequisites.sh | |
- name: Tests units | |
run: | | |
bin/test/test_unit.sh | |
bin/release/release.sh | |
echo "PATH=${PWD}/target/release:$PATH" >> "${GITHUB_ENV}" | |
- name: Integration Tests | |
run: bin/test/test_integ.sh | |
- name: Archive production artifacts | |
uses: actions/upload-artifact@v4.6.0 | |
if: ${{ always() }} | |
with: | |
name: tests-ubuntu-20.04-${{ matrix.rust }}-artifacts | |
path: | | |
./**/*.log | |
./**/report/*.json | |
./**/report/*.xml | |
test-docker-archlinux-x64: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4.2.2 | |
with: | |
ref: ${{ inputs.branch }} | |
- name: Build, Test units and Integration tests | |
uses: addnab/docker-run-action@v3 | |
with: | |
image: archlinux | |
options: --volume ${{ github.workspace }}:/work --workdir /work --privileged --env CARGO_TERM_COLOR=always | |
run: | | |
set -e | |
echo "::group::Install Prerequisites" | |
bin/install_prerequisites_archlinux.sh | |
echo "::endgroup::" | |
echo "::group::Activate python3 venv" | |
bin/activate_python3_venv.sh | |
export PATH=/tmp/hurl-python3-venv/bin:$PATH | |
which python3 | |
python3 --version | |
pip --version | |
echo "::endgroup::" | |
echo "::group::Install Rust" | |
bin/install_rust.sh | |
echo "::endgroup::" | |
echo "::group::Environment" | |
bin/environment.sh | |
echo "::endgroup::" | |
echo "::group::Tests" | |
bin/test/test.sh | |
echo "::endgroup::" | |
- name: Archive production artifacts | |
uses: actions/upload-artifact@v4.6.0 | |
if: ${{ always() }} | |
with: | |
name: tests-archlinux-x64-artifacts | |
path: | | |
./**/*.log | |
test-docker-fedora-x64: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4.2.2 | |
with: | |
ref: ${{ inputs.branch }} | |
- name: Build, Test units and Integration tests | |
uses: addnab/docker-run-action@v3 | |
with: | |
image: fedora | |
options: --volume ${{ github.workspace }}:/work --workdir /work --privileged --env CARGO_TERM_COLOR=always | |
run: | | |
set -e | |
echo "::group::Disable PAM for sudo with root and no tty" | |
bin/disable_pam_for_sudo.sh | |
echo "::endgroup::" | |
echo "::group::Install Prerequisites" | |
bin/install_prerequisites_fedora.sh | |
echo "::endgroup::" | |
echo "::group::Activate python3 venv" | |
bin/activate_python3_venv.sh | |
export PATH=/tmp/hurl-python3-venv/bin:$PATH | |
which python3 | |
python3 --version | |
pip --version | |
echo "::endgroup::" | |
echo "::group::Install Rust" | |
bin/install_rust.sh | |
echo "::endgroup::" | |
echo "::group::Environment" | |
bin/environment.sh | |
echo "::endgroup::" | |
echo "::group::Tests" | |
bin/test/test.sh | |
echo "::endgroup::" | |
- name: find artifacts | |
run: | | |
pwd | |
find . -name "*.log" | |
- name: Archive production artifacts | |
uses: actions/upload-artifact@v4.6.0 | |
if: ${{ always() }} | |
with: | |
name: tests-fedora-x64-artifacts | |
path: | | |
./**/*.log | |
test-docker-alpine-x64: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4.2.2 | |
with: | |
ref: ${{ inputs.branch }} | |
- name: Build, Test units and Integration tests | |
uses: addnab/docker-run-action@v3 | |
with: | |
image: alpine | |
options: --volume ${{ github.workspace }}:/work --workdir /work --privileged --env CARGO_TERM_COLOR=always | |
run: | | |
set -e | |
apk update --quiet | |
apk add --quiet bash | |
echo "::group::Install Prerequisites" | |
bin/install_prerequisites_alpine.sh | |
echo "::endgroup::" | |
echo "::group::Activate python3 venv" | |
bin/activate_python3_venv.sh | |
export PATH=/tmp/hurl-python3-venv/bin:$PATH | |
which python3 | |
python3 --version | |
pip --version | |
echo "::endgroup::" | |
echo "::group::Install Rust" | |
bin/install_rust.sh | |
echo "::endgroup::" | |
echo "::group::Environment" | |
bin/environment.sh | |
echo "::endgroup::" | |
echo "::group::Tests" | |
bin/test/test.sh | |
echo "::endgroup::" | |
- name: find artifacts | |
run: | | |
pwd | |
find . -name "*.log" | |
- name: Archive production artifacts | |
uses: actions/upload-artifact@v4.6.0 | |
if: ${{ always() }} | |
with: | |
name: tests-alpine-x64-artifacts | |
path: | | |
./**/*.log | |
test-macos-x64: | |
runs-on: macos-13 | |
strategy: | |
matrix: | |
rust: [stable] | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4.2.2 | |
with: | |
ref: ${{ inputs.branch }} | |
- name: Install Prerequisites | |
run: | | |
bin/install_prerequisites_macos.sh | |
echo "PATH=$PATH" >> $GITHUB_ENV | |
- name: Activate python3 venv | |
run: | | |
bin/activate_python3_venv.sh | |
export PATH="/tmp/hurl-python3-venv/bin:$PATH" | |
echo "PATH=$PATH" >> $GITHUB_ENV | |
which python3 | |
python3 --version | |
pip --version | |
- name: Install Rust | |
run: bin/install_rust.sh | |
- name: Environment | |
run: bin/environment.sh | |
- name: Test Prerequisites | |
run: | | |
bin/test/test_prerequisites.sh | |
- name: Tests units | |
run: | | |
bin/test/test_unit.sh | |
bin/release/release.sh | |
echo "PATH=${PWD}/target/release:$PATH" >> "${GITHUB_ENV}" | |
- name: Integration Tests | |
run: bin/test/test_integ.sh | |
- name: find artifacts | |
run: | | |
pwd | |
find . -name "*.log" | |
- name: Archive production artifacts | |
uses: actions/upload-artifact@v4.6.0 | |
if: ${{ always() }} | |
with: | |
name: tests-macos-x64-${{ matrix.rust }}-artifacts | |
path: | | |
./**/*.log | |
test-macos-aarch64: | |
runs-on: macos-14 | |
strategy: | |
matrix: | |
rust: [stable] | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4.2.2 | |
with: | |
ref: ${{ inputs.branch }} | |
- name: Install Prerequisites | |
run: | | |
bin/install_prerequisites_macos.sh | |
echo "PATH=$PATH" >> $GITHUB_ENV | |
- name: Activate python3 venv | |
run: | | |
bin/activate_python3_venv.sh | |
export PATH="/tmp/hurl-python3-venv/bin:$PATH" | |
echo "PATH=$PATH" >> $GITHUB_ENV | |
which python3 | |
python3 --version | |
pip --version | |
- name: Install Rust | |
run: bin/install_rust.sh | |
- name: Environment | |
run: bin/environment.sh | |
- name: Test Prerequisites | |
run: | | |
bin/test/test_prerequisites.sh | |
- name: Tests units | |
run: | | |
bin/test/test_unit.sh | |
bin/release/release.sh | |
echo "PATH=${PWD}/target/release:$PATH" >> "${GITHUB_ENV}" | |
- name: Integration Tests | |
run: bin/test/test_integ.sh | |
- name: find artifacts | |
run: | | |
pwd | |
find . -name "*.log" | |
- name: Archive production artifacts | |
uses: actions/upload-artifact@v4.6.0 | |
if: ${{ always() }} | |
with: | |
name: tests-macos-aarch64-${{ matrix.rust }}-artifacts | |
path: | | |
./**/*.log | |
test-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@v4.2.2 | |
with: | |
ref: ${{ inputs.branch }} | |
- name: Install Rust | |
run: | | |
.\bin\install_rust.ps1 | |
- name: Manage vcpkg cache | |
uses: actions/cache@v4.2.0 | |
with: | |
path: C:\vcpkg | |
key: ${{ runner.os }}-test-windows-x64 | |
- name: Install prerequisites | |
run: .\bin\install_prerequisites_windows.ps1 | |
- name: Install Python 3.11 | |
uses: actions/setup-python@v5.3.0 | |
with: | |
python-version: '3.11' | |
- name: Environment | |
run: | | |
.\bin\activate_python3_venv.ps1 | |
.\bin\environment.ps1 | |
- name: Build and test | |
run: | | |
.\bin\activate_python3_venv.ps1 | |
.\bin\test\test.ps1 | |
- name: Archive production artifacts | |
uses: actions/upload-artifact@v4.6.0 | |
if: ${{ always() }} | |
with: | |
name: tests-win64-${{ matrix.rust }}-artifacts | |
path: | | |
./**/*.log | |
test-windows-wsl2-x64: | |
runs-on: windows-latest | |
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@v4.2.2 | |
with: | |
ref: ${{ inputs.branch }} | |
- name: Setup wsl Ubuntu | |
uses: Vampire/setup-wsl@v4.1.0 | |
with: | |
distribution: Ubuntu-22.04 | |
wsl-version: 2 | |
wsl-conf: | | |
[interop] | |
appendWindowsPath=false | |
- name: List wsl distribution | |
run: | | |
wsl --list --verbose --all | |
- shell: wsl-bash {0} | |
run: | | |
# Build, Test units and Integration tests | |
set -e | |
echo "::group::Move to linux compatible workspace" | |
win_workspace="${{ github.workspace }}" | |
wsl_workspace="/mnt/$(echo "${win_workspace}" | tr -d ':' | tr '\\' '/' | tr '[:upper:]' '[:lower:]')" | |
linux_workspace="/tmp/hurl" | |
cp -frp "${wsl_workspace}" "${linux_workspace}" | |
cd "${linux_workspace}" | |
pwd | |
ls | |
echo "::endgroup::" | |
echo "::group::Install Prerequisites" | |
bin/install_prerequisites_ubuntu.sh | |
echo "::endgroup::" | |
echo "::group::Install python 3.11" | |
bin/install_pythonx_for_ubuntu.sh 11 | |
bin/activate_python3_venv.sh | |
export PATH=/tmp/hurl-python3-venv/bin:$PATH | |
echo "::endgroup::" | |
echo "::group::Install tests integ prerequisistes" | |
bin/test/test_prerequisites.sh | |
echo "::endgroup::" | |
echo "::group::Install Rust" | |
bin/install_rust.sh | |
echo "::endgroup::" | |
echo "::group::Environment" | |
bin/environment.sh | |
echo "::endgroup::" | |
echo "::group::Tests units" | |
bin/test/test_unit.sh | |
echo "::endgroup::" | |
echo "::group::Build" | |
bin/release/release.sh | |
export PATH="${PWD}/target/release:$PATH" | |
echo "::group::Tests integ" | |
bin/test/test_integ.sh | |
echo "::endgroup::" | |
- name: Archive production artifacts | |
uses: actions/upload-artifact@v4.6.0 | |
if: ${{ always() }} | |
with: | |
name: tests-win64-wsl2-artifacts | |
path: | | |
./**/*.log |