Files
automaker/.github/workflows/test.yml
Kacper 2c079623a8 fix(ci): add --ignore-scripts to Linux native bindings install
The npm install for Linux bindings was also triggering electron-builder
postinstall script. Added --ignore-scripts to all three workflows.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 12:21:43 +01:00

60 lines
1.8 KiB
YAML

name: Test Suite
on:
pull_request:
branches:
- "*"
push:
branches:
- main
- master
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "22"
cache: "npm"
cache-dependency-path: package-lock.json
- name: Configure Git for HTTPS
# Convert SSH URLs to HTTPS for git dependencies (e.g., @electron/node-gyp)
# This is needed because SSH authentication isn't available in CI
run: git config --global url."https://github.com/".insteadOf "git@github.com:"
- name: Install dependencies
# Use npm install instead of npm ci to correctly resolve platform-specific
# optional dependencies (e.g., @tailwindcss/oxide, lightningcss binaries)
# Skip scripts to avoid electron-builder install-app-deps which uses too much memory
run: npm install --ignore-scripts
- name: Install Linux native bindings
# Workaround for npm optional dependencies bug (npm/cli#4828)
# Explicitly install Linux bindings needed for build tools
run: |
npm install --no-save --force --ignore-scripts \
@rollup/rollup-linux-x64-gnu@4.53.3 \
@tailwindcss/oxide-linux-x64-gnu@4.1.17
- name: Run server tests with coverage
run: npm run test:server:coverage
env:
NODE_ENV: test
# - name: Upload coverage reports
# uses: codecov/codecov-action@v4
# if: always()
# with:
# files: ./apps/server/coverage/coverage-final.json
# flags: server
# name: server-coverage
# env:
# CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}