ci: share Bun setup across workflows
This commit is contained in:
parent
abd795bd9a
commit
227ee97448
36
.github/actions/setup-bun/action.yml
vendored
Normal file
36
.github/actions/setup-bun/action.yml
vendored
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
name: Setup Bun workspace
|
||||
|
||||
description: Check out-independent Bun setup, cache, optional LFS pull, and install.
|
||||
|
||||
inputs:
|
||||
install-args:
|
||||
description: Arguments passed to bun install.
|
||||
required: false
|
||||
default: --frozen-lockfile
|
||||
lfs:
|
||||
description: Pull Git LFS files before installing dependencies.
|
||||
required: false
|
||||
default: 'false'
|
||||
|
||||
runs:
|
||||
using: composite
|
||||
steps:
|
||||
- name: Pull LFS files
|
||||
if: inputs.lfs == 'true'
|
||||
shell: bash
|
||||
run: |
|
||||
git lfs install --force
|
||||
git lfs pull
|
||||
head -c 4 tests/fixtures/material3.fig | xxd
|
||||
|
||||
- uses: oven-sh/setup-bun@v2
|
||||
|
||||
- uses: actions/cache@v4
|
||||
with:
|
||||
path: ~/.bun/install/cache
|
||||
key: bun-${{ runner.os }}-${{ hashFiles('bun.lock') }}
|
||||
restore-keys: bun-${{ runner.os }}-
|
||||
|
||||
- name: Install dependencies
|
||||
shell: bash
|
||||
run: bun install ${{ inputs.install-args }}
|
||||
4
.github/workflows/app.yml
vendored
4
.github/workflows/app.yml
vendored
|
|
@ -18,9 +18,7 @@ jobs:
|
|||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: oven-sh/setup-bun@v2
|
||||
|
||||
- run: bun install --frozen-lockfile
|
||||
- uses: ./.github/actions/setup-bun
|
||||
|
||||
- name: Format check
|
||||
run: bun run format:check
|
||||
|
|
|
|||
20
.github/workflows/build.yml
vendored
20
.github/workflows/build.yml
vendored
|
|
@ -36,8 +36,6 @@ jobs:
|
|||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: oven-sh/setup-bun@v2
|
||||
|
||||
- uses: dtolnay/rust-toolchain@stable
|
||||
with:
|
||||
targets: ${{ matrix.target }}
|
||||
|
|
@ -53,13 +51,7 @@ jobs:
|
|||
sudo apt-get update
|
||||
sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf
|
||||
|
||||
- uses: actions/cache@v4
|
||||
with:
|
||||
path: ~/.bun/install/cache
|
||||
key: bun-${{ runner.os }}-${{ hashFiles('bun.lock') }}
|
||||
restore-keys: bun-${{ runner.os }}-
|
||||
|
||||
- run: bun install
|
||||
- uses: ./.github/actions/setup-bun
|
||||
|
||||
- name: Extract release notes
|
||||
id: changelog
|
||||
|
|
@ -135,20 +127,12 @@ jobs:
|
|||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: oven-sh/setup-bun@v2
|
||||
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 24.x
|
||||
registry-url: https://registry.npmjs.org/
|
||||
|
||||
- uses: actions/cache@v4
|
||||
with:
|
||||
path: ~/.bun/install/cache
|
||||
key: bun-${{ runner.os }}-${{ hashFiles('bun.lock') }}
|
||||
restore-keys: bun-${{ runner.os }}-
|
||||
|
||||
- run: bun install
|
||||
- uses: ./.github/actions/setup-bun
|
||||
|
||||
- name: Build packages for publish
|
||||
run: |
|
||||
|
|
|
|||
16
.github/workflows/ci.yml
vendored
16
.github/workflows/ci.yml
vendored
|
|
@ -18,21 +18,9 @@ jobs:
|
|||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Pull LFS files
|
||||
run: |
|
||||
git lfs install --force
|
||||
git lfs pull
|
||||
head -c 4 tests/fixtures/material3.fig | xxd
|
||||
|
||||
- uses: oven-sh/setup-bun@v2
|
||||
|
||||
- uses: actions/cache@v4
|
||||
- uses: ./.github/actions/setup-bun
|
||||
with:
|
||||
path: ~/.bun/install/cache
|
||||
key: bun-${{ runner.os }}-${{ hashFiles('bun.lock') }}
|
||||
restore-keys: bun-${{ runner.os }}-
|
||||
|
||||
- run: bun install --frozen-lockfile
|
||||
lfs: 'true'
|
||||
|
||||
- name: Format check
|
||||
run: bun run format:check
|
||||
|
|
|
|||
4
.github/workflows/docs.yml
vendored
4
.github/workflows/docs.yml
vendored
|
|
@ -16,9 +16,7 @@ jobs:
|
|||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: oven-sh/setup-bun@v2
|
||||
|
||||
- run: bun install --frozen-lockfile
|
||||
- uses: ./.github/actions/setup-bun
|
||||
|
||||
- run: bun run --filter @open-pencil/docs build
|
||||
|
||||
|
|
|
|||
16
.github/workflows/heavy-tests.yml
vendored
16
.github/workflows/heavy-tests.yml
vendored
|
|
@ -14,21 +14,9 @@ jobs:
|
|||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Pull LFS files
|
||||
run: |
|
||||
git lfs install --force
|
||||
git lfs pull
|
||||
head -c 4 tests/fixtures/material3.fig | xxd
|
||||
|
||||
- uses: oven-sh/setup-bun@v2
|
||||
|
||||
- uses: actions/cache@v4
|
||||
- uses: ./.github/actions/setup-bun
|
||||
with:
|
||||
path: ~/.bun/install/cache
|
||||
key: bun-${{ runner.os }}-${{ hashFiles('bun.lock') }}
|
||||
restore-keys: bun-${{ runner.os }}-
|
||||
|
||||
- run: bun install --frozen-lockfile
|
||||
lfs: 'true'
|
||||
|
||||
- name: Heavy fig roundtrip tests
|
||||
run: bun test --timeout 180000 tests/engine/fig-roundtrip.test.ts
|
||||
|
|
|
|||
11
.github/workflows/preview.yml
vendored
11
.github/workflows/preview.yml
vendored
|
|
@ -27,15 +27,10 @@ jobs:
|
|||
with:
|
||||
ref: ${{ github.event.pull_request.head.sha }}
|
||||
|
||||
- uses: oven-sh/setup-bun@v2
|
||||
- uses: ./.github/actions/setup-bun
|
||||
|
||||
- uses: actions/cache@v4
|
||||
with:
|
||||
path: ~/.bun/install/cache
|
||||
key: bun-${{ runner.os }}-${{ hashFiles('bun.lock') }}
|
||||
restore-keys: bun-${{ runner.os }}-
|
||||
|
||||
- run: bun install --frozen-lockfile
|
||||
- name: Format check
|
||||
run: bun run format:check
|
||||
|
||||
- run: bun run build
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue