Skip to content

Bump gix from 0.67.0 to 0.68.0 (#480) #1442

Bump gix from 0.67.0 to 0.68.0 (#480)

Bump gix from 0.67.0 to 0.68.0 (#480) #1442

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
env:
CARGO_TERM_COLOR: always
jobs:
build:
name: Build ${{ matrix.feature-flags }} (${{ matrix.rust-version }} ${{ matrix.os }})
runs-on: ${{ matrix.os }}
needs:
- check-languages-file
strategy:
fail-fast: true
matrix:
os:
- macOS-latest
- ubuntu-latest
- windows-latest
feature-flags:
- --no-default-features
- --no-default-features --features color
rust-version:
- "1.80"
- "stable"
steps:
- uses: actions/checkout@v4
- name: Fetch Test Branches
run: git fetch origin test/javascript:test/javascript
- name: Setup Rust ${{ matrix.rust-version }}
uses: dtolnay/rust-toolchain@master
id: setup-rust
with:
toolchain: ${{ matrix.rust-version }}
- name: Cache
uses: actions/cache@v4
with:
path: |
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-${{ steps.setup-rust.outputs.cachekey }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Build
run: cargo build --verbose ${{ matrix.feature-flags }}
- name: Test
run: cargo test --verbose ${{ matrix.feature-flags }}
coverage:
name: Coverage ${{ matrix.feature-flags }} (${{ matrix.os }})
runs-on: ${{ matrix.os }}
needs:
- build
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
feature-flags:
- --no-default-features
- --no-default-features --features color
env:
TARPAULIN_VERSION: "0.30.0"
steps:
- uses: actions/checkout@v4
- name: Fetch Test Branches
run: git fetch origin test/javascript:test/javascript
- name: Setup Rust
uses: dtolnay/[email protected]
id: setup-rust
- name: Main Cache
uses: actions/cache@v4
with:
path: |
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-${{ steps.setup-rust.outputs.cachekey }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Bin Cache
id: bin-cache
uses: actions/cache@v4
with:
path: |
~/.cargo/bin/
key: ${{ runner.os }}-${{ steps.setup-rust.outputs.cachekey }}-cargo-bin-tarpaulin-${{ env.TARPAULIN_VERSION }}
- name: Install Tarpualin
if: steps.bin-cache.outputs.cache-hit != 'true'
run: cargo install "cargo-tarpaulin@$TARPAULIN_VERSION"
shell: bash
- name: Generate Coverage
run: cargo tarpaulin --verbose ${{ matrix.feature-flags }} --workspace --timeout 120 --out xml
- name: Upload Coverage
uses: codecov/codecov-action@v5
with:
flags: ${{ matrix.os }},${{ matrix.feature-flags }}
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: true
lint:
name: Lint
runs-on: ubuntu-latest
needs:
- build
steps:
- uses: actions/checkout@v4
- name: Setup Rust
uses: dtolnay/[email protected]
id: setup-rust
with:
components: clippy, rustfmt
- name: Cache
uses: actions/cache@v4
with:
path: |
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-${{ steps.setup-rust.outputs.cachekey }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Check Format
run: cargo fmt -- --check
- name: Lint
run: cargo clippy -- -D warnings
check-languages-file:
name: Check Languages File
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.0'
- name: Check Languages File
run: ruby ./scripts/check-languages-file.rb ./gengo/languages.yaml
benchmarks:
name: Benchmarks
runs-on: ubuntu-latest
needs:
- build
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 3
- name: Setup Rust 1.80
uses: dtolnay/rust-toolchain@master
id: setup-rust
with:
toolchain: "1.80"
- name: Cache
uses: actions/cache@v4
with:
path: |
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-${{ steps.setup-rust.outputs.cachekey }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Fetch Test Branches
run: git fetch origin test/javascript:test/javascript
- name: Run Benchmarks
run: cargo bench