Skip to content
Merged
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
45 changes: 29 additions & 16 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,23 +8,24 @@ on:
permissions:
contents: read

env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true"

jobs:
test:
name: Unit, Integration, and Coverage
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5
Copy link

Copilot AI Mar 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR description says google-github-actions/auth and google-github-actions/setup-gcloud were upgraded, but there are no references to google-github-actions/* anywhere in this repo’s workflows. Either update the PR description to match the actual change set, or include the missing workflow updates in this PR.

Copilot uses AI. Check for mistakes.

- name: Setup Node.js
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version-file: .node-version

- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version-file: .bun-version
run: bash ./scripts/setup-bun.sh

- name: Install dependencies
run: bun install --frozen-lockfile
Expand All @@ -39,7 +40,7 @@ jobs:
run: bun run test:coverage

- name: Upload coverage artifact
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: coverage
path: coverage/
Expand All @@ -49,28 +50,40 @@ jobs:
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
if: ${{ env.CODECOV_TOKEN != '' }}
uses: codecov/codecov-action@v4
with:
token: ${{ env.CODECOV_TOKEN }}
files: coverage/lcov.info
fail_ci_if_error: false
run: |
python3 -m pip install --user codecov-cli
export PATH="$HOME/.local/bin:$PATH"

args=(
do-upload
--git-service github
--token "$CODECOV_TOKEN"
--slug "$GITHUB_REPOSITORY"
--commit-sha "$GITHUB_SHA"
--file coverage/lcov.info
--disable-search
)

if [ "${{ github.event_name }}" = "pull_request" ]; then
args+=( --pull-request-number "${{ github.event.pull_request.number }}" )
fi

codecovcli "${args[@]}" || echo "Codecov upload failed; continuing because fail_ci_if_error is disabled."

security-audit:
name: Dependency Security Audit
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Setup Node.js
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version-file: .node-version

- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version-file: .bun-version
run: bash ./scripts/setup-bun.sh

- name: Install dependencies
run: bun install --frozen-lockfile
Expand Down
15 changes: 8 additions & 7 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ permissions:
contents: read
security-events: write

env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true"

jobs:
analyze:
name: Analyze (JavaScript/TypeScript)
Expand All @@ -28,22 +31,20 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Initialize CodeQL
uses: github/codeql-action/init@v3
uses: github/codeql-action/init@v4
with:
languages: ${{ matrix.language }}

- name: Setup Node.js
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version-file: .node-version

- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version-file: .bun-version
run: bash ./scripts/setup-bun.sh

- name: Install dependencies
run: bun install --frozen-lockfile
Expand All @@ -52,6 +53,6 @@ jobs:
run: bun run build

- name: Perform CodeQL analysis
uses: github/codeql-action/analyze@v3
uses: github/codeql-action/analyze@v4
with:
category: "/language:${{ matrix.language }}"
11 changes: 6 additions & 5 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,24 +11,25 @@ permissions:
artifact-metadata: write
packages: write

env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true"

jobs:
npm-publish:
name: Publish npm Package
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Setup Node.js
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version-file: .node-version
registry-url: https://registry.npmjs.org

- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version-file: .bun-version
run: bash ./scripts/setup-bun.sh

- name: Install dependencies
run: bun install --frozen-lockfile
Expand Down
15 changes: 15 additions & 0 deletions scripts/setup-bun.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#!/usr/bin/env bash

set -euo pipefail

BUN_VERSION="$(tr -d '\n' < .bun-version)"
BUN_VERSION="${BUN_VERSION#bun-v}"
BUN_VERSION="${BUN_VERSION#v}"

if ! command -v unzip >/dev/null; then
sudo apt-get update
sudo apt-get install -y unzip
fi

curl -fsSL https://bun.sh/install | bash -s "bun-v${BUN_VERSION}"
echo "$HOME/.bun/bin" >> "$GITHUB_PATH"