Skip to content

Commit 6eb48f7

Browse files
committed
chore: update workflow to use trusted publishing
1 parent 1db3b7b commit 6eb48f7

File tree

3 files changed

+757
-1078
lines changed

3 files changed

+757
-1078
lines changed

.github/workflows/automerge.yml

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,39 @@
11
name: "Automerge"
22
on:
3-
workflow_run:
4-
workflows:
5-
- CI
6-
types:
7-
- completed
3+
workflow_run:
4+
workflows:
5+
- CI
6+
types:
7+
- completed
88

99
jobs:
10-
Automerge:
11-
runs-on: ubuntu-latest
12-
if: |
13-
github.event.workflow_run.event == 'pull_request' &&
14-
github.event.workflow_run.conclusion == 'success'
15-
steps:
16-
- name: 'Merge PR'
17-
uses: actions/github-script@v8
18-
with:
19-
github-token: ${{ secrets.GITHUB_TOKEN }}
20-
script: |
21-
const pr = await github.rest.pulls.get({
22-
owner: context.repo.owner,
23-
repo: context.repo.repo,
24-
pull_number: context.payload.workflow_run.pull_requests[0].number,
25-
});
26-
if (!pr.data.title.startsWith('chore(deps-dev):')) {
27-
console.log('Not Merged 🚫');
28-
console.log(`Title === '${pr.data.title}'`);
29-
} else if (pr.data.user.login !== 'dependabot[bot]') {
30-
console.log('Not Merged 🚫');
31-
console.log(`User === '${pr.data.user.login}'`);
32-
} else {
33-
await github.rest.pulls.merge({
34-
owner: context.repo.owner,
35-
repo: context.repo.repo,
36-
pull_number: context.payload.workflow_run.pull_requests[0].number,
37-
});
38-
console.log('Merged 🎉');
39-
}
10+
Automerge:
11+
runs-on: ubuntu-latest
12+
if: |
13+
github.event.workflow_run.event == 'pull_request' &&
14+
github.event.workflow_run.conclusion == 'success'
15+
steps:
16+
- name: "Merge PR"
17+
uses: actions/github-script@v8
18+
with:
19+
github-token: ${{ secrets.GITHUB_TOKEN }}
20+
script: |
21+
const pr = await github.rest.pulls.get({
22+
owner: context.repo.owner,
23+
repo: context.repo.repo,
24+
pull_number: context.payload.workflow_run.pull_requests[0].number,
25+
});
26+
if (!pr.data.title.startsWith('chore(deps-dev):')) {
27+
console.log('Not Merged 🚫');
28+
console.log(`Title === '${pr.data.title}'`);
29+
} else if (pr.data.user.login !== 'dependabot[bot]') {
30+
console.log('Not Merged 🚫');
31+
console.log(`User === '${pr.data.user.login}'`);
32+
} else {
33+
await github.rest.pulls.merge({
34+
owner: context.repo.owner,
35+
repo: context.repo.repo,
36+
pull_number: context.payload.workflow_run.pull_requests[0].number,
37+
});
38+
console.log('Merged 🎉');
39+
}

.github/workflows/tests.yml

Lines changed: 60 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -1,67 +1,66 @@
11
name: "CI"
22
on:
3-
pull_request:
4-
push:
5-
branches:
6-
- master
3+
pull_request:
4+
push:
5+
branches:
6+
- master
77

8-
jobs:
9-
10-
Test:
11-
if: "!contains(github.event.head_commit.message, '[skip ci]')"
12-
runs-on: ubuntu-latest
13-
steps:
14-
- name: Checkout Code
15-
uses: actions/checkout@v6
16-
- name: Install Node
17-
uses: actions/setup-node@v6
18-
with:
19-
node-version: '*'
20-
- name: Install Dependencies
21-
run: npm ci
22-
- name: Run Tests 👩🏽‍💻
23-
run: |
24-
npm run unit-test
25-
npm run func-test
26-
npm run logger-test
8+
permissions:
9+
contents: read
2710

28-
Lint:
29-
if: "!contains(github.event.head_commit.message, '[skip ci]')"
30-
runs-on: ubuntu-latest
31-
steps:
32-
- name: Checkout Code
33-
uses: actions/checkout@v6
34-
- name: Install Node
35-
uses: actions/setup-node@v6
36-
with:
37-
node-version: 'lts/*'
38-
- name: Install Dependencies
39-
run: npm ci
40-
- name: Lint ✨
41-
run: npm run lint
11+
jobs:
12+
Test:
13+
if: "!contains(github.event.head_commit.message, '[skip ci]')"
14+
runs-on: ubuntu-latest
15+
steps:
16+
- name: Checkout Code
17+
uses: actions/checkout@v6
18+
- name: Install Node
19+
uses: actions/setup-node@v6
20+
with:
21+
node-version: "*"
22+
- name: Install Dependencies
23+
run: npm ci
24+
- name: Run Tests 👩🏽‍💻
25+
run: |
26+
npm run unit-test
27+
npm run func-test
28+
npm run logger-test
4229
43-
Release:
44-
needs: [Test, Lint]
45-
if: github.ref == 'refs/heads/master'
46-
runs-on: ubuntu-latest
47-
steps:
48-
- name: Checkout Code
49-
uses: actions/checkout@v6
50-
- name: Install Node
51-
uses: actions/setup-node@v6
52-
with:
53-
node-version: 'lts/*'
54-
- name: Install Dependencies
55-
run: npm ci
56-
- name: Release 🎉
57-
env:
58-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
59-
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
60-
run: npx semantic-release
30+
Lint:
31+
if: "!contains(github.event.head_commit.message, '[skip ci]')"
32+
runs-on: ubuntu-latest
33+
steps:
34+
- name: Checkout Code
35+
uses: actions/checkout@v6
36+
- name: Install Node
37+
uses: actions/setup-node@v6
38+
with:
39+
node-version: "lts/*"
40+
- name: Install Dependencies
41+
run: npm ci
42+
- name: Lint ✨
43+
run: npm run lint
6144

62-
Skip:
63-
if: contains(github.event.head_commit.message, '[skip ci]')
64-
runs-on: ubuntu-latest
65-
steps:
66-
- name: Skip CI 🚫
67-
run: echo skip ci
45+
Release:
46+
permissions:
47+
contents: write # to be able to publish a GitHub release
48+
issues: write # to be able to comment on released issues
49+
pull-requests: write # to be able to comment on released pull requests
50+
id-token: write # to enable use of OIDC for trusted publishing and npm provenance
51+
needs: [Test, Lint]
52+
if: github.ref == 'refs/heads/master'
53+
runs-on: ubuntu-latest
54+
steps:
55+
- name: Checkout Code
56+
uses: actions/checkout@v6
57+
- name: Install Node
58+
uses: actions/setup-node@v6
59+
with:
60+
node-version: "lts/*"
61+
- name: Install Dependencies
62+
run: npm ci
63+
- name: Release 🎉
64+
env:
65+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
66+
run: npx semantic-release

0 commit comments

Comments
 (0)