diff --git a/.github/workflows/rust-ci.yaml b/.github/workflows/rust-ci.yaml index 6b1f0d453..ae91e04d9 100644 --- a/.github/workflows/rust-ci.yaml +++ b/.github/workflows/rust-ci.yaml @@ -43,7 +43,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest] + os: [ubuntu-latest, ubuntu-24.04-arm, macos-13, macos-latest] steps: - name: Checkout repository @@ -52,10 +52,12 @@ jobs: ref: ${{ github.event.pull_request.head.sha }} - name: Stand up docker services + if: matrix.os == 'ubuntu-latest' || matrix.os == 'ubuntu-24.04-arm' || github.event_name == 'push' run: | docker compose up -d - name: Wait for containers to be ready + if: matrix.os == 'ubuntu-latest' || matrix.os == 'ubuntu-24.04-arm' || github.event_name == 'push' run: | for _ in {1..10}; do if curl --silent --fail http://minio:9000/minio/health/live; then @@ -72,6 +74,7 @@ jobs: done - name: Install Just + if: matrix.os == 'ubuntu-latest' || matrix.os == 'ubuntu-24.04-arm' || github.event_name == 'push' run: sudo snap install --edge --classic just - name: Install Rust toolchain @@ -87,10 +90,11 @@ jobs: key: ${{ env.RUST_CHANNEL }} - name: Install cargo-deny + if: matrix.os == 'ubuntu-latest' || matrix.os == 'ubuntu-24.04-arm' || github.event_name == 'push' run: cargo install --locked cargo-deny - name: Check - if: matrix.os == 'ubuntu-latest' || github.event_name == 'push' + if: matrix.os == 'ubuntu-latest' || matrix.os == 'ubuntu-24.04-arm' || github.event_name == 'push' env: R2_BUCKET: ${{ secrets.R2_BUCKET }} R2_ACCESS_KEY_ID: ${{ secrets.R2_ACCESS_KEY_ID }} @@ -110,6 +114,11 @@ jobs: run: | just pre-commit + - name: Run unit tests only + if: matrix.os != 'ubuntu-latest' && matrix.os != 'ubuntu-24.04-arm' + run: | + cargo test --lib + - name: Run integration tests against object stores if: github.event_name == 'cron' env: diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 97ce8e683..cf2775fad 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -16,7 +16,7 @@ repos: - id: ruff args: ["--fix", "--show-fixes", "icechunk-python/"] - repo: https://github.com/rhysd/actionlint - rev: v1.7.4 + rev: v1.7.7 hooks: - id: actionlint files: ".github/workflows/"