71 lines
2.3 KiB
YAML
71 lines
2.3 KiB
YAML
# Sample Forgejo Actions workflow for pmacs-audit (T M7.9).
|
|
#
|
|
# Forgejo Actions implements the GitHub Actions schema, so this
|
|
# file is intentionally close to its GitHub-Actions sibling. Copy
|
|
# into `.forgejo/workflows/audit.yml` (or
|
|
# `.gitea/workflows/audit.yml` on a Gitea-compatible runner).
|
|
#
|
|
# Differences from the GitHub Actions sample:
|
|
#
|
|
# * `runs-on: docker` (Forgejo's default labels) instead of
|
|
# `ubuntu-latest`.
|
|
# * Action versions (`actions/checkout`, `actions/cache`,
|
|
# `actions/upload-artifact`) point to the Forgejo Actions
|
|
# mirror namespace where the runner picks up actions.
|
|
# Adjust the action paths to match your runner's `host` field.
|
|
# * No `dtolnay/rust-toolchain` action is bundled with the
|
|
# Forgejo runner image catalog by default; we install Rust
|
|
# via `rustup-init` in a step instead. If your runner image
|
|
# ships Rust, remove that step.
|
|
#
|
|
# pmacs-audit exits 1 on any Error-severity finding; the runner
|
|
# treats that as job failure. Warnings and info-level findings
|
|
# show up in the report without gating the pipeline.
|
|
|
|
name: pmacs-audit
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
|
|
jobs:
|
|
audit:
|
|
runs-on: docker
|
|
steps:
|
|
- name: Check out package
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install Rust toolchain
|
|
run: |
|
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- \
|
|
-y --profile minimal --default-toolchain stable
|
|
echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
|
|
|
|
- name: Cache cargo registry + target
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: |
|
|
~/.cargo/registry
|
|
~/.cargo/git
|
|
target
|
|
key: ${{ runner.os }}-cargo-pmacs-audit-${{ hashFiles('**/Cargo.lock') }}
|
|
|
|
# Pin to a tag once pmacs has its first audit-supporting release.
|
|
- name: Build pmacs-audit
|
|
run: |
|
|
cargo install --git https://git.levineuwirth.org/neuwirth/pmacs \
|
|
--rev main \
|
|
--bin pmacs-audit \
|
|
pmacs
|
|
|
|
- name: Run audit lint
|
|
run: pmacs-audit --pretty . > audit-report.json
|
|
|
|
- name: Upload audit report
|
|
if: always()
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: audit-report
|
|
path: audit-report.json
|