43 lines
1.2 KiB
YAML
43 lines
1.2 KiB
YAML
# Sample GitLab CI configuration for pmacs-audit (T M7.9).
|
|
#
|
|
# Copy this file into your package repo at `.gitlab-ci.yml` (or
|
|
# `include:` it from there). The job:
|
|
#
|
|
# 1. Pulls a Rust toolchain image.
|
|
# 2. Builds `pmacs-audit` from a pinned pmacs revision.
|
|
# 3. Runs the audit lint against the package's Lua sources.
|
|
# 4. Saves the JSON report as a job artifact (downloadable from
|
|
# the GitLab UI for 7 days; tune `expire_in` as needed).
|
|
#
|
|
# pmacs-audit exits 1 on any Error-severity finding; `script:`
|
|
# propagates that to the job status. Warnings and info-level
|
|
# findings show up in the report but do not gate the pipeline.
|
|
|
|
stages:
|
|
- audit
|
|
|
|
audit:
|
|
stage: audit
|
|
image: rust:1.85
|
|
cache:
|
|
key: pmacs-audit
|
|
paths:
|
|
- .cargo/
|
|
- target/
|
|
variables:
|
|
CARGO_HOME: $CI_PROJECT_DIR/.cargo
|
|
script:
|
|
# Pin to a tag once pmacs has its first audit-supporting release.
|
|
- cargo install --git https://git.levineuwirth.org/neuwirth/pmacs
|
|
--rev main
|
|
--bin pmacs-audit
|
|
--root $CI_PROJECT_DIR/.cargo
|
|
pmacs
|
|
- $CI_PROJECT_DIR/.cargo/bin/pmacs-audit --pretty . > audit-report.json
|
|
artifacts:
|
|
name: audit-report
|
|
paths:
|
|
- audit-report.json
|
|
expire_in: 7 days
|
|
when: always
|