Skip to content

Simplify npm publish workflow #36

Simplify npm publish workflow

Simplify npm publish workflow #36

Workflow file for this run

name: ci
permissions:
contents: read
on:
push:
pull_request:
branches:
- main
jobs:
appdmg:
name: appdmg node v24 ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- macos-15-intel
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: 24
cache: npm
- run: npm ci
- run: npm test
- run: npm audit --audit-level=moderate
- run: npm ls --omit=dev --all
- run: npm pack --dry-run
- run: node --check index.js
- run: node --check lib/appdmg.js
- run: node --check lib/commands.js
- run: node --check lib/darwin/build.js
- run: node --check lib/darwin/hdiutil.js
- run: node --check lib/errors.js
- run: node --check lib/options.js
- run: node --check lib/pipeline.js
- run: node --check lib/spec/legacy.js
- run: node --check lib/spec/load.js
- run: node --check lib/spec/validate.js
- run: node --check test/errors.test.js
- run: node --check test/library.test.js
cli:
name: cli node v24 ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- macos-15-intel
defaults:
run:
working-directory: packages/cli
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: 24
cache: npm
cache-dependency-path: packages/cli/package-lock.json
- run: npm ci
- run: npm test
- run: npm audit --audit-level=moderate
- run: npm ls --omit=dev --all
- run: npm pack --dry-run
- run: node --check bin/appdmg-cli.js
- run: node --check lib/args.js
- run: node --check lib/main.js
- run: node --check lib/render-progress.js
- run: node --check test/args.test.js
- run: node --check test/main.test.js
integration:
name: integration node v24 macos-15-intel
runs-on: macos-15-intel
needs:
- appdmg
- cli
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: 24
cache: npm
- run: npm ci
- run: npm run test:integration
- run: node --check test/integration/dmg.test.js