Skip to content

Commit b7f0501

Browse files
committed
feat(gha): add release workflow
1 parent fcfaf41 commit b7f0501

File tree

3 files changed

+66
-0
lines changed

3 files changed

+66
-0
lines changed

.github/workflows/release.yaml

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*.*.*'
7+
8+
jobs:
9+
check:
10+
name: Check
11+
uses: ./.github/workflows/check.yaml
12+
13+
release:
14+
name: Release
15+
needs: check
16+
17+
runs-on: ubuntu-latest
18+
defaults:
19+
run:
20+
shell: bash
21+
22+
permissions:
23+
id-token: write # for NPM provenance establishment
24+
contents: write # for GitHub release
25+
26+
steps:
27+
- name: Checkout
28+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
29+
30+
- name: Set up pnpm
31+
uses: pnpm/action-setup@a3252b78c470c02df07e9d59298aecedc3ccdd6d # v3.0.0
32+
33+
- name: Set up Node.js
34+
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
35+
with:
36+
node-version: 20.17.0
37+
cache: pnpm
38+
registry-url: https://registry.npmjs.org/
39+
40+
- name: Install dependencies
41+
run: pnpm install
42+
43+
- name: Replace GitHub-flavored Markdown alerts with standard Markdown
44+
run: sed -i 's/^> *\[\!\([a-zA-Z]\)\([a-zA-Z]*\)\] */> **\U\1\L\2** /g' ./*.md
45+
# Basically replaces:
46+
# > [!NOTE]
47+
# with:
48+
# > **Note**
49+
50+
- name: Publish to npmjs.com
51+
env:
52+
NODE_AUTH_TOKEN: ${{ secrets.NPM_ACCESS_TOKEN }}
53+
run: pnpm publish --provenance --access=public --no-git-checks
54+
55+
- name: Create a tarball for the GitHub release
56+
run: pnpm pack
57+
58+
- name: Draft release on GitHub
59+
uses: softprops/action-gh-release@e7a8f85e1c67a31e6ed99a94b41bd0b71bbee6b8 # v2.0.9
60+
with:
61+
draft: true
62+
generate_release_notes: true
63+
fail_on_unmatched_files: true
64+
files: |
65+
svelte-tiny-virtual-list-*.tgz

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,3 +47,4 @@ vite.config.ts.timestamp-*
4747
/build/
4848
/dist/
4949
/test-results/
50+
*.tgz

0 commit comments

Comments
 (0)