Skip to content

[DO NOT MERGE] Optimize CI pipeline with artifact sharing and enhanced caching #22

[DO NOT MERGE] Optimize CI pipeline with artifact sharing and enhanced caching

[DO NOT MERGE] Optimize CI pipeline with artifact sharing and enhanced caching #22

Workflow file for this run

name: CI Coordinator
on:
push:
branches:
- main
pull_request:
types: [opened, reopened, synchronize, labeled]
workflow_dispatch:
schedule:
# Three times a day for integration tests
- cron: '33 3,10,15 * * *'
permissions:
contents: read
env:
RUST_CHANNEL: '1.89.0'
jobs:
# Matrix-based Rust builds and tests
rust_tests:
name: Rust Tests (${{ matrix.platform.name }})
strategy:
matrix:
platform:
- name: Ubuntu
target: x86_64
runner: ubuntu-latest
include_docker: true
- name: macOS ARM
target: aarch64
runner: macos-14
include_docker: false
- name: Windows
target: x86_64
runner: windows-latest
include_docker: false
uses: ./.github/workflows/rust-testing-safe.yaml
with:
target: ${{ matrix.platform.target }}
runner: ${{ matrix.platform.runner }}
include_docker_tests: ${{ matrix.platform.include_docker }}
rust_channel: '1.89.0'
# Matrix-based Python tests with sccache
python_tests:
name: Python Tests (${{ matrix.platform.name }})
strategy:
matrix:
platform:
- name: Ubuntu
target: x86_64
runner: ubuntu-latest
- name: macOS ARM
target: aarch64
runner: macos-14
- name: Windows
target: x86_64
runner: windows-latest
uses: ./.github/workflows/python-testing.yaml
with:
rust_channel: '1.89.0'
target: ${{ matrix.platform.target }}
runner: ${{ matrix.platform.runner }}
# Integration tests with cloud credentials
test_integration:
name: Test Integration
if: ${{
github.event_name == 'schedule'
|| github.event_name == 'workflow_dispatch'
|| (github.event_name == 'push' && github.ref == 'refs/heads/main')
|| (github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'test-with-secrets'))
}}
uses: ./.github/workflows/rust-testing-integration.yaml
secrets: inherit
with:
rust_channel: '1.89.0'
target: x86_64
runner: ubuntu-latest
# Code quality checks (build wheels with sccache, run in parallel)
linting:
name: Code Quality
uses: ./.github/workflows/linting.yaml
# Dependency checks (runs independently)
dependency_check:
name: Dependency Check
uses: ./.github/workflows/dependency-check.yaml
with:
rust_channel: '1.89.0'
target: x86_64
runner: ubuntu-latest