Skip to content

feat: add new github actions workflow for windows integ tests - #1867

Open
dgandhi62 wants to merge 2 commits into
windows-integ-1-harnessfrom
windows-integ-2-workflow
Open

feat: add new github actions workflow for windows integ tests#1867
dgandhi62 wants to merge 2 commits into
windows-integ-1-harnessfrom
windows-integ-2-workflow

Conversation

@dgandhi62

@dgandhi62 dgandhi62 commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Adds Windows instances of the five integ suites (cli-integ-tests, toolkit-lib, telemetry, init-templates, tool-integrations) and wires up when they run. Windows tests take about ~24 minutes to run on the default core by github. Therefore, we don't run them on every pr. Instead, we run them:

  • Nightly at 06:00 UTC, unattended. A failure files (or comments on) a tracking issue labelled potential-regression.
  • On demand when a PR carries the pr/test-windows label. This failure then blocks the PR like any other integ failure.

Linux is excluded from the nightly since it already runs on every PR

A schedule-only integ_windows_report_failure job files a GitHub issue on failure. Label-triggered PR runs file nothing. The job also must keep the default GITHUB_TOKEN. Issues created with it don't trigger other workflows, which is what stops issue-regression-labeler from stripping potential-regression off an issue whose body has no regression checkbox

Prerequisites

Requires the pr/test-windows label to exist in the repository so maintainers can opt a PR into the Windows suites. The nightly needs no label (it runs on a cron schedule). The failure-report issue uses the existing potential-regression label, already managed by issue-regression-labeler.

Checklist

  • This change contains a major version upgrade for a dependency and I confirm all breaking changes are addressed
    • Release notes for the new version:

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license

@dgandhi62
dgandhi62 deployed to automation August 20, 2026 21:20 — with GitHub Actions Active
@dgandhi62
dgandhi62 deployed to no-approval August 20, 2026 21:20 — with GitHub Actions Active
@github-actions github-actions Bot added the p2 label Aug 20, 2026
@aws-cdk-automation
aws-cdk-automation requested a review from a team August 20, 2026 21:21
@github-actions

Copy link
Copy Markdown
Contributor

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Scanned Files

None

@dgandhi62
dgandhi62 deployed to integ-approval August 21, 2026 17:43 — with GitHub Actions Active
Adds Windows instances of the five integ suites and decides when they run.
Windows is slow and flaky-prone, so it does not gate every PR:

- nightly at 06:00 UTC, where it runs unattended and reports a failure by
  filing (or commenting on) a tracking issue
- on a PR that opts in with the 'pr/test-windows' label
- on a manual workflow_dispatch, which is the only one of the three
  reachable from a branch

Linux is excluded from the nightly, since it already runs on every PR.

Supporting workflow changes: a Dev Drive for TEMP and the npm cache, since
the suites are dominated by small-file writes; bash as the default shell so
the shared step scripts run unchanged under Git Bash; a Windows skip list
for tests that need Linux Docker images; approval bypass and checkout
fallbacks for events that carry no pull request.

Requires the 'pr/test-windows' and 'windows-integ-nightly' labels to exist
in the repository.
files a GitHub issue labelled 'potential-regression', which is already
wired up to page the team.

Only on the schedule. A PR that opts into the Windows suites via the
'pr/test-windows' label files nothing: the failure is already a red check
on the PR, and the label is there so a contributor can try Windows out,
not to page anyone.

The issue records the commit SHA as well as the run URL. Dependency
upgrades merge unattended at 00:00 UTC and the nightly runs at 06:00, so
consecutive nightlies do not necessarily test the same commit.

The job MUST keep the default GITHUB_TOKEN. Issues created with it do not
trigger other workflow runs, which is what stops issue-regression-labeler
from stripping 'potential-regression' off an issue whose body has no
regression checkbox. A PAT here would silently stop the page.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant