Skip to content

chore(main): release 0.8.0 #2538

chore(main): release 0.8.0

chore(main): release 0.8.0 #2538

Workflow file for this run

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 }}"