Bumps [DavidAnson/markdownlint-cli2-action](https://github.com/davidanson/markdownlint-cli2-action) from 16 to 17. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/davidanson/markdownlint-cli2-action/releases">DavidAnson/markdownlint-cli2-action's releases</a>.</em></p> <blockquote> <h2>Update markdownlint version (markdownlint-cli2 v0.14.0, markdownlint v0.35.0).</h2> <p>No release notes provided.</p> <h2>Update markdownlint version (markdownlint-cli2 v0.13.0, markdownlint v0.34.0).</h2> <p>No release notes provided.</p> <p>Update markdownlint version (markdownlint-cli2 v0.12.1, markdownlint v0.33.0).</p> <h2>Update markdownlint version (markdownlint-cli2 v0.11.0, markdownlint v0.32.1), remove deprecated "command" input.</h2> <p>No release notes provided.</p> <h2>Update markdownlint version (markdownlint-cli2 v0.10.0, markdownlint v0.31.1).</h2> <p>No release notes provided.</p> <h2>Update markdownlint version (markdownlint-cli2 v0.9.2, markdownlint v0.30.0).</h2> <p>No release notes provided.</p> <h2>Update markdownlint version (markdownlint-cli2 v0.8.1, markdownlint v0.29.0), add "config" and "fix" inputs, deprecate "command" input.</h2> <p>No release notes provided.</p> <h2>Update markdownlint version (markdownlint-cli2 v0.7.1, markdownlint v0.28.2).</h2> <p>No release notes provided.</p> <h2>Update markdownlint version (markdownlint-cli2 v0.7.0, markdownlint v0.28.1), include link to rule information in title of annotations (clickable in GitHub).</h2> <p>No release notes provided.</p> <h2>Update markdownlint version (markdownlint-cli2 v0.6.0, markdownlint v0.27.0).</h2> <p>No release notes provided.</p> <h2>Update markdownlint version (markdownlint-cli2 v0.5.1, markdownlint v0.26.2).</h2> <p>No release notes provided.</p> <h2>Update markdownlint version (markdownlint-cli2 v0.4.0, markdownlint v0.25.1)</h2> <p>No release notes provided.</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="db43aef879"><code>db43aef</code></a> Update to version 17.0.0.</li> <li><a href="c0decc52d0"><code>c0decc5</code></a> Bump <code>@stylistic/eslint-plugin</code> from 2.7.2 to 2.8.0</li> <li><a href="dd2171bb17"><code>dd2171b</code></a> Bump eslint from 9.9.1 to 9.10.0</li> <li><a href="85b2286968"><code>85b2286</code></a> Bump <code>@eslint/js</code> from 9.9.1 to 9.10.0</li> <li><a href="95aa6ed6ed"><code>95aa6ed</code></a> Freshen generated index.js file.</li> <li><a href="476aead54e"><code>476aead</code></a> Bump markdownlint-cli2 from 0.13.0 to 0.14.0</li> <li><a href="da0291d977"><code>da0291d</code></a> Freshen generated index.js file.</li> <li><a href="235535bdb7"><code>235535b</code></a> Add <code>@stylistic/eslint-plugin</code> to ESLint configuration.</li> <li><a href="20384985f1"><code>2038498</code></a> Bump eslint from 9.9.0 to 9.9.1</li> <li><a href="ea9d2c1e2e"><code>ea9d2c1</code></a> Bump <code>@eslint/js</code> from 9.9.0 to 9.9.1</li> <li>Additional commits viewable in <a href="https://github.com/davidanson/markdownlint-cli2-action/compare/v16...v17">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
161 lines
4.5 KiB
YAML
161 lines
4.5 KiB
YAML
name: Continuous Integration
|
|
|
|
on:
|
|
# Allows you to run this workflow manually from the Actions tab
|
|
workflow_dispatch:
|
|
push:
|
|
branches:
|
|
- main
|
|
pull_request:
|
|
branches:
|
|
- main
|
|
merge_group:
|
|
|
|
# ensure that the workflow is only triggered once per PR, subsequent pushes to the PR will cancel
|
|
# and restart the workflow. See https://docs.github.com/en/actions/using-jobs/using-concurrency
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
|
|
cancel-in-progress: true
|
|
|
|
# lint, clippy and coverage jobs are intentionally early in the workflow to catch simple formatting,
|
|
# typos, and missing tests as early as possible. This allows us to fix these and resubmit the PR
|
|
# without having to wait for the comprehensive matrix of tests to complete.
|
|
jobs:
|
|
rustfmt:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: dtolnay/rust-toolchain@nightly
|
|
with:
|
|
components: rustfmt
|
|
- run: cargo +nightly fmt --all --check
|
|
|
|
typos:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: crate-ci/typos@master
|
|
|
|
dependencies:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: EmbarkStudios/cargo-deny-action@v2
|
|
|
|
cargo-machete:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: Swatinem/rust-cache@v2
|
|
- uses: bnjbvr/cargo-machete@v0.6.2
|
|
|
|
clippy:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: dtolnay/rust-toolchain@stable
|
|
with:
|
|
components: clippy
|
|
- uses: taiki-e/install-action@cargo-make
|
|
- uses: Swatinem/rust-cache@v2
|
|
- run: cargo make clippy
|
|
|
|
markdownlint:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: DavidAnson/markdownlint-cli2-action@v17
|
|
with:
|
|
globs: |
|
|
'**/*.md'
|
|
'!target'
|
|
|
|
coverage:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: dtolnay/rust-toolchain@stable
|
|
with:
|
|
components: llvm-tools
|
|
- uses: taiki-e/install-action@v2
|
|
with:
|
|
tool: cargo-llvm-cov,cargo-make
|
|
- uses: Swatinem/rust-cache@v2
|
|
- run: cargo make coverage
|
|
- uses: codecov/codecov-action@v4
|
|
with:
|
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
fail_ci_if_error: true
|
|
|
|
check:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [ubuntu-latest, windows-latest, macos-latest]
|
|
toolchain: ["1.74.0", "stable"]
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: dtolnay/rust-toolchain@master
|
|
with:
|
|
toolchain: ${{ matrix.toolchain }}
|
|
- uses: taiki-e/install-action@cargo-make
|
|
- uses: Swatinem/rust-cache@v2
|
|
- run: cargo make check
|
|
env:
|
|
RUST_BACKTRACE: full
|
|
|
|
lint-docs:
|
|
runs-on: ubuntu-latest
|
|
env:
|
|
RUSTDOCFLAGS: -Dwarnings
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: dtolnay/rust-toolchain@nightly
|
|
- uses: dtolnay/install@cargo-docs-rs
|
|
- uses: Swatinem/rust-cache@v2
|
|
# Run cargo rustdoc with the same options that would be used by docs.rs, taking into account
|
|
# the package.metadata.docs.rs configured in Cargo.toml.
|
|
# https://github.com/dtolnay/cargo-docs-rs
|
|
- run: cargo +nightly docs-rs
|
|
|
|
test-doc:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [ubuntu-latest, windows-latest, macos-latest]
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: dtolnay/rust-toolchain@stable
|
|
- uses: taiki-e/install-action@cargo-make
|
|
- uses: Swatinem/rust-cache@v2
|
|
- run: cargo make test-doc
|
|
env:
|
|
RUST_BACKTRACE: full
|
|
|
|
test:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [ubuntu-latest, windows-latest, macos-latest]
|
|
toolchain: ["1.74.0", "stable"]
|
|
backend: [crossterm, termion, termwiz]
|
|
exclude:
|
|
# termion is not supported on windows
|
|
- os: windows-latest
|
|
backend: termion
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: dtolnay/rust-toolchain@master
|
|
with:
|
|
toolchain: ${{ matrix.toolchain }}
|
|
- uses: taiki-e/install-action@v2
|
|
with:
|
|
tool: cargo-make,nextest
|
|
- uses: Swatinem/rust-cache@v2
|
|
- run: cargo make test-backend ${{ matrix.backend }}
|
|
env:
|
|
RUST_BACKTRACE: full
|