Skip to content

Commit 020338e

Browse files
committed
Add GitHub workflows for check, publish, and test processes
1 parent dee3e33 commit 020338e

File tree

4 files changed

+149
-0
lines changed

4 files changed

+149
-0
lines changed
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: Check Provenance
2+
on:
3+
push:
4+
branches:
5+
- main
6+
pull_request:
7+
types: [opened, edited, reopened, synchronize]
8+
branches:
9+
- main
10+
permissions:
11+
contents: read
12+
jobs:
13+
check-provenance:
14+
runs-on: ubuntu-24.04-arm
15+
steps:
16+
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
17+
with:
18+
fetch-depth: 0
19+
- name: Check provenance downgrades
20+
uses: danielroe/provenance-action@main
21+
id: check
22+
with:
23+
fail-on-provenance-change: true # optional, default: false
24+
lockfile: pnpm-lock.yaml # optional
25+
# base-ref: origin/main # optional, default: origin/main
26+
fail-on-downgrade: true # optional, default: true
27+
- name: Print result
28+
run: "echo 'Downgraded: ${{ steps.check.outputs.downgraded }}'"

.github/workflows/check.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: Check
2+
on:
3+
push:
4+
branches:
5+
- "**"
6+
pull_request:
7+
types: [opened, edited, reopened, synchronize]
8+
branches:
9+
- "**"
10+
env:
11+
NODE_OPTIONS: --max_old_space_size=10240
12+
permissions:
13+
contents: read
14+
jobs:
15+
check:
16+
runs-on: ubuntu-24.04-arm
17+
steps:
18+
- name: Setup node@24
19+
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
20+
with:
21+
node-version: 24
22+
- name: Install pnpm
23+
run: npm install -g pnpm
24+
- name: Checkout repository
25+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
26+
- name: Install front-end dependencies
27+
run: pnpm install
28+
- name: Build front-end assets
29+
run: pnpm run build
30+
- name: Check
31+
run: pnpm run lint

.github/workflows/publish.yml

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
name: Publish
2+
on:
3+
push:
4+
branches:
5+
- main
6+
tags-ignore:
7+
- "**"
8+
paths-ignore:
9+
- "**/*.gitignore"
10+
- .editorconfig
11+
- apps/**
12+
- examples/**
13+
- decisions/**
14+
pull_request: null
15+
jobs:
16+
publish:
17+
name: Publish
18+
runs-on: ubuntu-24.04-arm
19+
permissions:
20+
contents: write
21+
id-token: write
22+
steps:
23+
- name: Setup node@24
24+
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
25+
with:
26+
node-version: 24
27+
registry-url: "https://registry.npmjs.org"
28+
- name: Install latest npm
29+
run: npm install -g npm@latest
30+
- name: Install pnpm
31+
run: npm install -g pnpm
32+
- name: Checkout repository
33+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
34+
- name: Install dependencies
35+
run: pnpm install
36+
- name: Build front-end assets
37+
run: pnpm run build
38+
- name: Run lint
39+
run: pnpm run lint
40+
- name: Publish
41+
run: |
42+
if git log -1 --pretty=%B | grep "^release: [0-9]\+\.[0-9]\+\.[0-9]\+$";
43+
then
44+
pnpm --filter "./packages/**" publish --provenance --access public
45+
elif git log -1 --pretty=%B | grep "^release: [0-9]\+\.[0-9]\+\.[0-9]\+-beta\.[0-9]\+$";
46+
then
47+
pnpm --filter "./packages/**" publish --provenance --access public --tag beta --no-git-checks
48+
elif git log -1 --pretty=%B | grep "^release: [0-9]\+\.[0-9]\+\.[0-9]\+-next\.[0-9]\+$";
49+
then
50+
pnpm --filter "./packages/**" publish --provenance --access public --tag next --no-git-checks
51+
else
52+
echo "Not a release, skipping publish"
53+
fi

.github/workflows/test.yml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: Test
2+
on:
3+
push:
4+
branches:
5+
- main
6+
pull_request:
7+
types: [opened, edited, reopened, synchronize]
8+
branches:
9+
- "**"
10+
env:
11+
NODE_OPTIONS: --max_old_space_size=102400
12+
permissions:
13+
contents: read
14+
jobs:
15+
test:
16+
runs-on: ubuntu-24.04-arm
17+
steps:
18+
- name: Setup node@24
19+
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
20+
with:
21+
node-version: 24
22+
- name: Install pnpm
23+
run: npm install -g pnpm
24+
- name: Checkout repository
25+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
26+
- name: Install front-end dependencies
27+
run: pnpm install
28+
- name: Build front-end assets
29+
run: pnpm run build
30+
- name: Test on node@24
31+
run: pnpm run test
32+
- name: Setup node@20
33+
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
34+
with:
35+
node-version: 20
36+
- name: Test on node@20
37+
run: pnpm run test

0 commit comments

Comments
 (0)