52 lines
1.2 KiB
YAML
52 lines
1.2 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: [main, master]
|
|
pull_request:
|
|
workflow_dispatch:
|
|
|
|
concurrency:
|
|
group: ci-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
env:
|
|
NODE_OPTIONS: '--dns-result-order=ipv4first'
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 20
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Use Node.js 22
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: '22'
|
|
|
|
- name: Install dependencies
|
|
timeout-minutes: 10
|
|
env:
|
|
GIT_TERMINAL_PROMPT: '0'
|
|
npm_config_fetch_retries: '3'
|
|
npm_config_fetch_timeout: '120000'
|
|
run: |
|
|
set -euo pipefail
|
|
git config --global url."https://github.com/".insteadOf "ssh://[email protected]/"
|
|
git config --global url."https://github.com/".insteadOf "[email protected]:"
|
|
npm install --no-audit --no-fund --loglevel=info
|
|
|
|
- name: Test
|
|
env:
|
|
SKIP_INTEGRATION: '1'
|
|
run: npm test
|
|
|
|
- name: Syntax check packaging entrypoints
|
|
run: |
|
|
node --check bin/peardata-server.mjs
|
|
node --check scripts/make.cjs
|
|
node --check scripts/bare-standalone.cjs
|
|
node --check forge.config.cjs
|
|
node --check electron/main.cjs
|