Skip to content

Commit 60ccbfe

Browse files
committed
chore(ci): update github workflow for recent version of semantic release
this updates the release workflow to support npm trusted publishing and recent versions of semantic release
1 parent d89040e commit 60ccbfe

4 files changed

Lines changed: 41 additions & 21 deletions

File tree

.github/workflows/release.yml

Lines changed: 35 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,41 +3,65 @@ name: Test + Release
33
on:
44
pull_request:
55
branches:
6-
- main
6+
- master
77

88
push:
99
branch:
10-
- main
10+
- master
1111
jobs:
1212
test:
1313
name: Test Suite
1414
runs-on: ubuntu-latest
15+
strategy:
16+
matrix:
17+
node-version: [20.x, 22.x, 24.x]
1518

1619
steps:
1720
- name: Checkout
1821
uses: actions/checkout@v2
19-
20-
- name: Install
22+
- name: node ${{ matrix.node-version }}
23+
uses: actions/setup-node@v1
24+
with:
25+
node-version: ${{ matrix.node-version }}
26+
- name: install
2127
run: npm install
28+
- name: test
29+
run: npm test
2230

2331
release:
24-
name: release
32+
name: Release
33+
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
2534
needs: test
26-
runs-on: ubuntu-24.04
35+
runs-on: ubuntu-latest
36+
permissions:
37+
contents: write
38+
id-token: write
39+
issues: write
40+
pull-requests: write
2741
steps:
42+
- name: Generate Token
43+
id: app-token
44+
uses: actions/create-github-app-token@v1
45+
with:
46+
app-id: ${{ secrets.RELEASE_APP_ID }}
47+
private-key: ${{ secrets.RELEASE_APP_PRIVATE_KEY }}
2848
- name: Checkout
29-
uses: actions/checkout@v2
30-
- uses: actions/setup-node@v1
49+
uses: actions/checkout@v4
50+
with:
51+
token: ${{ steps.app-token.outputs.token }}
52+
persist-credentials: false
53+
54+
- uses: actions/setup-node@v4
3155
with:
32-
node-version: 18
56+
node-version: 24
3357
- run: npm install
3458

3559
- name: Publish
3660
run: npm run release
3761
env:
38-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
62+
GITHUB_TOKEN: ${{ steps.app-token.outputs.token }}
3963
GIT_AUTHOR_NAME: 'Dependant Bot'
4064
GIT_AUTHOR_EMAIL: 'release-bot@codedependant.net'
4165
GIT_COMMITTER_NAME: 'Dependant Bot'
4266
GIT_COMMITTER_EMAIL: 'release-bot@codedependant.net'
43-
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
67+
NPM_TOKEN: 'false'

.npmrc

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
hoist=true
21
package-lock=false
3-
lock-file=false

package.json

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@
2121
"lint:fix": "npm run lint -- --fix",
2222
"local": "env $(cat env/local.env)",
2323
"pretap": "npm run lint",
24-
"release": "semantic-release",
25-
"release:dry": "semantic-release --no-ci --dry-run --branches=${BRANCH_NAME:-main}"
24+
"release": "npx semantic-release",
25+
"release:dry": "npm run release -- --no-ci --dry-run --branches=${BRANCH_NAME:-main}"
2626
},
2727
"keywords": [
2828
"semantic-release"
@@ -66,13 +66,10 @@
6666
]
6767
},
6868
"devDependencies": {
69-
"@codedependant/release-config-npm": "^1.0.4",
70-
"@semantic-release/changelog": "^5.0.1",
71-
"@semantic-release/git": "^9.0.0",
72-
"@semantic-release/github": "^7.0.7",
69+
"@codedependant/release-config-core": "^1.1.1",
70+
"@semantic-release/changelog": "^6.0.3",
7371
"eslint": "^8.5.0",
7472
"eslint-config-codedependant": "^3.0.0",
75-
"semantic-release": "17",
7673
"sinon": "^9.0.2",
7774
"stream-buffers": "^3.0.3",
7875
"tap": "^16.0.0"

release.config.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
/* istanbul ignore file */
44
module.exports = {
55
branches: ['main']
6-
, extends: '@codedependant/release-config-npm'
6+
, npmPublish: true
7+
, extends: '@codedependant/release-config-core'
78
, changelogFile: 'CHANGELOG.md'
89
, changelogTitle: '# Semantic Release Docker'
910
}

0 commit comments

Comments
 (0)