Skip to content

docs(readme): audit 신호 정책을 문서화한다 #611

docs(readme): audit 신호 정책을 문서화한다

docs(readme): audit 신호 정책을 문서화한다 #611

Workflow file for this run

name: maximus-dev
on:
push:
paths:
- "action.yml"
- "Cargo.toml"
- "Cargo.lock"
- "rust-toolchain.toml"
- "bin/**"
- "crates/**"
- "npm/**"
- "scripts/**"
- "src/**"
- "test/**"
- ".github/actions/marketplace-wrapper/action.yml"
- ".github/workflows/action-smoke.yml"
- ".github/workflows/dev.yml"
- ".github/workflows/manual-release-bump.yml"
- ".github/workflows/release-candidate.yml"
- ".github/workflows/release.yml"
- ".github/workflows/release-drafter.yml"
- ".github/workflows/rust-release-binaries.yml"
- ".github/release-drafter.yml"
- "docs/github-action-marketplace.md"
- "package.json"
- "README*.md"
- "LICENSE"
- "CODE_OF_CONDUCT.md"
- "CONTRIBUTING.md"
- "SECURITY.md"
pull_request:
paths:
- "action.yml"
- "Cargo.toml"
- "Cargo.lock"
- "rust-toolchain.toml"
- "bin/**"
- "crates/**"
- "npm/**"
- "scripts/**"
- "src/**"
- "test/**"
- ".github/actions/marketplace-wrapper/action.yml"
- ".github/workflows/action-smoke.yml"
- ".github/workflows/dev.yml"
- ".github/workflows/manual-release-bump.yml"
- ".github/workflows/release-candidate.yml"
- ".github/workflows/release.yml"
- ".github/workflows/release-drafter.yml"
- ".github/workflows/rust-release-binaries.yml"
- ".github/release-drafter.yml"
- "docs/github-action-marketplace.md"
- "package.json"
- "README*.md"
- "LICENSE"
- "CODE_OF_CONDUCT.md"
- "CONTRIBUTING.md"
- "SECURITY.md"
workflow_dispatch:
permissions:
contents: read
concurrency:
group: dev-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
rust-workspace-metadata:
name: Rust workspace metadata
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Check out repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Set up Rust
uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable
- name: Set up Node.js
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: "24"
- name: Validate Cargo workspace metadata
run: cargo metadata --format-version 1 --no-deps
- name: Run Rust core tests
run: cargo test -p maximus-core
- name: Run Rust CLI tests
run: cargo test -p maximus-cli
node-compatibility:
name: Node compatibility (Node ${{ matrix.node }})
runs-on: ubuntu-latest
timeout-minutes: 10
strategy:
fail-fast: false
matrix:
node: [20, 22, 24]
steps:
- name: Check out repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Set up Node.js
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: ${{ matrix.node }}
- name: Run unit tests
run: npm test
cli-smoke-check:
name: CLI smoke checks (Node ${{ matrix.node }})
runs-on: ubuntu-latest
timeout-minutes: 10
strategy:
fail-fast: false
matrix:
node: [20, 22, 24]
steps:
- name: Check out repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Set up Node.js
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: ${{ matrix.node }}
- name: Smoke test audit
run: node ./bin/maximus.js audit ./test/fixtures/clean-project
- name: Smoke test doctor
run: node ./bin/maximus.js doctor ./test/fixtures/clean-project
- name: Smoke test fix
run: node ./bin/maximus.js fix ./test/fixtures/clean-project --dry-run
readme-consistency-check:
name: README consistency
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Check out repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Verify multilingual README files and language links
run: |
files=(
README.md
README.en.md
README.zh-CN.md
README.es.md
README.ja.md
)
for file in "${files[@]}"; do
test -f "$file"
grep -q 'README.md' "$file"
grep -q 'README.en.md' "$file"
grep -q 'README.zh-CN.md' "$file"
grep -q 'README.es.md' "$file"
grep -q 'README.ja.md' "$file"
done
package-check:
name: Package dry run (Node ${{ matrix.node }}, ${{ matrix.runner.platform }})
runs-on: ${{ matrix.runner.label }}
timeout-minutes: 10
strategy:
fail-fast: false
matrix:
node: [20, 22, 24]
runner:
- label: ubuntu-24.04
platform: linux-x64-gnu
- label: ubuntu-24.04-arm
platform: linux-arm64-gnu
- label: macos-15-intel
platform: darwin-x64
- label: macos-14
platform: darwin-arm64
steps:
- name: Check out repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Set up Node.js
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: ${{ matrix.node }}
- name: Set up Rust
uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable
- name: Pack package
run: |
env npm_config_cache="$RUNNER_TEMP/.npm-cache" npm pack --json > pack.json
- name: Smoke test packaged CLI entrypoint
run: |
node ./scripts/run-packed-wrapper-smoke.mjs ./pack.json ./test/fixtures/clean-project
release-wiring:
name: Release wiring
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Check out repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Set up Node.js
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: "24"
- name: Validate release wiring contract
run: node ./scripts/validate-rust-release-wiring.mjs
- name: Run focused release wiring test
run: node --test test/release-workflow-context.test.js test/github-action-wiring.test.js test/release-docs.test.js test/release-plan.test.js test/release-candidate-metadata.test.js test/release-helpers.test.js test/npm-error-classifiers.test.js test/bump-release-version.test.js