make crate no_std compatible #247
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: | |
| contents: read | |
| on: | |
| push: | |
| pull_request: | |
| env: | |
| CARGO_INCREMENTAL: 0 | |
| RUST_BACKTRACE: 1 | |
| CARGO_TERM_COLOR: always | |
| CLICOLOR: 1 | |
| CI: 1 | |
| concurrency: | |
| group: "${{ github.workflow }}-${{ github.ref }}" | |
| cancel-in-progress: true | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| rust: [stable, beta, nightly, 1.75.0] | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - run: rustup toolchain install ${{ matrix.rust }} --profile minimal | |
| - run: cargo +${{ matrix.rust }} check --all-targets --all-features | |
| - run: cargo +${{ matrix.rust }} test --all-features | |
| lint: | |
| runs-on: ubuntu-latest | |
| env: | |
| RUSTFLAGS: -D warnings | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - run: rustup toolchain install stable --profile minimal --component rustfmt,clippy | |
| - run: cargo fmt -- --check | |
| - run: cargo clippy --all-targets --all-features | |
| - run: cargo doc --no-deps --all-features | |
| check-features: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| - name: rust version | |
| run: | | |
| rustc --version | |
| cargo --version | |
| - uses: taiki-e/install-action@cargo-hack | |
| - run: cargo hack check --feature-powerset --no-dev-deps | |
| no-std: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - run: rustup toolchain install stable --profile minimal | |
| - run: rustup target add aarch64-unknown-none | |
| # Build against a bare-metal target that has no `std` crate, | |
| # so any accidental reliance on `std` fails to link. | |
| - run: cargo build --target aarch64-unknown-none --no-default-features | |
| - run: cargo build --target aarch64-unknown-none --no-default-features --features color | |
| semver: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Check semver | |
| uses: obi1kenobi/cargo-semver-checks-action@v2 | |
| replay: | |
| strategy: | |
| matrix: | |
| include: | |
| - name: diffy | |
| repo_url: '' | |
| commits: '0' | |
| - name: golang/go | |
| repo_url: https://github.com/golang/go | |
| commits: '2000' | |
| - name: git/git | |
| repo_url: https://github.com/git/git | |
| commits: '1000' | |
| - name: rust-lang/rust | |
| repo_url: https://github.com/rust-lang/rust | |
| commits: '50' | |
| - name: torvalds/linux | |
| repo_url: https://github.com/torvalds/linux | |
| commits: '40' | |
| - name: llvm/llvm-project | |
| repo_url: https://github.com/llvm/llvm-project | |
| commits: '50' | |
| name: replay (${{ matrix.name }}) | |
| uses: ./.github/workflows/replay.yml | |
| with: | |
| name: ${{ matrix.name }} | |
| repo_url: ${{ matrix.repo_url }} | |
| commits: ${{ matrix.commits }} |