Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 16 additions & 1 deletion .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,8 +69,23 @@ jobs:
- name: Clean up ready for publishing
run: npm run publishInit

- name: Audit the release toolchain
# Its own scope: the toolchain is not shipped, so it must not gate the
# package, but it runs with publish credentials, so it must not be
# invisible either. Fails on anything outside the named exemptions in
# release/audit.mjs.
run: node release/audit.mjs

- name: Install the release tooling
# Its own locked tree, installed here rather than carried as a
# devDependency: that tree is where the unfixable advisories live, so
# keeping it out of the package's dependencies keeps it out of the
# package's `npm audit`. Locked, so the resolved versions and their
# integrity hashes are pinned rather than fetched fresh at release time.
run: npm ci --prefix release --ignore-scripts

- name: Semantic Release
run: npx semantic-release
run: release/node_modules/.bin/semantic-release
env:
GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} # <-- app token, not secrets.GITHUB_TOKEN

Expand Down
7 changes: 7 additions & 0 deletions .github/workflows/run-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,13 @@ jobs:
- name: Check npm audit
run: npm audit --production --audit-level=low

- name: Audit the release toolchain
# Its own scope: the toolchain is not shipped, so it must not gate the
# package, but it runs with publish credentials, so it must not be
# invisible either. Fails on anything outside the named exemptions in
# release/audit.mjs.
run: node release/audit.mjs

- name: Install Dependencies
run: npm ci

Expand Down
Loading
Loading