Skip to content

chore(deps): update dependency @types/node to v24 #484

chore(deps): update dependency @types/node to v24

chore(deps): update dependency @types/node to v24 #484

Workflow file for this run

name: Frontend CI
on:
push:
branches:
- main
- master
- develop
paths:
- 'apps/web/**'
- 'apps/native/**'
- 'packages/**'
- 'package.json'
- 'pnpm-lock.yaml'
- 'pnpm-workspace.yaml'
- 'turbo.json'
- 'biome.jsonc'
- '.github/workflows/frontend-ci.yml'
pull_request:
branches:
- main
- master
- develop
paths:
- 'apps/web/**'
- 'apps/native/**'
- 'packages/**'
- 'package.json'
- 'pnpm-lock.yaml'
- 'pnpm-workspace.yaml'
- 'turbo.json'
- 'biome.jsonc'
- '.github/workflows/frontend-ci.yml'
permissions:
contents: read
checks: write
pull-requests: write
# Cancel in-progress CI runs on the same branch/PR
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
lint:
name: Lint & Format Check
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Read tool versions
id: asdf
run: |
echo "nodejs=$(grep nodejs .tool-versions | awk '{print $2}')" >> $GITHUB_OUTPUT
echo "pnpm=$(grep pnpm .tool-versions | awk '{print $2}')" >> $GITHUB_OUTPUT
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: ${{ steps.asdf.outputs.nodejs }}
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: ${{ steps.asdf.outputs.pnpm }}
run_install: false
- name: Get pnpm store directory
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- name: Setup pnpm cache
uses: actions/cache@v5
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Lint with Biome (Ultracite)
run: pnpm check
typecheck:
name: Type Check
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Install Tauri system dependencies
run: |
sudo apt-get update
sudo apt-get install -y libwebkit2gtk-4.1-dev build-essential curl wget file libxdo-dev libssl-dev libayatana-appindicator3-dev librsvg2-dev
- name: Read tool versions
id: asdf
run: |
echo "nodejs=$(grep nodejs .tool-versions | awk '{print $2}')" >> $GITHUB_OUTPUT
echo "pnpm=$(grep pnpm .tool-versions | awk '{print $2}')" >> $GITHUB_OUTPUT
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: ${{ steps.asdf.outputs.nodejs }}
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: ${{ steps.asdf.outputs.pnpm }}
run_install: false
- name: Get pnpm store directory
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- name: Setup pnpm cache
uses: actions/cache@v5
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: Setup Turborepo cache
uses: actions/cache@v5
with:
path: .turbo
key: ${{ runner.os }}-turbo-${{ github.sha }}
restore-keys: |
${{ runner.os }}-turbo-
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Type check all packages
run: pnpm check-types
build:
name: Build
runs-on: ubuntu-latest
needs: [lint, typecheck]
steps:
- name: Checkout
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Install Tauri system dependencies
run: |
sudo apt-get update
sudo apt-get install -y libwebkit2gtk-4.1-dev build-essential curl wget file libxdo-dev libssl-dev libayatana-appindicator3-dev librsvg2-dev
- name: Read tool versions
id: asdf
run: |
echo "nodejs=$(grep nodejs .tool-versions | awk '{print $2}')" >> $GITHUB_OUTPUT
echo "pnpm=$(grep pnpm .tool-versions | awk '{print $2}')" >> $GITHUB_OUTPUT
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: ${{ steps.asdf.outputs.nodejs }}
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: ${{ steps.asdf.outputs.pnpm }}
run_install: false
- name: Get pnpm store directory
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- name: Setup pnpm cache
uses: actions/cache@v5
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: Setup Turborepo cache
uses: actions/cache@v5
with:
path: .turbo
key: ${{ runner.os }}-turbo-${{ github.sha }}
restore-keys: |
${{ runner.os }}-turbo-
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Build all packages
run: pnpm build
- name: Upload web build artifacts
uses: actions/upload-artifact@v6
with:
name: web-build
path: apps/web/.next
retention-days: 7
# Optional: Add tests when you have them
test:
name: Test
runs-on: ubuntu-latest
needs: [lint, typecheck]
steps:
- name: Checkout
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Read tool versions
id: asdf
run: |
echo "nodejs=$(grep nodejs .tool-versions | awk '{print $2}')" >> $GITHUB_OUTPUT
echo "pnpm=$(grep pnpm .tool-versions | awk '{print $2}')" >> $GITHUB_OUTPUT
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: ${{ steps.asdf.outputs.nodejs }}
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: ${{ steps.asdf.outputs.pnpm }}
run_install: false
- name: Get pnpm store directory
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- name: Setup pnpm cache
uses: actions/cache@v5
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: Setup Turborepo cache
uses: actions/cache@v5
with:
path: .turbo
key: ${{ runner.os }}-turbo-${{ github.sha }}
restore-keys: |
${{ runner.os }}-turbo-
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Run tests
run: pnpm test || echo "No tests configured yet"
# Security scanning for npm packages
security:
name: Security Audit
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Read tool versions
id: asdf
run: |
echo "nodejs=$(grep nodejs .tool-versions | awk '{print $2}')" >> $GITHUB_OUTPUT
echo "pnpm=$(grep pnpm .tool-versions | awk '{print $2}')" >> $GITHUB_OUTPUT
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: ${{ steps.asdf.outputs.nodejs }}
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: ${{ steps.asdf.outputs.pnpm }}
- name: Run pnpm audit
run: pnpm audit --audit-level moderate
continue-on-error: true