Add the portable option and its parser-level restrictions #1161
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: [ master ] | |
| pull_request: | |
| branches: [ master ] | |
| env: | |
| CARGO_TERM_COLOR: always | |
| CARGO_TERM_VERBOSE: true | |
| jobs: | |
| check: | |
| runs-on: ubuntu-latest | |
| env: | |
| RUSTFLAGS: -D warnings | |
| RUSTDOCFLAGS: -D warnings | |
| permissions: | |
| contents: read | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: clippy, rustfmt | |
| - uses: Swatinem/rust-cache@v2 | |
| # Building tests and docs before running ./check.sh is redundant but it | |
| # allows us to measure the build times for these steps separately. | |
| - name: Build tests | |
| run: cargo build --tests | |
| - name: Build docs | |
| run: cargo doc --no-deps | |
| - name: Run lint checks | |
| run: cargo clippy --all-targets | |
| - name: Run tests | |
| run: ./check.sh -v | |
| clippy: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| pull-requests: write | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: clippy | |
| - uses: Swatinem/rust-cache@v2 | |
| - uses: giraffate/clippy-action@v1 | |
| with: | |
| reporter: github-pr-review | |
| extra: | |
| runs-on: ubuntu-latest | |
| env: | |
| RUSTFLAGS: -D warnings | |
| permissions: | |
| contents: read | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: Run extra tests | |
| run: ./check-extra.sh -v | |
| release-build: | |
| runs-on: ubuntu-latest | |
| env: | |
| RUSTFLAGS: -D warnings | |
| permissions: | |
| contents: read | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: Run release build checks | |
| run: ./check-release-build.sh | |
| semver: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - uses: taiki-e/install-action@cargo-semver-checks | |
| - name: Run semver checks | |
| run: ./check-semver.sh | |
| msrv: | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest, macos-latest] | |
| fail-fast: false | |
| runs-on: ${{ matrix.os }} | |
| permissions: | |
| contents: read | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: dtolnay/rust-toolchain@nightly | |
| - uses: dtolnay/rust-toolchain@1.96.0 | |
| - uses: Swatinem/rust-cache@v2 | |
| - uses: taiki-e/install-action@cargo-hack | |
| - uses: taiki-e/install-action@cargo-minimal-versions | |
| - name: Run tests with MSRV | |
| run: ./check-msrv.sh -v | |
| windows: | |
| runs-on: windows-latest | |
| permissions: | |
| contents: read | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: Test yash-arith | |
| run: cargo test --all-features --package yash-arith | |
| - name: Test yash-executor | |
| run: cargo test --all-features --package yash-executor | |
| - name: Test yash-fnmatch | |
| run: cargo test --all-features --package yash-fnmatch | |
| - name: Test yash-quote | |
| run: cargo test --all-features --package yash-quote | |
| - name: Test yash-syntax | |
| run: cargo test --all-features --package yash-syntax | |
| - name: Test yash-env | |
| run: cargo test --all-features --package yash-env | |
| - name: Test yash-semantics | |
| run: cargo test --all-features --package yash-semantics | |
| - name: Test yash-prompt | |
| run: cargo test --all-features --package yash-prompt | |
| - name: Test yash-builtin | |
| run: cargo test --all-features --package yash-builtin | |
| docs: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: Install mdBook | |
| run: cargo install mdbook --no-default-features --features search --version "^0.5" --locked | |
| - name: Build and test docs | |
| run: ./check-docs.sh | |
| summarize: | |
| runs-on: ubuntu-latest | |
| needs: [check, clippy, extra, release-build, semver, msrv, windows, docs] | |
| permissions: | |
| actions: read | |
| if: ${{ always() }} | |
| steps: | |
| - uses: Kesin11/actions-timeline@v3 |