Files
xet-core/.github/workflows/ci.yml
Assaf Vayner 80c0a7ffc9 add ci steps to check cargo.lock is up to date (#377)
We keep having out of date hf_xet/Cargo.lock, likely people are not
building hf_xet 100% of the time they are pushing to the repo. This PR
enforces that hf_xet/Cargo.lock and the root Cargo.lock must be up to
date, a CI job will fail if this is not true.
2025-06-11 10:25:28 -07:00

62 lines
1.7 KiB
YAML

name: xet-core CI
on:
push:
branches:
- main
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
fmt:
name: Rustfmt
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: nightly
components: rustfmt
- name: Format
run: |
cargo fmt --manifest-path ./Cargo.toml --all -- --check
cargo fmt --manifest-path ./hf_xet/Cargo.toml --all -- --check
build_and_test:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Rust 1.86
uses: dtolnay/rust-toolchain@1.86.0
with:
components: clippy
- name: Lint
run: |
cargo clippy -r --verbose -- -D warnings # elevates warnings to errors
- name: Build and Test
run: |
cargo test --verbose --no-fail-fast --features "strict"
- name: Check Cargo.lock has no uncommitted changes
run: |
# the build and test steps would update Cargo.lock if it is out of date
test -z "$(git status --porcelain Cargo.lock)" || (echo "Cargo.lock has uncommitted changes!" && exit 1)
build_and_test-win:
runs-on: windows-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Rust 1.86
uses: dtolnay/rust-toolchain@1.86.0
with:
components: clippy
- name: Lint
run: |
cargo clippy -r --verbose -- -D warnings # elevates warnings to errors
- name: Build and Test
run: |
cargo test --verbose --no-fail-fast --features "strict"