Skip to content

Add the portable option and its parser-level restrictions #1161

Add the portable option and its parser-level restrictions

Add the portable option and its parser-level restrictions #1161

Workflow file for this run

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