name: package

on:
  pull_request:
  workflow_dispatch:
  workflow_call:
    inputs:
      branch:
        description: "ref branch for this workflow"
        default: "master"
        required: true
        type: string

permissions: {}

concurrency:
  group: ${{ github.workflow }}-${{ github.ref_name }}
  cancel-in-progress: true

env:
  CARGO_TERM_COLOR: always

jobs:
  package-generic-linux-x64:
    runs-on: ubuntu-22.04
    steps:
    - name: Checkout repository
      uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2
      with:
        persist-credentials: false
        ref: ${{ inputs.branch }}
    - name: Install prerequisites
      run: bin/install_prerequisites_ubuntu.sh
    - name: Install Python 3.11
      uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 #v6.2.0
      with:
        python-version: '3.11'
    - name: Activate python3 venv
      run: |
        bin/activate_python3_venv.sh
        echo "/tmp/hurl-python3-venv/bin" >> "${GITHUB_PATH}"
    - name: Python infos
      run: |
        which python3
        python3 --version
        pip --version
    - name : Environment
      run: bin/environment.sh
    - name: Install rust
      run: bin/install_rust.sh
    - name: Build
      run: |
        bin/release/release.sh
        echo "${PWD}/target/release" >> "${GITHUB_PATH}"
    - name: Get version
      run: |
        VERSION=$(bin/release/get_version.sh)
        echo "VERSION=${VERSION}" | tee -a "${GITHUB_ENV}"
    - name: Create generic linux package
      run: |
        bin/release/man.sh
        bin/release/create_tarball.sh
    - name: Archive production artifacts
      uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a #v7.0.1
      with:
        name: release-generic-linux-x64-artifacts
        path: target/upload/*

  test-generic-linux-on-docker-ubuntu-x64:
    needs: package-generic-linux-x64
    runs-on: ubuntu-latest
    container:
      image: ubuntu:22.04
    steps:
    - name: Checkout repository
      uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2
      with:
        persist-credentials: false
        ref: ${{ inputs.branch }}
    - name: Retrieve release-generic-linux-x64-artifacts
      uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c #v8.0.1
      with:
        name: release-generic-linux-x64-artifacts
        path: target/upload
    - name: Install Prerequisites
      run: bin/install_prerequisites_ubuntu.sh
    - name: Install python 3.11
      run: |
        bin/install_pythonx_for_ubuntu.sh 11
        bin/activate_python3_venv.sh
        echo "/tmp/hurl-python3-venv/bin" >> "${GITHUB_PATH}"
    - name: Install Rust
      run: |
        bin/install_rust.sh
        echo "$HOME/.cargo/bin" >> "${GITHUB_PATH}"
    - name: Environment
      run: bin/environment.sh
    - name: Install generic linux package
      run: |
        bin/release/install_generic_linux_package.sh
        echo "/tmp/hurl-generic-linux/bin" >> "${GITHUB_PATH}"
    - name: Install tests integ prerequisites
      run: bin/test/test_prerequisites.sh
    - name: Tests
      run: bin/test/test_integ.sh
    - name: Archive production artifacts
      uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a #v7.0.1
      if: success() || failure()
      with:
        name: test-generic-linux-package-docker-ubuntu-x64-artifacts
        path: |
          ./**/*.log

  test-generic-linux-on-docker-debian-x64:
    needs: package-generic-linux-x64
    runs-on: ubuntu-latest
    container:
      image: debian
    steps:
    - name: Checkout repository
      uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2
      with:
        persist-credentials: false
        ref: ${{ inputs.branch }}
    - name: Retrieve release-generic-linux-x64-artifacts
      uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c #v8.0.1
      with:
        name: release-generic-linux-x64-artifacts
        path: target/upload
    - name: Install system prerequisites
      run: bin/install_prerequisites_debian.sh
    - name: Activate python3 venv
      run: |
        bin/activate_python3_venv.sh
        echo "/tmp/hurl-python3-venv/bin" >> "${GITHUB_PATH}"
    - name: Python infos
      run: |
        which python3
        python3 --version
        pip --version
    - name: Environment
      run: bin/environment.sh
    - name: Install generic linux package
      run: |
        bin/release/install_generic_linux_package.sh
        echo "/tmp/hurl-generic-linux/bin" >> "${GITHUB_PATH}"
    - name: Install tests prerequisites
      run: bin/test/test_prerequisites.sh
    - name: Tests
      run: bin/test/test_integ.sh
    - name: Archive production artifacts
      uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a #v7.0.1
      if: success() || failure()
      with:
        name: test-generic-linux-package-docker-debian-x64-artifacts
        path: |
          ./**/*.log

  # Revert to libxml 2.13.8 that has a soname libxml2.so.2 required by our Ubuntu Hurl build (using `libxml2-legacy` package).
  # Starting from libxml 2.14, <https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.14.0>:
  #
  # > Binary compatibility is restricted to versions 2.14 or newer. On ELF systems, the soname was bumped from
  # > libxml2.so.2 to libxml2.so.16.
  #
  # We downgrade when testing the Hurl generic package, not when we're building the Hurl package on Arch Linux as the soname
  # problem arise only with the generic package.
  test-generic-linux-on-docker-archlinux-x64:
    needs: package-generic-linux-x64
    runs-on: ubuntu-latest
    container:
      image: archlinux
    steps:
    - name: Checkout repository
      uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2
      with:
        persist-credentials: false
        ref: ${{ inputs.branch }}
    - name: Retrieve release-generic-linux-x64-artifacts
      uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c #v8.0.1
      with:
        name: release-generic-linux-x64-artifacts
        path: target/upload
    - name: Install system prerequisites
      run: bin/install_prerequisites_archlinux.sh
    - name: Downgrade libxml2
      run: pacman --sync --noconfirm libxml2-legacy
    - name: Activate python3 venv
      run: |
        bin/activate_python3_venv.sh
        echo "/tmp/hurl-python3-venv/bin" >> "${GITHUB_PATH}"
    - name: Python infos
      run: |
        which python3
        python3 --version
        pip --version
    - name: Environment
      run: bin/environment.sh
    - name: Install generic linux package
      run: |
        bin/release/install_generic_linux_package.sh
        echo "/tmp/hurl-generic-linux/bin" >> "${GITHUB_PATH}"
    - name: Install tests prerequisites
      run: bin/test/test_prerequisites.sh
    - name: Tests
      run: bin/test/test_integ.sh
    - name: Archive production artifacts
      uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a #v7.0.1
      if: success() || failure()
      with:
        name: test-generic-linux-package-docker-archlinux-x64-artifacts
        path: |
          ./**/*.log

  test-generic-linux-on-docker-fedora-x64:
    needs: package-generic-linux-x64
    runs-on: ubuntu-latest
    container:
      image: fedora
    steps:
    - name: Checkout repository
      uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2
      with:
        persist-credentials: false
        ref: ${{ inputs.branch }}
    - name: Retrieve release-generic-linux-x64-artifacts
      uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c #v8.0.1
      with:
        name: release-generic-linux-x64-artifacts
        path: target/upload
    - name: Disable PAM for sudo
      run: bin/disable_pam_for_sudo.sh
    - name: Install system prerequisites
      run: bin/install_prerequisites_fedora.sh
    - name: Activate python3 venv
      run: |
        bin/activate_python3_venv.sh
        echo "/tmp/hurl-python3-venv/bin" >> "${GITHUB_PATH}"
    - name: Python infos
      run: |
        which python3
        python3 --version
        pip --version
    - name: Environment
      run: bin/environment.sh
    - name: Install generic linux package
      run: |
        bin/release/install_generic_linux_package.sh
        echo "/tmp/hurl-generic-linux/bin" >> "${GITHUB_PATH}"
    - name: Install tests prerequisites
      run: bin/test/test_prerequisites.sh
    - name: Tests
      run: bin/test/test_integ.sh
    - name: Archive production artifacts
      uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a #v7.0.1
      if: success() || failure()
      with:
        name: test-generic-linux-package-docker-fedora-x64-artifacts
        path: |
          ./**/*.log

  test-dockerfile-x64:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout repository
      uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2
      with:
        persist-credentials: false
        ref: ${{ inputs.branch }}
    - name: Set up Docker Buildx
      uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd #v4.0.0
    - name: Build docker images
      run: |
          sudo docker buildx create --name mybuilder
          sudo docker buildx use mybuilder
          sudo docker buildx inspect --bootstrap
          sudo docker buildx ls
          docker_build_date=$(date "+%Y-%m-%d %H-%M-%S")
          docker_build_tag=$(grep ^version packages/hurl/Cargo.toml | cut --delimiter '=' --field 2 | tr -d '" ')
          sudo docker buildx build \
            --progress=plain \
            --file contrib/docker/Dockerfile \
            --platform linux/amd64 \
            --build-arg docker_build_date="${docker_build_date}" \
            --build-arg docker_build_tag="${docker_build_tag}" \
            --tag local/hurl:amd64 \
            --load .
          sudo docker inspect local/hurl:amd64
          sudo docker run --rm local/hurl:amd64 --version
    - name: Integration tests
      env:
        CARGO_TERM_COLOR: always
      run: |
          set -e
          cat /etc/os-release
          sudo docker run --rm \
            --volume "${{ github.workspace }}:/work" \
            --workdir /work \
            --privileged \
            --env CARGO_TERM_COLOR=always \
            --entrypoint sh \
            --platform=linux/amd64 \
            local/hurl:amd64 \
            -c '
              set -e
    
              apk add sudo bash curl python3 py3-pip
    
    
              bash bin/install_prerequisites_alpine.sh
    
    
              bash bin/activate_python3_venv.sh
              export PATH=/tmp/hurl-python3-venv/bin:$PATH
              which python3
              python3 --version
              pip --version
              bash bin/test/test_prerequisites.sh
    
    
              bash bin/environment.sh
    
    
              bash bin/test/test_integ.sh
    
            '
    - name: Find artifacts
      run: |
        pwd
        find . -name "*.log"
    - name: Archive production artifacts
      uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a #v7.0.1
      if: success() || failure()
      with:
        name: test-docker-amd64-package-artifacts
        path: |
          ./**/*.log

  package-generic-linux-aarch64:
    runs-on: ubuntu-22.04-arm
    steps:
    - name: Checkout repository
      uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2
      with:
        persist-credentials: false
        ref: ${{ inputs.branch }}
    - name: Install prerequisites
      run: bin/install_prerequisites_ubuntu.sh
    - name: Install Python 3.11
      uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 #v6.2.0
      with:
        python-version: '3.11'
    - name: Activate python3 venv
      run: |
        bin/activate_python3_venv.sh
        echo "/tmp/hurl-python3-venv/bin" >> "${GITHUB_PATH}"
    - name: Python infos
      run: |
        which python3
        python3 --version
        pip --version
    - name : Environment
      run: bin/environment.sh
    - name: Install rust
      run: bin/install_rust.sh
    - name: Build
      run: |
        bin/release/release.sh
        echo "${PWD}/target/release" >> "${GITHUB_PATH}"
    - name: Get version
      run: |
        VERSION=$(bin/release/get_version.sh)
        echo "VERSION=${VERSION}" | tee -a "${GITHUB_ENV}"
    - name: Create generic linux package
      run: |
        bin/release/man.sh
        bin/release/create_tarball.sh
    - name: Install generic linux package
      run: |
        bin/release/install_generic_linux_package.sh
        export PATH="/tmp/hurl-generic-linux/bin:$PATH"
    - name: Test integ
      run: |
        bin/test/test_prerequisites.sh
        bin/test/test_integ.sh
    - name: Archive production artifacts
      uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a #v7.0.1
      with:
        name: release-generic-linux-aarch64-artifacts
        path: target/upload/*

  package-deb-x64:
    runs-on: ubuntu-22.04
    steps:
    - name: Checkout repository
      uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2
      with:
        persist-credentials: false
        ref: ${{ inputs.branch }}
    - name: Install Prerequisites
      run: bin/install_prerequisites_ubuntu.sh
    - name: Install Python 3.11
      uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 #v6.2.0
      with:
        python-version: '3.11'
    - name: Activate python3 venv
      run: |
        bin/activate_python3_venv.sh
        echo "/tmp/hurl-python3-venv/bin" >> "${GITHUB_PATH}"
    - name: Python infos
      run: |
        which python3
        python3 --version
        pip --version
    - name: Install Rust
      run: bin/install_rust.sh
    - name: Environment
      run: bin/environment.sh
    - name: Build
      run: |
        bin/release/release.sh
        echo "${PWD}/target/release" >> "${GITHUB_PATH}"
    - name: Get version
      run: |
        VERSION=$(bin/release/get_version.sh)
        echo "VERSION=${VERSION}" | tee -a "${GITHUB_ENV}"
    - name: Create deb package
      run: |
        bin/release/man.sh
        bin/release/create_deb_package.sh
    - name: Install package
      run: |
        bin/release/install_deb_package.sh
        echo "/tmp/hurl-deb-package/usr/bin" >> "${GITHUB_PATH}"
    - name: Test integ
      run: |
        bin/test/test_prerequisites.sh
        bin/test/test_integ.sh
    - name: Archive production artifacts
      uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a #v7.0.1
      with:
        name: release-deb-x64-artifacts
        path: target/upload/*

  package-deb-aarch64:
    runs-on: ubuntu-22.04-arm
    steps:
    - name: Checkout repository
      uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2
      with:
        persist-credentials: false
        ref: ${{ inputs.branch }}
    - name: Install Prerequisites
      run: bin/install_prerequisites_ubuntu.sh
    - name: Install Python 3.11
      uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 #v6.2.0
      with:
        python-version: '3.11'
    - name: Activate python3 venv
      run: |
        bin/activate_python3_venv.sh
        echo "/tmp/hurl-python3-venv/bin" >> "${GITHUB_PATH}"
    - name: Python infos
      run: |
        which python3
        python3 --version
        pip --version
    - name: Install Rust
      run: bin/install_rust.sh
    - name: Environment
      run: bin/environment.sh
    - name: Build
      run: |
        bin/release/release.sh
        echo "${PWD}/target/release" >> "${GITHUB_PATH}"
    - name: Get version
      run: |
        VERSION=$(bin/release/get_version.sh)
        echo "VERSION=${VERSION}" | tee -a "${GITHUB_ENV}"
    - name: Create deb package
      run: |
        bin/release/man.sh
        bin/release/create_deb_package.sh
    - name: Install package
      run: |
        bin/release/install_deb_package.sh
        echo "/tmp/hurl-deb-package/usr/bin" >> "${GITHUB_PATH}"
    - name: Test integ
      run: |
        bin/test/test_prerequisites.sh
        bin/test/test_integ.sh
    - name: Archive production artifacts
      uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a #v7.0.1
      with:
        name: release-deb-aarch64-artifacts
        path: target/upload/*

  package-macos-x64:
    timeout-minutes: 60
    runs-on: macos-15-intel
    steps:
    - name: Checkout repository
      uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2
      with:
        persist-credentials: false
        ref: ${{ inputs.branch }}
    - name: Install Prerequisites
      run: bin/install_prerequisites_macos.sh
    - name: Activate python3 venv
      run: |
        bin/activate_python3_venv.sh
        echo "/tmp/hurl-python3-venv/bin" >> "${GITHUB_PATH}"
    - name: Python infos
      run: |
        which python3
        python3 --version
        pip --version
    - name: Install Rust
      run: bin/install_rust.sh
    - name: Environment
      run: bin/environment.sh
    - name: Build
      run: |
        bin/release/release.sh
        echo "${PWD}/target/release" >> "${GITHUB_PATH}"
    - name: Get version
      run: |
        VERSION=$(bin/release/get_version.sh)
        echo "VERSION=${VERSION}" | tee -a "${GITHUB_ENV}"
    - name: Create generic macos package
      run: |
        bin/release/man.sh
        bin/release/create_tarball.sh
    - name: Install package
      run: |
        bin/release/install_generic_macos_package.sh
        echo "/tmp/hurl-generic-macos/bin" >> "${GITHUB_PATH}"
    - name: Test integ
      run: |
        bin/test/test_prerequisites.sh
        bin/test/test_integ.sh
    - name: Archive production artifacts
      uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a #v7.0.1
      with:
        name: release-macos-x64-artifacts
        path: target/upload/*

  package-macos-aarch64:
    timeout-minutes: 60
    runs-on: macos-15
    steps:
    - name: Checkout repository
      uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2
      with:
        persist-credentials: false
        ref: ${{ inputs.branch }}
    - name: Install Prerequisites
      run: bin/install_prerequisites_macos.sh
    - name: Activate python3 venv
      run: |
        bin/activate_python3_venv.sh
        echo "/tmp/hurl-python3-venv/bin" >> "${GITHUB_PATH}"
    - name: Python infos
      run: |
        which python3
        python3 --version
        pip --version
    - name: Install Rust
      run: bin/install_rust.sh
    - name: Environment
      run: bin/environment.sh
    - name: Build
      run: |
        bin/release/release.sh
        echo "${PWD}/target/release" >> "${GITHUB_PATH}"
    - name: Get version
      run: |
        VERSION=$(bin/release/get_version.sh)
        echo "VERSION=${VERSION}" | tee -a "${GITHUB_ENV}"
    - name: Create generic macos package
      run: |
        bin/release/man.sh
        bin/release/create_tarball.sh
    - name: Install package
      run: |
        bin/release/install_generic_macos_package.sh
        echo "/tmp/hurl-generic-macos/bin" >> "${GITHUB_PATH}"
    - name: Test integ
      run: |
        bin/test/test_prerequisites.sh
        bin/test/test_integ.sh
    - name: Archive production artifacts
      uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a #v7.0.1
      with:
        name: release-macos-aarch64-artifacts
        path: target/upload/*

  package-windows-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@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2
      with:
        persist-credentials: false
        ref: ${{ inputs.branch }}
    - name: Install Rust
      run: |
        .\bin\install_rust.ps1
    - name: Manage vcpkg cache
      uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae #v5.0.5
      with:
        path: C:\vcpkg
        key: ${{ runner.os }}-release-windows-x64
    - name: Install prerequisites
      run: .\bin\install_prerequisites_windows.ps1
    - name: Install Python 3.11
      uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 #v6.2.0
      with:
        python-version: '3.11'
    - name: Environment
      run: |
        .\bin\activate_python3_venv.ps1
        .\bin\environment.ps1
    - name: Build
      run: .\bin\release\release.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\activate_python3_venv.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\activate_python3_venv.ps1
        .\bin\test\test_prerequisites.ps1
        .\bin\test\test_integ.ps1
    - name: Archive production artifacts
      uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a #v7.0.1
      with:
        name: release-windows-x64-artifacts
        path: |
          .\target\win-package\hurl-*-installer.exe
          .\target\win-package\hurl-*.zip

  package-anatomy:
    needs:
      - package-generic-linux-x64
      - package-generic-linux-aarch64
      - package-deb-x64
      - package-deb-aarch64
      - package-macos-x64
      - package-macos-aarch64
      - package-windows-x64
    name: package-anatomy
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2
        with:
          persist-credentials: false
          ref: ${{ inputs.branch }}
      - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c #v8.0.1
        with:
          path: artifacts
      - name: Prerequisites
        run: sudo apt-get install -y -qq --silent icdiff >/dev/null
      - name: Package generic linux x64 anatomy
        if: success() || failure() 
        run: bin/release/package-anatomy.sh artifacts/release-generic-linux-x64-artifacts/hurl-*-x86_64-unknown-linux-gnu.tar.gz --compare-with-dir docs/spec/packages
      - name: Package generic linux aarch64 anatomy
        if: success() || failure()
        run: bin/release/package-anatomy.sh artifacts/release-generic-linux-aarch64-artifacts/hurl-*-aarch64-unknown-linux-gnu.tar.gz --compare-with-dir docs/spec/packages
      - name: Package deb x64 anatomy
        if: success() || failure()
        run: bin/release/package-anatomy.sh artifacts/release-deb-x64-artifacts/hurl_*_amd64.deb --compare-with-dir docs/spec/packages
      - name: Package deb aarch64 anatomy
        if: success() || failure()
        run: bin/release/package-anatomy.sh artifacts/release-deb-aarch64-artifacts/hurl_*_arm64.deb --compare-with-dir docs/spec/packages
      - name: Package macos x64 anatomy
        if: success() || failure()
        run: bin/release/package-anatomy.sh artifacts/release-macos-x64-artifacts/hurl-*-x86_64-apple-darwin.tar.gz --compare-with-dir docs/spec/packages
      - name: Package macos aarch64 anatomy
        if: success() || failure()
        run: bin/release/package-anatomy.sh artifacts/release-macos-aarch64-artifacts/hurl-*-aarch64-apple-darwin.tar.gz --compare-with-dir docs/spec/packages
      - name: Package windows x64 installer anatomy
        if: success() || failure()
        run: bin/release/package-anatomy.sh artifacts/release-windows-x64-artifacts/hurl-*-x86_64-pc-windows-msvc-installer.exe --compare-with-dir docs/spec/packages
      - name: Package windows x64 zip anatomy
        if: success() || failure()
        run: bin/release/package-anatomy.sh artifacts/release-windows-x64-artifacts/hurl-*-x86_64-pc-windows-msvc.zip --compare-with-dir docs/spec/packages
