1.96.0 #507
This file contains hidden or 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: CI Pull Request | |
| on: | |
| pull_request: | |
| branches: | |
| - main | |
| permissions: | |
| contents: read | |
| env: | |
| VCPKG_ROOT: C:\vcpkg | |
| VCPKG_DOWNLOADS: C:\vcpkg\downloads | |
| VCPKG_FEATURE_FLAGS: binarycaching | |
| VCPKG_BINARY_SOURCES: clear;x-gha,readwrite | |
| RUST_TOOLCHAIN: "1.94.1" | |
| jobs: | |
| linux-x64: | |
| name: Linux x64 | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 | |
| # Free up disk space on Ubuntu runners | |
| - name: Free Disk Space | |
| run: | | |
| sudo rm -rf /usr/share/dotnet | |
| sudo rm -rf /usr/local/lib/android | |
| sudo rm -rf /opt/ghc | |
| sudo rm -rf /opt/hostedtoolcache/CodeQL | |
| sudo docker image prune --all --force | |
| df -h | |
| - uses: dtolnay/rust-toolchain@efa25f7f19611383d5b0ccf2d1c8914531636bf9 # master | |
| with: | |
| toolchain: ${{ env.RUST_TOOLCHAIN }} | |
| - uses: swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1 | |
| with: | |
| shared-key: kingfisher-${{ runner.os }}-${{ runner.arch }} | |
| cache-on-failure: true | |
| - name: Install Linux test dependencies | |
| run: | | |
| sudo apt-get update -qq | |
| sudo apt-get install -y --no-install-recommends \ | |
| cmake pkg-config libboost-all-dev patch perl ragel | |
| - name: Run tests | |
| run: make tests | |
| env: | |
| CARGO_BUILD_JOBS: 1 | |
| linux-arm64: | |
| name: Linux arm64 | |
| runs-on: ubuntu-24.04-arm | |
| steps: | |
| - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 | |
| # Free up disk space on Ubuntu runners | |
| - name: Free Disk Space | |
| run: | | |
| sudo rm -rf /usr/share/dotnet | |
| sudo rm -rf /usr/local/lib/android | |
| sudo rm -rf /opt/ghc | |
| sudo rm -rf /opt/hostedtoolcache/CodeQL | |
| sudo docker image prune --all --force | |
| df -h | |
| - uses: dtolnay/rust-toolchain@efa25f7f19611383d5b0ccf2d1c8914531636bf9 # master | |
| with: | |
| toolchain: ${{ env.RUST_TOOLCHAIN }} | |
| - uses: swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1 | |
| with: | |
| shared-key: kingfisher-${{ runner.os }}-${{ runner.arch }} | |
| cache-on-failure: true | |
| - name: Install Linux test dependencies | |
| run: | | |
| sudo apt-get update -qq | |
| sudo apt-get install -y --no-install-recommends \ | |
| cmake pkg-config libboost-all-dev patch perl ragel | |
| - name: Run tests | |
| run: make tests | |
| env: | |
| CARGO_BUILD_JOBS: 1 | |
| macos-arm64: | |
| name: macOS arm64 | |
| runs-on: macos-14 | |
| steps: | |
| - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 | |
| - uses: dtolnay/rust-toolchain@efa25f7f19611383d5b0ccf2d1c8914531636bf9 # master | |
| with: | |
| toolchain: ${{ env.RUST_TOOLCHAIN }} | |
| - uses: swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1 | |
| with: | |
| shared-key: kingfisher-${{ runner.os }}-${{ runner.arch }} | |
| cache-on-failure: true | |
| - name: Install macOS test dependencies | |
| run: | | |
| brew list cmake >/dev/null 2>&1 || brew install cmake | |
| brew list boost >/dev/null 2>&1 || brew install boost | |
| brew list pkg-config >/dev/null 2>&1 || brew install pkg-config | |
| brew list ragel >/dev/null 2>&1 || brew install ragel | |
| - name: Run tests | |
| run: make tests | |
| windows: | |
| name: Windows ${{ matrix.arch }} | |
| runs-on: ${{ matrix.runs_on }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - arch: x64 | |
| runs_on: windows-latest | |
| msystem: MINGW64 | |
| - arch: arm64 | |
| runs_on: windows-11-arm | |
| msystem: CLANGARM64 | |
| steps: | |
| - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 | |
| - uses: dtolnay/rust-toolchain@efa25f7f19611383d5b0ccf2d1c8914531636bf9 # master | |
| with: | |
| toolchain: ${{ env.RUST_TOOLCHAIN }} | |
| - name: Set up MSYS2 | |
| uses: msys2/setup-msys2@cafece8e6baf9247cf9b1bf95097b0b983cc558d # v2.31.0 | |
| with: | |
| msystem: ${{ matrix.msystem }} | |
| update: true | |
| install: >- | |
| make | |
| git | |
| - uses: swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1 | |
| with: | |
| shared-key: kingfisher-${{ runner.os }}-${{ runner.arch }} | |
| cache-on-failure: true | |
| - name: Prepare Windows dependencies | |
| shell: msys2 {0} | |
| run: WINDOWS_ONLY_DEPS=1 make windows-${{ matrix.arch }} | |
| - name: Run tests | |
| shell: msys2 {0} | |
| run: make windows-test-${{ matrix.arch }} |