Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 26 additions & 23 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,21 +33,23 @@ jobs:
with:
node-version-file: "./.nvmrc"

- name: Setup Pnpm
uses: pnpm/action-setup@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version-file: "package.json"

- name: Install
run: |
pnpm install
bun install

- name: Build
run: |
pnpm build
pnpm build.docker-ci
bun run build
bun run build.docker-ci

- name: Lint
run: |
pnpm run test.lint
bun run test.lint

- name: Update Dist
run: |
Expand Down Expand Up @@ -88,7 +90,7 @@ jobs:
- windows-2022
- ubuntu-22.04
- ubuntu-22.04-arm
- macos-13 # x64
- macos-14-large # x64
- macos-14 # arm64
steps:
- uses: actions/checkout@v5
Expand All @@ -103,18 +105,19 @@ jobs:
with:
node-version-file: "./.nvmrc"

- name: Setup Pnpm
uses: pnpm/action-setup@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version-file: "package.json"

- name: Cache node_modules
if: ${{ !contains(matrix.os, 'windows') }}
uses: actions/cache@v4
with:
path: |
~/.pnpm-store
D:\.pnpm-store
~/.bun
./node_modules
key: "setupcpp-node_modules-cache-OS:${{ matrix.os }}-${{ hashFiles('./.npmrc', './package.json', './.nvmrc', './pnpm-*.yaml') }}"
key: "setupcpp-node_modules-cache-OS:${{ matrix.os }}-${{ hashFiles('./.npmrc', './package.json', './.nvmrc', './bun.lock') }}"
restore-keys: |
"setupcpp-node_modules-cache-OS:${{ matrix.os }}-"

Expand All @@ -134,12 +137,12 @@ jobs:

- name: Install
run: |
pnpm install
bun install

# Create self-contained executable that bundles Nodejs
- name: Create Executable
run: |
pnpm run pack.exe
bun run pack.exe

- name: Upload Executables
uses: actions/upload-artifact@v4
Expand All @@ -166,9 +169,8 @@ jobs:
- macos-15 # arm64
# - macos-15-large # x64
- macos-14 # arm64
# - macos-14-large # x64
- macos-14-large # x64
# - macos-14-xlarge #arm64
- macos-13 # x64
steps:
- uses: actions/checkout@v5
with:
Expand All @@ -184,32 +186,33 @@ jobs:
with:
node-version-file: "./.nvmrc"

- name: Setup Pnpm
uses: pnpm/action-setup@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version-file: "package.json"

- name: Cache node_modules
if: ${{ !contains(matrix.os, 'windows') }}
uses: actions/cache@v4
with:
path: |
~/.pnpm-store
D:\.pnpm-store
~/.bun
./node_modules
key: "setupcpp-node_modules-cache-OS:${{ matrix.os }}-${{ hashFiles('./.npmrc', './package.json', './.nvmrc', './pnpm-*.yaml') }}"
key: "setupcpp-node_modules-cache-OS:${{ matrix.os }}-${{ hashFiles('./.npmrc', './package.json', './.nvmrc', './bun.lock') }}"
restore-keys: |
"setupcpp-node_modules-cache-OS:${{ matrix.os }}-"

- name: Install
run: |
pnpm install
bun install

# - name: Setup SSH debugging session
# uses: mxschmitt/action-tmate@v3

- name: Tests
if: ${{ !contains(github.event.head_commit.message, '[skip test]') }}
run: |
pnpm run test
bun run test
env:
RUNNER_OS_NAME: ${{ matrix.os }}

Expand Down
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# Contributing

You will need [`pnpm`](https://pnpm.io/installation) to build and test `setup-cpp`:
You will need [`bun`](https://bun.com/) to build and test `setup-cpp`:

```shell
pnpm install
bun install
```

To avoid permenant changes to your system, you can use the test docker images under `./dev/docker/__tests__`.
Expand Down
Loading
Loading