Use alpine 3.21 for Dockerfile #6897
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/[email protected] | |
with: | |
ref: ${{ inputs.branch }} | |
- name: Install Prerequisites | |
run: bin/install_prerequisites_ubuntu.sh | |
- name: Install Python 3.11 | |
uses: actions/[email protected] | |
with: | |
python-version: '3.11' | |
- name: Install python3 venv | |
run: | | |
bin/install_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/[email protected] | |
if: ${{ always() }} | |
with: | |
name: tests-bench-artifacts | |
path: | | |
bench/server.log | |
coverage: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/[email protected] | |
with: | |
ref: ${{ inputs.branch }} | |
- name: Install Rust | |
run: bin/install_rust.sh | |
- name: Install Python 3.11 | |
uses: actions/[email protected] | |
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/[email protected] | |
with: | |
ref: ${{ inputs.branch }} | |
- name: Install Prerequisites | |
run: bin/install_prerequisites_ubuntu.sh | |
- name: Install Python 3.11 | |
uses: actions/[email protected] | |
with: | |
python-version: '3.11' | |
- name: Install python3 venv | |
run: | | |
bin/install_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/[email protected] | |
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/[email protected] | |
with: | |
ref: ${{ inputs.branch }} | |
- name: Install Prerequisites | |
run: bin/install_prerequisites_ubuntu.sh | |
- name: Install Python 3.11 | |
uses: actions/[email protected] | |
with: | |
python-version: '3.11' | |
- name: Install python3 venv | |
run: | | |
bin/install_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/[email protected] | |
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/[email protected] | |
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::Install python3 venv" | |
bin/install_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/[email protected] | |
if: ${{ always() }} | |
with: | |
name: tests-archlinux-x64-artifacts | |
path: | | |
./**/*.log | |
test-docker-fedora-x64: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/[email protected] | |
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::Install python3 venv" | |
bin/install_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/[email protected] | |
if: ${{ always() }} | |
with: | |
name: tests-fedora-x64-artifacts | |
path: | | |
./**/*.log | |
test-docker-alpine-x64: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/[email protected] | |
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::Install python3 venv" | |
bin/install_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/[email protected] | |
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/[email protected] | |
with: | |
ref: ${{ inputs.branch }} | |
- name: Install Prerequisites | |
run: | | |
bin/install_prerequisites_macos.sh | |
echo "PATH=$PATH" >> $GITHUB_ENV | |
- name: Install python3 venv | |
run: | | |
bin/install_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/[email protected] | |
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/[email protected] | |
with: | |
ref: ${{ inputs.branch }} | |
- name: Install Prerequisites | |
run: | | |
bin/install_prerequisites_macos.sh | |
echo "PATH=$PATH" >> $GITHUB_ENV | |
- name: Install python3 venv | |
run: | | |
bin/install_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/[email protected] | |
if: ${{ always() }} | |
with: | |
name: tests-macos-aarch64-${{ matrix.rust }}-artifacts | |
path: | | |
./**/*.log | |
test-windows-x64: | |
runs-on: windows-latest | |
strategy: | |
matrix: | |
rust: [stable] | |
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/[email protected] | |
with: | |
ref: ${{ inputs.branch }} | |
- name: Install Rust | |
run: | | |
.\bin\install_rust.ps1 | |
- name: Manage vcpkg cache | |
uses: actions/[email protected] | |
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/[email protected] | |
with: | |
python-version: '3.11' | |
- name: Environment | |
run: .\bin\environment.ps1 | |
- name: Build and test | |
run: .\bin\test\test.ps1 | |
- name: Archive production artifacts | |
uses: actions/[email protected] | |
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/[email protected] | |
with: | |
ref: ${{ inputs.branch }} | |
- name: Setup wsl Ubuntu | |
uses: Vampire/[email protected] | |
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/install_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/[email protected] | |
if: ${{ always() }} | |
with: | |
name: tests-win64-wsl2-artifacts | |
path: | | |
./**/*.log |