Skip to content

Commit fc1820a

Browse files
authored
ci: setup publish workflow (#122)
1 parent 565655f commit fc1820a

File tree

1 file changed

+67
-0
lines changed

1 file changed

+67
-0
lines changed

.github/workflows/publish.yml

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
name: CI
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
release-type:
7+
type: choice
8+
description: Type of the release
9+
options:
10+
- patch
11+
- minor
12+
- major
13+
14+
permissions:
15+
contents: read
16+
id-token: write
17+
18+
jobs:
19+
publish:
20+
runs-on: ubuntu-latest
21+
steps:
22+
- uses: actions/checkout@v4
23+
with:
24+
fetch-depth: 0
25+
26+
- uses: pnpm/action-setup@v2
27+
28+
- uses: actions/setup-node@v4
29+
with:
30+
node-version: 22
31+
registry-url: 'https://registry.npmjs.org'
32+
33+
# OICD requires updated npm even when pnpm is used
34+
- name: Update npm
35+
run: |
36+
npm --version
37+
npm install -g npm@latest
38+
npm --version
39+
40+
- name: Install Dependencies
41+
run: pnpm install
42+
43+
- name: Build
44+
run: pnpm build
45+
46+
- name: Typecheck
47+
run: pnpm typecheck
48+
49+
- name: Lint
50+
run: pnpm lint
51+
52+
- name: Test
53+
run: pnpm test
54+
55+
- name: Configure github-actions git
56+
run: |
57+
git config --global user.name 'github-actions'
58+
git config --global user.email '[email protected]'
59+
60+
- name: Bump version
61+
run: pnpm version ${{ github.event.inputs.release-type }}
62+
63+
- name: Push release tag
64+
run: git push origin main --follow-tags
65+
66+
- name: Publish to npm
67+
run: pnpm publish

0 commit comments

Comments
 (0)