Windows runs the full build and test suite and is the slowest CI job (about 22 minutes), so on every push and PR it adds the most wait for the least marginal signal on pure-Swift changes. It now triggers only on a v* tag push (cutting a release) or via workflow_dispatch, keeping per-PR CI fast. The badge reflects the last release's Windows run. Deviates from the uniform-trigger convention deliberately, for CI speed.
30 lines
768 B
YAML
30 lines
768 B
YAML
name: Swift (Windows)
|
|
|
|
# Windows runs the full build and test suite but is the slowest CI job, so it
|
|
# runs only when cutting a release (a `v*` tag push) or on demand, not on every
|
|
# push and PR. This keeps per-PR CI fast; the badge reflects the Windows run as
|
|
# of the last release.
|
|
on:
|
|
push:
|
|
tags: ['v*']
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
swift-windows:
|
|
name: Swift (Windows)
|
|
runs-on: windows-2022
|
|
timeout-minutes: 45
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
- name: Install Swift
|
|
uses: compnerd/gha-setup-swift@main
|
|
with:
|
|
swift-version: swift-6.3.2-release
|
|
swift-build: 6.3.2-RELEASE
|
|
- name: Build and test
|
|
shell: pwsh
|
|
run: ./scripts/check-windows.ps1
|