Skip to content

Commit 3ad6f84

Browse files
committed
ci: centralize bun setup to reduce duplication and improve caching
1 parent 24a5b16 commit 3ad6f84

9 files changed

Lines changed: 28 additions & 55 deletions

File tree

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
name: "Setup Bun"
2+
description: "Setup Bun with caching and install dependencies"
3+
runs:
4+
using: "composite"
5+
steps:
6+
- name: Setup Bun
7+
uses: oven-sh/setup-bun@v2
8+
9+
- name: Cache ~/.bun
10+
id: cache-bun
11+
uses: actions/cache@v4
12+
with:
13+
path: ~/.bun
14+
key: ${{ runner.os }}-bun-${{ hashFiles('bun.lockb', 'bun.lock') }}
15+
restore-keys: |
16+
${{ runner.os }}-bun-
17+
18+
- name: Install dependencies
19+
run: bun install
20+
shell: bash

.github/workflows/deploy.yml

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,7 @@ jobs:
1515
steps:
1616
- uses: actions/checkout@v3
1717

18-
- uses: oven-sh/setup-bun@v1
19-
with:
20-
bun-version: 1.3.0
21-
22-
- run: bun install
18+
- uses: ./.github/actions/setup-bun
2319

2420
- run: bun sst deploy --stage=${{ github.ref_name }}
2521
env:

.github/workflows/format.yml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,10 @@ jobs:
2020
token: ${{ secrets.GITHUB_TOKEN }}
2121

2222
- name: Setup Bun
23-
uses: oven-sh/setup-bun@v1
24-
with:
25-
bun-version: 1.3.0
23+
uses: ./.github/actions/setup-bun
2624

2725
- name: run
2826
run: |
29-
bun install
3027
./script/format.ts
3128
env:
3229
CI: true

.github/workflows/publish-vscode.yml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,13 @@ jobs:
1919
with:
2020
fetch-depth: 0
2121

22-
- uses: oven-sh/setup-bun@v2
23-
with:
24-
bun-version: 1.3.0
22+
- uses: ./.github/actions/setup-bun
2523

2624
- run: git fetch --force --tags
2725
- run: bun install -g @vscode/vsce
2826

2927
- name: Publish
3028
run: |
31-
bun install
3229
./script/publish
3330
working-directory: ./sdks/vscode
3431
env:

.github/workflows/publish.yml

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -35,18 +35,7 @@ jobs:
3535
cache: true
3636
cache-dependency-path: go.sum
3737

38-
- uses: oven-sh/setup-bun@v2
39-
with:
40-
bun-version: 1.3.0
41-
42-
- name: Cache ~/.bun
43-
id: cache-bun
44-
uses: actions/cache@v3
45-
with:
46-
path: ~/.bun
47-
key: ${{ runner.os }}-bun-1-3-0-${{ hashFiles('bun.lock') }}
48-
restore-keys: |
49-
${{ runner.os }}-bun-1-3-0-
38+
- uses: ./.github/actions/setup-bun
5039

5140
- name: Install makepkg
5241
run: |
@@ -60,8 +49,6 @@ jobs:
6049
git config --global user.email "opencode@sst.dev"
6150
git config --global user.name "opencode"
6251
ssh-keyscan -H aur.archlinux.org >> ~/.ssh/known_hosts || true
63-
- name: Install dependencies
64-
run: bun install
6552
6653
- name: Install OpenCode
6754
run: curl -fsSL https://opencode.ai/install | bash

.github/workflows/snapshot.yml

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -24,21 +24,7 @@ jobs:
2424
cache: true
2525
cache-dependency-path: go.sum
2626

27-
- uses: oven-sh/setup-bun@v2
28-
with:
29-
bun-version: 1.3.0
30-
31-
- name: Cache ~/.bun
32-
id: cache-bun
33-
uses: actions/cache@v3
34-
with:
35-
path: ~/.bun
36-
key: ${{ runner.os }}-bun-1-3-0-${{ hashFiles('bun.lock') }}
37-
restore-keys: |
38-
${{ runner.os }}-bun-1-3-0-
39-
40-
- name: Install dependencies
41-
run: bun install
27+
- uses: ./.github/actions/setup-bun
4228

4329
- name: Publish
4430
run: |

.github/workflows/stats.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,7 @@ jobs:
1616
uses: actions/checkout@v4
1717

1818
- name: Setup Bun
19-
uses: oven-sh/setup-bun@v2
20-
with:
21-
bun-version: latest
19+
uses: ./.github/actions/setup-bun
2220

2321
- name: Run stats script
2422
run: bun script/stats.ts

.github/workflows/test.yml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,12 @@ jobs:
1818
token: ${{ secrets.GITHUB_TOKEN }}
1919

2020
- name: Setup Bun
21-
uses: oven-sh/setup-bun@v1
22-
with:
23-
bun-version: 1.3.0
21+
uses: ./.github/actions/setup-bun
2422

2523
- name: run
2624
run: |
2725
git config --global user.email "bot@opencode.ai"
2826
git config --global user.name "opencode"
29-
bun install
3027
bun turbo test
3128
env:
3229
CI: true

.github/workflows/typecheck.yml

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,7 @@ jobs:
1313
uses: actions/checkout@v4
1414

1515
- name: Setup Bun
16-
uses: oven-sh/setup-bun@v1
17-
with:
18-
bun-version: 1.3.0
19-
20-
- name: Install dependencies
21-
run: bun install
16+
uses: ./.github/actions/setup-bun
2217

2318
- name: Run typecheck
2419
run: bun typecheck

0 commit comments

Comments
 (0)