chore: Update from _rust template

This commit is contained in:
Ed Page
2026-01-27 16:45:07 -06:00
9 changed files with 126 additions and 39 deletions
+2 -2
View File
@@ -31,7 +31,7 @@ jobs:
continue-on-error: true
steps:
- name: Checkout repository
uses: actions/checkout@v5
uses: actions/checkout@v6
- uses: actions-rs/audit-check@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
@@ -46,7 +46,7 @@ jobs:
checks:
- bans licenses sources
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- uses: EmbarkStudios/cargo-deny-action@v2
with:
command: check ${{ matrix.checks }}
+22 -25
View File
@@ -44,7 +44,7 @@ jobs:
CARGO_PROFILE_DEV_DEBUG: line-tables-only
steps:
- name: Checkout repository
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
@@ -58,10 +58,13 @@ jobs:
run: cargo hack test --each-feature --workspace
msrv:
name: "Check MSRV"
runs-on: ubuntu-latest
strategy:
matrix:
os: ["ubuntu-latest"]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout repository
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
@@ -70,22 +73,16 @@ jobs:
- uses: taiki-e/install-action@cargo-hack
- name: Default features
run: cargo hack check --each-feature --locked --rust-version --ignore-private --workspace --all-targets --keep-going
wasm:
name: "Check wasm"
runs-on: ubuntu-latest
minimal-versions:
name: Minimal versions
strategy:
fail-fast: false
matrix:
build: [wasm, wasm-wasi]
include:
- build: wasm
target: wasm32-unknown-unknown
- build: wasm-wasi
target: wasm32-wasip1
os: ["ubuntu-latest"]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout repository
uses: actions/checkout@v5
- name: Install Rust
uses: actions/checkout@v6
- name: Install stable Rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
@@ -96,7 +93,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
@@ -109,11 +106,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: "1.90" # STABLE
toolchain: "1.93" # STABLE
- uses: Swatinem/rust-cache@v2
- name: Check documentation
env:
@@ -124,15 +121,15 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: "1.90" # STABLE
toolchain: "1.93" # STABLE
components: rustfmt
- uses: Swatinem/rust-cache@v2
- name: Check formatting
run: cargo fmt --all -- --check
run: cargo fmt --check
clippy:
name: clippy
runs-on: ubuntu-latest
@@ -140,11 +137,11 @@ jobs:
security-events: write # to upload sarif results
steps:
- name: Checkout repository
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: "1.90" # STABLE
toolchain: "1.93" # STABLE
components: clippy
- uses: Swatinem/rust-cache@v2
- name: Install SARIF tools
@@ -159,7 +156,7 @@ jobs:
| sarif-fmt
continue-on-error: true
- name: Upload
uses: github/codeql-action/upload-sarif@v3
uses: github/codeql-action/upload-sarif@v4
with:
sarif_file: clippy-results.sarif
wait-for-processing: true
@@ -170,7 +167,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
+1 -1
View File
@@ -21,7 +21,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout Actions Repository
uses: actions/checkout@v5
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Lint Commits
+3 -4
View File
@@ -22,8 +22,7 @@ jobs:
contents: read
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/setup-python@v6
- uses: actions/checkout@v6
- uses: j178/prek-action@v1
with:
python-version: '3.x'
- uses: pre-commit/action@v3.0.1
prek-version: '0.2.27'
+8 -3
View File
@@ -34,7 +34,7 @@ jobs:
CARGO_PROFILE_DEV_DEBUG: line-tables-only
steps:
- name: Checkout repository
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
@@ -48,10 +48,15 @@ jobs:
run: cargo hack test --each-feature --workspace
latest:
name: "Check latest dependencies"
runs-on: ubuntu-latest
strategy:
matrix:
os: ["ubuntu-latest"]
runs-on: ${{ matrix.os }}
env:
CARGO_RESOLVER_INCOMPATIBLE_RUST_VERSIONS: allow
steps:
- name: Checkout repository
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
+58
View File
@@ -0,0 +1,58 @@
name: Template Update
permissions:
contents: read
on:
schedule:
- cron: '1 1 1 * *'
workflow_dispatch:
env:
RUST_BACKTRACE: 1
CARGO_TERM_COLOR: always
CLICOLOR: 1
TEMPLATE_URL: "https://github.com/epage/_rust.git"
TEMPLATE_BRANCH: "main"
concurrency:
group: "${{ github.workflow }}-${{ github.ref }}"
cancel-in-progress: true
jobs:
update:
permissions:
security-events: write # to create PR
pull-requests: write
contents: write # to push the branch
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Configure git
run: |
git config --global user.name '${{ github.actor }}'
git config --global user.email '<>'
- name: Fetch template
run: "git remote add template ${{ env.TEMPLATE_URL }} && git fetch template ${{ env.TEMPLATE_BRANCH }}"
- name: Merge template
run: "git checkout -b template-update && git merge template/${{ env.TEMPLATE_BRANCH }} -m 'chore: Update from template'"
- name: Clear any existing branch
run: "git push origin --delete template-update"
continue-on-error: true
env:
GH_TOKEN: ${{ github.token }}
- name: Push branch
run: "git push --set-upstream origin template-update"
env:
GH_TOKEN: ${{ github.token }}
- name: Create PR
run: "gh pr create --head template-update --title 'chore: Update from template' --body ''"
env:
GH_TOKEN: ${{ github.token }}
- name: Merge PR
run: "gh pr merge --auto --delete-branch"
env:
GH_TOKEN: ${{ github.token }}