Files
Twitch-VOD-Manager/.gitea/workflows/windows-ci.yml
T
Sucukdeluxe 9e8a3a0f4d
Windows CI / verify (push) Failing after 2m35s
Fix Windows release verification portability
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.
2026-08-13 23:45:53 +02:00

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