-
Notifications
You must be signed in to change notification settings - Fork 18
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat!: postinstall for dependabot template-oss PR
BREAKING CHANGE: `npm-audit-report` is now compatible with the following semver range for node: `^14.17.0 || ^16.13.0 || >=18.0.0`
1 parent
a215423
commit af74324
Showing
14 changed files
with
618 additions
and
134 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -29,4 +29,4 @@ | |
] | ||
} | ||
] | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -10,18 +10,28 @@ on: | |
|
||
jobs: | ||
audit: | ||
name: Audit Dependencies | ||
if: github.repository_owner == 'npm' | ||
runs-on: ubuntu-latest | ||
defaults: | ||
run: | ||
shell: bash | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Setup git user | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
- name: Setup Git User | ||
run: | | ||
git config --global user.email "[email protected]" | ||
git config --global user.name "npm CLI robot" | ||
- uses: actions/setup-node@v3 | ||
- name: Setup Node | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: 16.x | ||
- name: Update npm to latest | ||
node-version: 18.x | ||
- name: Install npm@latest | ||
run: npm i --prefer-online --no-fund --no-audit -g npm@latest | ||
- run: npm -v | ||
- run: npm i --ignore-scripts --no-audit --no-fund --package-lock | ||
- run: npm audit | ||
- name: npm Version | ||
run: npm -v | ||
- name: Install Dependencies | ||
run: npm i --ignore-scripts --no-audit --no-fund --package-lock | ||
- name: Run Audit | ||
run: npm audit |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,154 @@ | ||
# This file is automatically added by @npmcli/template-oss. Do not edit. | ||
|
||
name: CI - Release | ||
|
||
on: | ||
workflow_call: | ||
inputs: | ||
ref: | ||
required: true | ||
type: string | ||
check-sha: | ||
required: true | ||
type: string | ||
|
||
jobs: | ||
lint-all: | ||
name: Lint All | ||
if: github.repository_owner == 'npm' | ||
runs-on: ubuntu-latest | ||
defaults: | ||
run: | ||
shell: bash | ||
steps: | ||
- name: Create Check | ||
uses: LouisBrunner/[email protected] | ||
id: check | ||
|
||
with: | ||
token: ${{ secrets.GITHUB_TOKEN }} | ||
status: in_progress | ||
name: Lint All | ||
sha: ${{ inputs.check-sha }} | ||
# XXX: this does not work when using the default GITHUB_TOKEN. | ||
# Instead we post the main job url to the PR as a comment which | ||
# will link to all the other checks. To work around this we would | ||
# need to create a GitHub that would create on-demand tokens. | ||
# https://github.com/LouisBrunner/checks-action/issues/18 | ||
# details_url: | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
with: | ||
ref: ${{ inputs.ref }} | ||
- name: Setup Git User | ||
run: | | ||
git config --global user.email "[email protected]" | ||
git config --global user.name "npm CLI robot" | ||
- name: Setup Node | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: 18.x | ||
- name: Install npm@latest | ||
run: npm i --prefer-online --no-fund --no-audit -g npm@latest | ||
- name: npm Version | ||
run: npm -v | ||
- name: Install Dependencies | ||
run: npm i --ignore-scripts --no-audit --no-fund | ||
- name: Lint | ||
run: npm run lint --ignore-scripts | ||
- name: Post Lint | ||
run: npm run postlint --ignore-scripts | ||
- name: Conclude Check | ||
uses: LouisBrunner/[email protected] | ||
if: always() | ||
with: | ||
token: ${{ secrets.GITHUB_TOKEN }} | ||
conclusion: ${{ job.status }} | ||
check_id: ${{ steps.check.outputs.check_id }} | ||
|
||
test-all: | ||
name: Test All - ${{ matrix.platform.name }} - ${{ matrix.node-version }} | ||
if: github.repository_owner == 'npm' | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
platform: | ||
- name: Linux | ||
os: ubuntu-latest | ||
shell: bash | ||
- name: macOS | ||
os: macos-latest | ||
shell: bash | ||
- name: Windows | ||
os: windows-latest | ||
shell: cmd | ||
node-version: | ||
- 14.17.0 | ||
- 14.x | ||
- 16.13.0 | ||
- 16.x | ||
- 18.0.0 | ||
- 18.x | ||
runs-on: ${{ matrix.platform.os }} | ||
defaults: | ||
run: | ||
shell: ${{ matrix.platform.shell }} | ||
steps: | ||
- name: Create Check | ||
uses: LouisBrunner/[email protected] | ||
id: check | ||
|
||
with: | ||
token: ${{ secrets.GITHUB_TOKEN }} | ||
status: in_progress | ||
name: Test All - ${{ matrix.platform.name }} - ${{ matrix.node-version }} | ||
sha: ${{ inputs.check-sha }} | ||
# XXX: this does not work when using the default GITHUB_TOKEN. | ||
# Instead we post the main job url to the PR as a comment which | ||
# will link to all the other checks. To work around this we would | ||
# need to create a GitHub that would create on-demand tokens. | ||
# https://github.com/LouisBrunner/checks-action/issues/18 | ||
# details_url: | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
with: | ||
ref: ${{ inputs.ref }} | ||
- name: Setup Git User | ||
run: | | ||
git config --global user.email "[email protected]" | ||
git config --global user.name "npm CLI robot" | ||
- name: Setup Node | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: ${{ matrix.node-version }} | ||
- name: Update Windows npm | ||
# node 12 and 14 ship with npm@6, which is known to fail when updating itself in windows | ||
if: matrix.platform.os == 'windows-latest' && (startsWith(matrix.node-version, '12.') || startsWith(matrix.node-version, '14.')) | ||
run: | | ||
curl -sO https://registry.npmjs.org/npm/-/npm-7.5.4.tgz | ||
tar xf npm-7.5.4.tgz | ||
cd package | ||
node lib/npm.js install --no-fund --no-audit -g ..\npm-7.5.4.tgz | ||
cd .. | ||
rmdir /s /q package | ||
- name: Install npm@7 | ||
if: startsWith(matrix.node-version, '10.') | ||
run: npm i --prefer-online --no-fund --no-audit -g npm@7 | ||
- name: Install npm@latest | ||
if: ${{ !startsWith(matrix.node-version, '10.') }} | ||
run: npm i --prefer-online --no-fund --no-audit -g npm@latest | ||
- name: npm Version | ||
run: npm -v | ||
- name: Install Dependencies | ||
run: npm i --ignore-scripts --no-audit --no-fund | ||
- name: Add Problem Matcher | ||
run: echo "::add-matcher::.github/matchers/tap.json" | ||
- name: Test | ||
run: npm test --ignore-scripts -ws -iwr --if-present | ||
- name: Conclude Check | ||
uses: LouisBrunner/[email protected] | ||
if: always() | ||
with: | ||
token: ${{ secrets.GITHUB_TOKEN }} | ||
conclusion: ${{ job.status }} | ||
check_id: ${{ steps.check.outputs.check_id }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -5,8 +5,6 @@ name: CI | |
on: | ||
workflow_dispatch: | ||
pull_request: | ||
branches: | ||
- '*' | ||
push: | ||
branches: | ||
- main | ||
|
@@ -17,54 +15,73 @@ on: | |
|
||
jobs: | ||
lint: | ||
name: Lint | ||
if: github.repository_owner == 'npm' | ||
runs-on: ubuntu-latest | ||
defaults: | ||
run: | ||
shell: bash | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Setup git user | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
- name: Setup Git User | ||
run: | | ||
git config --global user.email "[email protected]" | ||
git config --global user.name "npm CLI robot" | ||
- uses: actions/setup-node@v3 | ||
- name: Setup Node | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: 16.x | ||
- name: Update npm to latest | ||
node-version: 18.x | ||
- name: Install npm@latest | ||
run: npm i --prefer-online --no-fund --no-audit -g npm@latest | ||
- run: npm -v | ||
- run: npm i --ignore-scripts --no-audit --no-fund | ||
- run: npm run lint | ||
- name: npm Version | ||
run: npm -v | ||
- name: Install Dependencies | ||
run: npm i --ignore-scripts --no-audit --no-fund | ||
- name: Lint | ||
run: npm run lint --ignore-scripts | ||
- name: Post Lint | ||
run: npm run postlint --ignore-scripts | ||
|
||
test: | ||
name: Test - ${{ matrix.platform.name }} - ${{ matrix.node-version }} | ||
if: github.repository_owner == 'npm' | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
node-version: | ||
- 12.13.0 | ||
- 12.x | ||
- 14.15.0 | ||
- 14.x | ||
- 16.0.0 | ||
- 16.x | ||
platform: | ||
- os: ubuntu-latest | ||
- name: Linux | ||
os: ubuntu-latest | ||
shell: bash | ||
- os: macos-latest | ||
- name: macOS | ||
os: macos-latest | ||
shell: bash | ||
- os: windows-latest | ||
- name: Windows | ||
os: windows-latest | ||
shell: cmd | ||
node-version: | ||
- 14.17.0 | ||
- 14.x | ||
- 16.13.0 | ||
- 16.x | ||
- 18.0.0 | ||
- 18.x | ||
runs-on: ${{ matrix.platform.os }} | ||
defaults: | ||
run: | ||
shell: ${{ matrix.platform.shell }} | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Setup git user | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
- name: Setup Git User | ||
run: | | ||
git config --global user.email "[email protected]" | ||
git config --global user.name "npm CLI robot" | ||
- uses: actions/setup-node@v3 | ||
- name: Setup Node | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: ${{ matrix.node-version }} | ||
- name: Update to workable npm (windows) | ||
- name: Update Windows npm | ||
# node 12 and 14 ship with npm@6, which is known to fail when updating itself in windows | ||
if: matrix.platform.os == 'windows-latest' && (startsWith(matrix.node-version, '12.') || startsWith(matrix.node-version, '14.')) | ||
run: | | ||
|
@@ -74,15 +91,17 @@ jobs: | |
node lib/npm.js install --no-fund --no-audit -g ..\npm-7.5.4.tgz | ||
cd .. | ||
rmdir /s /q package | ||
- name: Update npm to 7 | ||
# If we do test on npm 10 it needs npm7 | ||
- name: Install npm@7 | ||
if: startsWith(matrix.node-version, '10.') | ||
run: npm i --prefer-online --no-fund --no-audit -g npm@7 | ||
- name: Update npm to latest | ||
- name: Install npm@latest | ||
if: ${{ !startsWith(matrix.node-version, '10.') }} | ||
run: npm i --prefer-online --no-fund --no-audit -g npm@latest | ||
- run: npm -v | ||
- name: add tap problem matcher | ||
- name: npm Version | ||
run: npm -v | ||
- name: Install Dependencies | ||
run: npm i --ignore-scripts --no-audit --no-fund | ||
- name: Add Problem Matcher | ||
run: echo "::add-matcher::.github/matchers/tap.json" | ||
- run: npm i --ignore-scripts --no-audit --no-fund | ||
- run: npm test --ignore-scripts | ||
- name: Test | ||
run: npm test --ignore-scripts -iwr |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,14 +1,13 @@ | ||
# This file is automatically added by @npmcli/template-oss. Do not edit. | ||
|
||
name: "CodeQL" | ||
name: CodeQL | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
- latest | ||
pull_request: | ||
# The branches below must be a subset of the branches above | ||
branches: | ||
- main | ||
- latest | ||
|
@@ -24,21 +23,16 @@ jobs: | |
actions: read | ||
contents: read | ||
security-events: write | ||
|
||
strategy: | ||
fail-fast: false | ||
matrix: | ||
language: [ javascript ] | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Setup git user | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
- name: Setup Git User | ||
run: | | ||
git config --global user.email "[email protected]" | ||
git config --global user.name "npm CLI robot" | ||
- name: Initialize CodeQL | ||
uses: github/codeql-action/init@v1 | ||
uses: github/codeql-action/init@v2 | ||
with: | ||
languages: ${{ matrix.language }} | ||
languages: javascript | ||
- name: Perform CodeQL Analysis | ||
uses: github/codeql-action/analyze@v1 | ||
uses: github/codeql-action/analyze@v2 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,43 +1,91 @@ | ||
# This file is automatically added by @npmcli/template-oss. Do not edit. | ||
|
||
name: Post Dependabot Actions | ||
name: Post Dependabot | ||
|
||
on: pull_request | ||
|
||
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions | ||
permissions: | ||
contents: write | ||
|
||
jobs: | ||
template-oss-apply: | ||
template-oss: | ||
name: template-oss | ||
if: github.repository_owner == 'npm' && github.actor == 'dependabot[bot]' | ||
runs-on: ubuntu-latest | ||
if: github.actor == 'dependabot[bot]' | ||
defaults: | ||
run: | ||
shell: bash | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Setup git user | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
with: | ||
ref: ${{ github.event.pull_request.head_ref }} | ||
- name: Setup Git User | ||
run: | | ||
git config --global user.email "npm-cli+bot@github.com" | ||
git config --global user.name "npm CLI robot" | ||
- uses: actions/setup-node@v3 | ||
- name: Setup Node | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: 16.x | ||
- name: Update npm to latest | ||
node-version: 18.x | ||
- name: Install npm@latest | ||
run: npm i --prefer-online --no-fund --no-audit -g npm@latest | ||
- run: npm -v | ||
- name: Dependabot metadata | ||
- name: npm Version | ||
run: npm -v | ||
- name: Install Dependencies | ||
run: npm i --ignore-scripts --no-audit --no-fund | ||
- name: Fetch Dependabot Metadata | ||
id: metadata | ||
uses: dependabot/fetch-metadata@v1.1.1 | ||
uses: dependabot/fetch-metadata@v1 | ||
with: | ||
github-token: "${{ secrets.GITHUB_TOKEN }}" | ||
- name: npm install and commit | ||
github-token: ${{ secrets.GITHUB_TOKEN }} | ||
|
||
# Dependabot can update multiple directories so we output which directory | ||
# it is acting on so we can run the command for the correct root or workspace | ||
- name: Get Dependabot Directory | ||
if: contains(steps.metadata.outputs.dependency-names, '@npmcli/template-oss') | ||
id: flags | ||
run: | | ||
if [[ "${{ steps.metadata.outputs.directory }}" == "/" ]]; then | ||
echo "::set-output name=workspace::-iwr" | ||
else | ||
echo "::set-output name=workspace::-w ${{ steps.metadata.outputs.directory }}" | ||
fi | ||
- name: Apply Changes | ||
if: steps.flags.outputs.workspace | ||
id: apply | ||
run: | | ||
npm run template-oss-apply ${{ steps.flags.outputs.workspace }} | ||
if [[ `git status --porcelain` ]]; then | ||
echo "::set-output name=changes::true" | ||
fi | ||
# This step will fail if template-oss has made any workflow updates. It is impossible | ||
# for a workflow to update other workflows. In the case it does fail, we continue | ||
# and then try to apply only a portion of the changes in the next step | ||
- name: Push All Changes | ||
if: steps.apply.outputs.changes | ||
id: push | ||
continue-on-error: true | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
run: | | ||
git commit -am "chore: postinstall for dependabot template-oss PR" | ||
git push | ||
- name: Push All Changes Except Workflows | ||
if: steps.push.outcome == 'failure' | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
run: | | ||
gh pr checkout ${{ github.event.pull_request.number }} | ||
npm install --ignore-scripts --no-audit --no-fund | ||
npm run template-oss-apply | ||
git add . | ||
git reset HEAD~ | ||
git checkout HEAD -- .github/workflows/ | ||
git clean -fd .github/workflows/ | ||
git commit -am "chore: postinstall for dependabot template-oss PR" | ||
git push | ||
npm run lint | ||
- name: Check Changes | ||
if: steps.apply.outputs.changes | ||
run: | | ||
npm exec --offline ${{ steps.flags.outputs.workspace }} -- template-oss-check |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,234 @@ | ||
# This file is automatically added by @npmcli/template-oss. Do not edit. | ||
|
||
name: Release | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
- latest | ||
|
||
permissions: | ||
contents: write | ||
pull-requests: write | ||
checks: write | ||
|
||
jobs: | ||
release: | ||
outputs: | ||
pr: ${{ steps.release.outputs.pr }} | ||
releases: ${{ steps.release.outputs.releases }} | ||
release-flags: ${{ steps.release.outputs.release-flags }} | ||
branch: ${{ steps.release.outputs.pr-branch }} | ||
pr-number: ${{ steps.release.outputs.pr-number }} | ||
comment-id: ${{ steps.pr-comment.outputs.result }} | ||
check-id: ${{ steps.check.outputs.check_id }} | ||
name: Release | ||
if: github.repository_owner == 'npm' | ||
runs-on: ubuntu-latest | ||
defaults: | ||
run: | ||
shell: bash | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
- name: Setup Git User | ||
run: | | ||
git config --global user.email "npm-cli+bot@github.com" | ||
git config --global user.name "npm CLI robot" | ||
- name: Setup Node | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: 18.x | ||
- name: Install npm@latest | ||
run: npm i --prefer-online --no-fund --no-audit -g npm@latest | ||
- name: npm Version | ||
run: npm -v | ||
- name: Install Dependencies | ||
run: npm i --ignore-scripts --no-audit --no-fund | ||
- name: Release Please | ||
id: release | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
run: | | ||
npx --offline template-oss-release-please ${{ github.ref_name }} | ||
- name: Post Pull Request Comment | ||
if: steps.release.outputs.pr-number | ||
uses: actions/github-script@v6 | ||
id: pr-comment | ||
env: | ||
PR_NUMBER: ${{ steps.release.outputs.pr-number }} | ||
with: | ||
script: | | ||
const repo = { owner: context.repo.owner, repo: context.repo.repo } | ||
const issue = { ...repo, issue_number: process.env.PR_NUMBER } | ||
const { data: workflow } = await github.rest.actions.getWorkflowRun({ ...repo, run_id: context.runId }) | ||
let body = '## Release Manager\n\n' | ||
const comments = await github.paginate(github.rest.issues.listComments, issue) | ||
let commentId = comments?.find(c => c.user.login === 'github-actions[bot]' && c.body.startsWith(body))?.id | ||
body += `- Release workflow run: ${workflow.html_url}` | ||
if (commentId) { | ||
await github.rest.issues.updateComment({ ...repo, comment_id: commentId, body }) | ||
} else { | ||
const { data: comment } = await github.rest.issues.createComment({ ...issue, body }) | ||
commentId = comment?.id | ||
} | ||
return commentId | ||
- name: Create Check | ||
uses: LouisBrunner/checks-action@v1.3.1 | ||
id: check | ||
if: steps.release.outputs.pr-number | ||
with: | ||
token: ${{ secrets.GITHUB_TOKEN }} | ||
status: in_progress | ||
name: Release | ||
sha: ${{ steps.release.outputs.pr-sha }} | ||
# XXX: this does not work when using the default GITHUB_TOKEN. | ||
# Instead we post the main job url to the PR as a comment which | ||
# will link to all the other checks. To work around this we would | ||
# need to create a GitHub that would create on-demand tokens. | ||
# https://github.com/LouisBrunner/checks-action/issues/18 | ||
# details_url: | ||
|
||
update: | ||
needs: release | ||
outputs: | ||
sha: ${{ steps.commit.outputs.sha }} | ||
check-id: ${{ steps.check.outputs.check_id }} | ||
name: Update - Release | ||
if: github.repository_owner == 'npm' && needs.release.outputs.pr | ||
runs-on: ubuntu-latest | ||
defaults: | ||
run: | ||
shell: bash | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
with: | ||
fetch-depth: 0 | ||
ref: ${{ needs.release.outputs.branch }} | ||
- name: Setup Git User | ||
run: | | ||
git config --global user.email "npm-cli+bot@github.com" | ||
git config --global user.name "npm CLI robot" | ||
- name: Setup Node | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: 18.x | ||
- name: Install npm@latest | ||
run: npm i --prefer-online --no-fund --no-audit -g npm@latest | ||
- name: npm Version | ||
run: npm -v | ||
- name: Install Dependencies | ||
run: npm i --ignore-scripts --no-audit --no-fund | ||
- name: Run Post Pull Request Actions | ||
env: | ||
RELEASE_PR_NUMBER: ${{ needs.release.outputs.pr-number }} | ||
RELEASE_COMMENT_ID: ${{ needs.release.outputs.comment-id }} | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
run: | | ||
npm run rp-pull-request --ignore-scripts -ws -iwr --if-present | ||
- name: Commit | ||
id: commit | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
run: | | ||
git commit --all --amend --no-edit || true | ||
git push --force-with-lease | ||
echo "::set-output name=sha::$(git rev-parse HEAD)" | ||
- name: Create Check | ||
uses: LouisBrunner/checks-action@v1.3.1 | ||
id: check | ||
|
||
with: | ||
token: ${{ secrets.GITHUB_TOKEN }} | ||
status: in_progress | ||
name: Release | ||
sha: ${{ steps.commit.outputs.sha }} | ||
# XXX: this does not work when using the default GITHUB_TOKEN. | ||
# Instead we post the main job url to the PR as a comment which | ||
# will link to all the other checks. To work around this we would | ||
# need to create a GitHub that would create on-demand tokens. | ||
# https://github.com/LouisBrunner/checks-action/issues/18 | ||
# details_url: | ||
- name: Conclude Check | ||
uses: LouisBrunner/checks-action@v1.3.1 | ||
if: always() | ||
with: | ||
token: ${{ secrets.GITHUB_TOKEN }} | ||
conclusion: ${{ job.status }} | ||
check_id: ${{ needs.release.outputs.check-id }} | ||
|
||
ci: | ||
name: CI - Release | ||
needs: [ release, update ] | ||
if: needs.release.outputs.pr | ||
uses: ./.github/workflows/ci-release.yml | ||
with: | ||
ref: ${{ needs.release.outputs.branch }} | ||
check-sha: ${{ needs.update.outputs.sha }} | ||
|
||
post-ci: | ||
needs: [ release, update, ci ] | ||
name: Post CI - Release | ||
if: github.repository_owner == 'npm' && needs.release.outputs.pr && always() | ||
runs-on: ubuntu-latest | ||
defaults: | ||
run: | ||
shell: bash | ||
steps: | ||
- name: Get Needs Result | ||
id: needs-result | ||
run: | | ||
result="" | ||
if [[ "${{ contains(needs.*.result, 'failure') }}" == "true" ]]; then | ||
result="failure" | ||
elif [[ "${{ contains(needs.*.result, 'cancelled') }}" == "true" ]]; then | ||
result="cancelled" | ||
else | ||
result="success" | ||
fi | ||
echo "::set-output name=result::$result" | ||
- name: Conclude Check | ||
uses: LouisBrunner/checks-action@v1.3.1 | ||
if: always() | ||
with: | ||
token: ${{ secrets.GITHUB_TOKEN }} | ||
conclusion: ${{ steps.needs-result.outputs.result }} | ||
check_id: ${{ needs.update.outputs.check-id }} | ||
|
||
post-release: | ||
needs: release | ||
name: Post Release - Release | ||
if: github.repository_owner == 'npm' && needs.release.outputs.releases | ||
runs-on: ubuntu-latest | ||
defaults: | ||
run: | ||
shell: bash | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
- name: Setup Git User | ||
run: | | ||
git config --global user.email "npm-cli+bot@github.com" | ||
git config --global user.name "npm CLI robot" | ||
- name: Setup Node | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: 18.x | ||
- name: Install npm@latest | ||
run: npm i --prefer-online --no-fund --no-audit -g npm@latest | ||
- name: npm Version | ||
run: npm -v | ||
- name: Install Dependencies | ||
run: npm i --ignore-scripts --no-audit --no-fund | ||
- name: Run Post Release Actions | ||
env: | ||
RELEASES: ${{ needs.release.outputs.releases }} | ||
run: | | ||
npm run rp-release --ignore-scripts --if-present ${{ join(fromJSON(needs.release.outputs.release-flags), ' ') }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
{ | ||
".": "3.0.0" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
{ | ||
"exclude-packages-from-root": true, | ||
"group-pull-request-title-pattern": "chore: release ${version}", | ||
"pull-request-title-pattern": "chore: release${component} ${version}", | ||
"changelog-sections": [ | ||
{ | ||
"type": "feat", | ||
"section": "Features", | ||
"hidden": false | ||
}, | ||
{ | ||
"type": "fix", | ||
"section": "Bug Fixes", | ||
"hidden": false | ||
}, | ||
{ | ||
"type": "docs", | ||
"section": "Documentation", | ||
"hidden": false | ||
}, | ||
{ | ||
"type": "deps", | ||
"section": "Dependencies", | ||
"hidden": false | ||
}, | ||
{ | ||
"type": "chore", | ||
"hidden": true | ||
} | ||
], | ||
"packages": { | ||
".": { | ||
"package-name": "" | ||
} | ||
} | ||
} |