Skip to content

Commit 5d80391

Browse files
committed
ci: Create release-please workflow
1 parent c26330d commit 5d80391

2 files changed

Lines changed: 67 additions & 0 deletions

File tree

.github/actions/setup/action.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
name: 'Setup Bun Environment'
2+
description: 'Setup Bun runtime and install dependencies'
3+
runs:
4+
using: composite
5+
steps:
6+
- uses: jdx/mise-action@6d1e696aa24c1aa1bcc1adea0212707c71ab78a8 # v3.6.1
7+
- uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3
8+
with:
9+
path: ~/.bun/install/cache
10+
key: ${{ runner.os }}-bun-${{ hashFiles('**/bun.lock') }}
11+
restore-keys: |
12+
${{ runner.os }}-bun-
13+
- run: bun install --frozen-lockfile
14+
shell: bash
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
name: Release Please
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
8+
concurrency:
9+
group: ${{ github.workflow }}-${{ github.ref }}
10+
cancel-in-progress: false
11+
12+
permissions: {}
13+
14+
jobs:
15+
release-please:
16+
name: Release Please
17+
timeout-minutes: 10
18+
permissions:
19+
contents: write # Required to create releases and tags
20+
pull-requests: write # Required to create and update release PRs
21+
issues: write # Required to comment on issues
22+
runs-on: ubuntu-latest
23+
outputs:
24+
should-release: ${{ steps.release-please.outputs.release_created }}
25+
steps:
26+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
27+
with:
28+
persist-credentials: false
29+
- id: release-please
30+
uses: googleapis/release-please-action@16a9c90856f42705d54a6fda1823352bdc62cf38 # v4.4.0
31+
with:
32+
release-type: node
33+
token: ${{ github.token }}
34+
35+
publish:
36+
name: Publish
37+
needs: release-please
38+
timeout-minutes: 10
39+
runs-on: ubuntu-latest
40+
permissions:
41+
contents: read
42+
id-token: write # Required for npm provenance
43+
if: ${{ needs.release-please.outputs.should-release == 'true' }}
44+
steps:
45+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
46+
with:
47+
persist-credentials: false
48+
49+
- uses: ./.github/actions/setup
50+
51+
- name: Create .npmrc
52+
run: echo 'registry=https://registry.npmjs.org' > .npmrc
53+
- run: npm publish

0 commit comments

Comments
 (0)