Feat: Owned buffers and arbitrary buffer/attribute layouts #115
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: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| workflow_dispatch: | |
| jobs: | |
| lint: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| toolchain: | |
| # Run against a "known good" nightly. Rustc version is 1 day behind the toolchain date | |
| - nightly-2025-07-25 | |
| # Check for breakage on latest nightly | |
| - nightly | |
| # But if latest nightly fails, allow the workflow to continue | |
| continue-on-error: ${{ matrix.toolchain == 'nightly' }} | |
| runs-on: ubuntu-latest | |
| container: devkitpro/devkitarm | |
| steps: | |
| - name: Checkout branch | |
| uses: actions/checkout@v4 | |
| - uses: rust3ds/test-runner/setup@v1 | |
| with: | |
| toolchain: ${{ matrix.toolchain }} | |
| - name: Install Clang | |
| run: sudo apt-get update && sudo apt-get install -y clang | |
| # https://github.com/actions/runner/issues/504 | |
| # Removing the matchers won't keep the job from failing if there are errors, | |
| # but will at least declutter pull request annotations (especially for warnings). | |
| - name: Hide duplicate annotations from nightly | |
| if: ${{ matrix.toolchain == 'nightly' }} | |
| run: | | |
| echo "::remove-matcher owner=clippy::" | |
| echo "::remove-matcher owner=rustfmt::" | |
| - name: Check formatting | |
| run: cargo fmt --all --verbose -- --check | |
| - name: Run linting | |
| run: cargo 3ds clippy --color=always --verbose --all-targets | |
| test: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| toolchain: | |
| - nightly-2025-07-25 | |
| - nightly | |
| continue-on-error: ${{ matrix.toolchain == 'nightly' }} | |
| runs-on: ubuntu-latest | |
| container: devkitpro/devkitarm | |
| steps: | |
| - name: Checkout branch | |
| uses: actions/checkout@v4 | |
| - uses: rust3ds/test-runner/setup@v1 | |
| with: | |
| toolchain: ${{ matrix.toolchain }} | |
| - name: Install Clang | |
| run: sudo apt-get update && sudo apt-get install -y clang | |
| - name: Hide duplicated warnings from lint job | |
| run: echo "::remove-matcher owner=clippy::" | |
| - name: Build and run macro tests | |
| run: cargo test --package citro3d-macros |