Skip to content

Commit 9ecb537

Browse files
Generate license.json via GitHub Actions after deps updates (#38)
1 parent 259e4be commit 9ecb537

File tree

4 files changed

+115
-41
lines changed

4 files changed

+115
-41
lines changed

.github/workflows/general-ci.yml

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
name: General CI Workflow
22

33
on:
4+
push:
5+
branches:
6+
- "**"
7+
48
pull_request:
59
branches:
6-
- master
10+
- "**"
711

812
jobs:
913
test-and-build:

.github/workflows/update-licenses.yml

+70
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
name: Update Licenses on Dependency Changes
2+
3+
on:
4+
push:
5+
branches:
6+
- "**"
7+
paths:
8+
- "licenses.json"
9+
10+
pull_request:
11+
branches:
12+
- "**"
13+
paths:
14+
- "package.json"
15+
- "pnpm-lock.yaml"
16+
types:
17+
- opened
18+
- synchronize
19+
- reopened
20+
21+
permissions:
22+
contents: write
23+
pull-requests: write
24+
actions: write
25+
26+
jobs:
27+
update-licenses:
28+
runs-on: ubuntu-latest
29+
30+
steps:
31+
- name: Checkout code
32+
uses: actions/checkout@v4
33+
with:
34+
ref: ${{ github.event.pull_request.head.ref || 'master' }}
35+
token: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
36+
37+
- name: Set up pnpm
38+
uses: pnpm/action-setup@v4
39+
40+
- name: Set up Node.js
41+
uses: actions/setup-node@v4
42+
with:
43+
node-version: "lts/*"
44+
cache: pnpm
45+
46+
- name: Install dependencies
47+
run: pnpm install --frozen-lockfile
48+
49+
- name: Generate licenses.json
50+
run: |
51+
pnpm add -g license-checker
52+
license-checker --json > licenses.json
53+
54+
- name: Display licenses.json content
55+
run: cat licenses.json
56+
57+
- name: Commit and push updated licenses
58+
env:
59+
PERSONAL_ACCESS_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
60+
run: |
61+
git config --global user.name "github-actions[bot]"
62+
git config --global user.email "github-actions[bot]@users.noreply.github.com"
63+
git add licenses.json
64+
if ! git diff --cached --quiet; then
65+
git commit -m "chore: Update licenses.json"
66+
git remote set-url origin https://x-access-token:${PERSONAL_ACCESS_TOKEN}@github.com/${{ github.repository }}
67+
git push origin HEAD:${{ github.event.pull_request.head.ref || 'master' }}
68+
else
69+
echo "No changes to commit."
70+
fi

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
"@swc/core": "^1.10.12",
2424
"@swc/helpers": "^0.5.15",
2525
"@types/jest": "^29.5.14",
26-
"@types/node": "^22.12.0",
26+
"@types/node": "^22.13.0",
2727
"jest": "^29.7.0",
2828
"nodemon": "^3.1.9",
2929
"rimraf": "^6.0.1",

pnpm-lock.yaml

+39-39
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)