v1.64.0 #194
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 | |
| env: | |
| VCPKG_ROOT: C:\vcpkg | |
| VCPKG_DOWNLOADS: C:\vcpkg\downloads | |
| VCPKG_FEATURE_FLAGS: binarycaching | |
| VCPKG_BINARY_SOURCES: clear;x-gha,readwrite | |
| RUST_TOOLCHAIN: "1.90" | |
| jobs: | |
| linux-arm64: | |
| name: Linux arm64 | |
| runs-on: ubuntu-24.04-arm | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions-rs/toolchain@v1 | |
| with: | |
| toolchain: ${{ env.RUST_TOOLCHAIN }} | |
| profile: minimal | |
| override: true | |
| - uses: swatinem/rust-cache@v2 | |
| - name: Build (Makefile linux-arm64) | |
| run: make ubuntu-arm64 | |
| - name: Run tests | |
| run: make tests | |
| env: | |
| CARGO_BUILD_JOBS: 1 | |
| macos-arm64: | |
| name: macOS arm64 | |
| runs-on: macos-14 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions-rs/toolchain@v1 | |
| with: | |
| toolchain: ${{ env.RUST_TOOLCHAIN }} | |
| profile: minimal | |
| override: true | |
| - uses: swatinem/rust-cache@v2 | |
| - name: Build (Makefile darwin-arm64) | |
| run: make darwin-arm64 | |
| - name: Run tests | |
| run: make tests | |
| windows: | |
| name: Windows x64 | |
| runs-on: windows-latest | |
| # Windows-only env to keep vcpkg consistent and enable caching | |
| env: | |
| VCPKG_ROOT: C:\vcpkg | |
| VCPKG_DOWNLOADS: C:\vcpkg\downloads | |
| VCPKG_FEATURE_FLAGS: binarycaching | |
| VCPKG_BINARY_SOURCES: clear;x-gha,readwrite | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions-rs/toolchain@v1 | |
| with: | |
| toolchain: ${{ env.RUST_TOOLCHAIN }} | |
| profile: minimal | |
| override: true | |
| # Cache vcpkg artifacts & downloads (so we only fetch PCRE once) | |
| - name: Cache vcpkg artifacts | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| C:\vcpkg\buildtrees | |
| C:\vcpkg\packages | |
| C:\vcpkg\installed | |
| C:\vcpkg\downloads | |
| C:\vcpkg\archives | |
| C:\Users\runneradmin\AppData\Local\vcpkg\archives | |
| key: vcpkg-${{ runner.os }}-hs-542 | |
| restore-keys: | | |
| vcpkg-${{ runner.os }}- | |
| vcpkg- | |
| # Ensure downloads dir exists and seed PCRE 8.45 zip from a working mirror | |
| - name: Pre-seed PCRE 8.45 for vcpkg (bypass SourceForge redirect) | |
| shell: pwsh | |
| run: | | |
| New-Item -ItemType Directory -Force -Path "$env:VCPKG_DOWNLOADS" | Out-Null | |
| $dst = Join-Path $env:VCPKG_DOWNLOADS "pcre-8.45.zip" | |
| if (-not (Test-Path $dst)) { | |
| Invoke-WebRequest ` | |
| -Uri "https://versaweb.dl.sourceforge.net/project/pcre/pcre/8.45/pcre-8.45.zip" ` | |
| -OutFile $dst -UseBasicParsing | |
| } | |
| Get-ChildItem $env:VCPKG_DOWNLOADS | |
| - uses: swatinem/rust-cache@v2 | |
| - name: Build | |
| run: .\buildwin.bat | |
| shell: cmd | |
| - name: Run tests | |
| shell: pwsh | |
| run: | | |
| if (-not (Get-Command cargo-nextest -ErrorAction SilentlyContinue)) { | |
| cargo install --locked cargo-nextest | |
| } | |
| Write-Host "▶ cargo nextest run --release --workspace --all-targets" | |
| cargo nextest run --release --workspace --all-targets | |
| - name: Move artifact to dist | |
| shell: bash | |
| run: | | |
| mkdir -p dist | |
| cp target/release/kingfisher-windows-x64.zip dist/ | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: kingfisher-windows-x64 | |
| path: dist/kingfisher-*windows-x64*.* |