Windows CI / verify (push) Failing after 2m35s
Canonicalize shortcut targets across Windows short and long path forms while preserving exact target validation. Keep Gitea 1.22 push verification parser-compatible and harden CI contracts against skipped or weakened live gates.
100 lines
2.8 KiB
YAML
100 lines
2.8 KiB
YAML
name: Windows CI
|
|
|
|
on:
|
|
push:
|
|
pull_request:
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
verify:
|
|
runs-on: windows-latest
|
|
timeout-minutes: 120
|
|
env:
|
|
CI: 'true'
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
timeout-minutes: 10
|
|
- uses: actions/setup-node@v4
|
|
timeout-minutes: 10
|
|
with:
|
|
node-version: '24.11.1'
|
|
cache: npm
|
|
- name: Clean install
|
|
run: npm ci
|
|
timeout-minutes: 10
|
|
- name: Provision Electron binary
|
|
run: |
|
|
npx install-electron --no
|
|
if ($LASTEXITCODE -ne 0) {
|
|
npx install-electron --no
|
|
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
|
|
}
|
|
timeout-minutes: 10
|
|
- name: Lint
|
|
run: npm run lint
|
|
timeout-minutes: 10
|
|
- name: Lint configuration contract
|
|
run: npm run test:lint-config
|
|
timeout-minutes: 10
|
|
- name: Security contracts
|
|
run: npm run security:check
|
|
timeout-minutes: 10
|
|
- name: Security regression tests
|
|
run: npm run test:security
|
|
timeout-minutes: 10
|
|
- name: CI contract
|
|
run: npm run test:ci-contract
|
|
timeout-minutes: 10
|
|
- name: Installer contract
|
|
run: npm run test:installer-contract
|
|
timeout-minutes: 10
|
|
- name: Managed tools contract
|
|
run: npm run test:managed-tools-contract
|
|
timeout-minutes: 10
|
|
- name: Cutter matrix provisioning contract
|
|
run: npm run test:cutter-matrix-contract
|
|
timeout-minutes: 10
|
|
- name: Build
|
|
run: npm run build
|
|
timeout-minutes: 10
|
|
- name: Live integration contract
|
|
run: npm run test:live-integration-contract
|
|
timeout-minutes: 10
|
|
- name: Unit tests
|
|
run: npm run test:unit
|
|
timeout-minutes: 10
|
|
- name: Focused Electron smoke
|
|
run: npm run test:e2e:focused
|
|
timeout-minutes: 10
|
|
- name: Cutter media matrix
|
|
run: node scripts/smoke-test-cutter-media-matrix.js
|
|
timeout-minutes: 10
|
|
- name: Clean managed tools provision and repair
|
|
run: npm run test:managed-tools-live
|
|
timeout-minutes: 10
|
|
- name: Package directory
|
|
run: |
|
|
npm run pack
|
|
if ($LASTEXITCODE -ne 0) {
|
|
npm run pack
|
|
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
|
|
}
|
|
timeout-minutes: 10
|
|
- name: Packaged launch smoke
|
|
run: npm run test:packaged-launch
|
|
timeout-minutes: 10
|
|
- name: Build installer
|
|
run: |
|
|
npm run dist:ci
|
|
if ($LASTEXITCODE -ne 0) {
|
|
npm run dist:ci
|
|
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
|
|
}
|
|
timeout-minutes: 10
|
|
- name: Installer smoke
|
|
run: npm run test:installer
|
|
timeout-minutes: 10
|