Skip to content

Commit e0b5564

Browse files
committed
feat: add tag-triggered release workflow with OIDC publishing
Create GitHub Release with extension zip and publish MCP server to npm when a v* tag is pushed. Uses npm OIDC trusted publisher for authentication — no secrets to manage. Closes #209
1 parent 71c5cad commit e0b5564

1 file changed

Lines changed: 45 additions & 0 deletions

File tree

.github/workflows/release.yml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
tags: ['v*']
6+
7+
permissions:
8+
contents: write
9+
id-token: write
10+
11+
jobs:
12+
release:
13+
runs-on: ubuntu-latest
14+
steps:
15+
- uses: actions/checkout@v4
16+
17+
- uses: jdx/mise-action@v2
18+
19+
- run: pnpm install --frozen-lockfile
20+
21+
- run: pnpm fmt:check
22+
- run: pnpm lint
23+
- run: pnpm build
24+
- run: pnpm test
25+
26+
- name: Install Playwright for e2e
27+
run: pnpm exec playwright install chromium
28+
29+
- run: pnpm test:e2e
30+
31+
- name: Zip extension
32+
run: cd dist && zip -r ../css-noop-checker-${{ github.ref_name }}.zip .
33+
34+
- name: Create GitHub Release
35+
run: |
36+
gh release create "${{ github.ref_name }}" \
37+
"css-noop-checker-${{ github.ref_name }}.zip#Chrome Extension" \
38+
--title "${{ github.ref_name }}" \
39+
--generate-notes
40+
env:
41+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
42+
43+
- name: Publish MCP server to npm
44+
working-directory: mcp-server
45+
run: npm publish --provenance --access public

0 commit comments

Comments
 (0)