Repository navigation
feat(usd): add UndoStage::group #1031
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 | |
| on: | |
| pull_request: | |
| push: | |
| schedule: | |
| - cron: '0 0 * * 0' # Run weekly on Sundays | |
| jobs: | |
| checks: | |
| name: Checks | |
| runs-on: ${{ matrix.os }} | |
| timeout-minutes: 15 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [macos-latest, ubuntu-latest, windows-latest] | |
| steps: | |
| - uses: actions/checkout@v7 | |
| with: | |
| submodules: true | |
| - run: cargo check --workspace --examples --tests | |
| - run: cargo clippy --workspace --all-targets --all-features -- -D warnings | |
| - run: cargo fmt --all -- --check --files-with-diff | |
| - run: cargo doc --workspace --no-deps | |
| - run: cargo test --workspace --all-targets --all-features | |
| # The members require each other by version, and a stale value there | |
| # publishes a crate pinned to the previous release. Nothing else catches | |
| # it: the path dependency wins locally, so builds and tests stay green. | |
| - name: Workspace version matches the in-workspace dependencies | |
| if: runner.os == 'Linux' | |
| shell: bash | |
| run: | | |
| pkg=$(grep -m1 '^version = ' Cargo.toml | cut -d'"' -f2) | |
| echo "workspace.package.version = ${pkg:-<unset>}" | |
| if [ -z "$pkg" ]; then | |
| echo "::error::could not read the version from the root Cargo.toml" | |
| exit 1 | |
| fi | |
| for crate in openusd openusd-build; do | |
| dep=$(grep -m1 "^$crate = { version = " Cargo.toml | cut -d'"' -f2) | |
| echo "workspace.dependencies.$crate.version = ${dep:-<unset>}" | |
| if [ -z "$dep" ]; then | |
| echo "::error::could not read the $crate version from the root Cargo.toml" | |
| exit 1 | |
| fi | |
| if [ "$pkg" != "$dep" ]; then | |
| echo "::error::$crate version mismatch - bump both in the root Cargo.toml" | |
| exit 1 | |
| fi | |
| done | |
| deny: | |
| name: Deny | |
| runs-on: ubuntu-22.04 | |
| timeout-minutes: 10 | |
| steps: | |
| - uses: actions/checkout@v7 | |
| with: | |
| submodules: true | |
| - uses: EmbarkStudios/cargo-deny-action@v2 | |
| coverage: | |
| name: Coverage | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| if: ${{ github.event_name != 'schedule' && github.ref_name == 'main' }} | |
| steps: | |
| - uses: actions/checkout@v7 | |
| with: | |
| submodules: true | |
| - run: cargo install grcov | |
| - run: grcov --version | |
| - run: cargo test --workspace --all-features | |
| env: | |
| RUSTFLAGS: "-Cinstrument-coverage" | |
| LLVM_PROFILE_FILE: "target/coverage/%p-%m.profraw" | |
| - name: Collect coverage data | |
| run: | | |
| grcov . \ | |
| --source-dir . \ | |
| --binary-path ./target/debug/ \ | |
| --branch \ | |
| --ignore-not-existing \ | |
| --output-types markdown,lcov \ | |
| --keep-only 'crates/*/src/*' \ | |
| --output-path ./target/coverage/ | |
| - name: Upload coverage data | |
| uses: codecov/codecov-action@v7 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| flags: unittests | |
| files: ./target/coverage/lcov | |
| verbose: true | |
| - name: Publish job summary | |
| run: | | |
| echo "# Coverage" >> $GITHUB_STEP_SUMMARY | |
| cat target/coverage/markdown.md >> $GITHUB_STEP_SUMMARY |