chore(main): release 0.8.0 #2538
Workflow file for this run
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 | |
| permissions: {} | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| workflow_dispatch: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref_name }}-${{ github.event.pull_request.number || github.sha }} | |
| cancel-in-progress: true | |
| env: | |
| CARGO_INCREMENTAL: 0 | |
| CARGO_NET_RETRY: 10 | |
| CARGO_TERM_COLOR: always | |
| CLICOLOR: 1 | |
| NEXTEST_COLOR: 1 | |
| CLICOLOR_FORCE: 1 | |
| RUSTUP_MAX_RETRIES: 10 | |
| PACKAGE_NAME: cribo | |
| PYTHON_VERSION: '3.12' | |
| jobs: | |
| build: | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest, macos-latest, windows-latest] | |
| python-version: ['3.12'] | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v5 | |
| with: | |
| fetch-depth: 0 | |
| persist-credentials: false | |
| submodules: recursive | |
| - name: Set up Rust toolchain | |
| run: rustup show | |
| - name: Cache Rust dependencies | |
| uses: Swatinem/rust-cache@v2 | |
| with: | |
| # Use a shared cache key based on Cargo.lock hash for better cache invalidation | |
| # Include hash to ensure cache is invalidated when dependencies change | |
| shared-key: "rust-cache-${{ hashFiles('**/Cargo.lock') }}" | |
| # Cache even on build failures to speed up subsequent runs | |
| cache-on-failure: true | |
| - name: 'Install cargo insta' | |
| uses: taiki-e/install-action@v2 | |
| with: | |
| tool: cargo-insta | |
| - name: 'Install cargo nextest' | |
| uses: taiki-e/install-action@v2 | |
| with: | |
| tool: cargo-nextest | |
| - name: Set up uv | |
| uses: astral-sh/setup-uv@v6 | |
| with: | |
| enable-cache: true | |
| activate-environment: true | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install Python dependencies | |
| run: uv sync --all-groups | |
| - name: 'Run tests' | |
| shell: bash | |
| env: | |
| NEXTEST_PROFILE: 'ci' | |
| run: cargo insta test --all-features --check --unreferenced reject | |
| - name: Install Cribo (development) | |
| run: uv run --with maturin -- maturin develop --release | |
| - name: Smoke test CLI | |
| run: | | |
| uv run python -m cribo --help | |
| uv run cribo --version | |
| - name: E2E bundle test | |
| env: | |
| ENTRY_FILE: crates/cribo/tests/fixtures/simple_project/main.py | |
| OUTPUT_FILE: bundle-test/out.py | |
| run: | | |
| mkdir bundle-test | |
| uv run python -m cribo --entry "${{ env.ENTRY_FILE }}" --output "${{ env.OUTPUT_FILE }}" | |
| uv run python "${{ env.OUTPUT_FILE }}" |