Skip to content
This repository has been archived by the owner on Dec 15, 2022. It is now read-only.

CI: Use 'windows-2019' image for Windows tests (makes CI passing) #2758

Merged
merged 1 commit into from
Apr 18, 2022

Conversation

DeeDeeG
Copy link
Contributor

@DeeDeeG DeeDeeG commented Apr 18, 2022

Description of the Change

In CI, use the 'windows-2019' image instead of 'windows-latest'.

Reason for change

This gives us an older version of Visual Studio compatible with apm's old copy of node-gyp, so CI can proceed past installing dependencies/not get stuck, on the Windows jobs.

(context: apm is still built around npm 6 --> node-gyp 5.x. Visual Studio 2022 support was only added in node-gyp 8.4.0. So we need older Visual Studio to accommodate apm's old copy of node-gyp. the 'windows-2019' image has the older Visual Studio we're looking for.)

Applicable Issues

None filed, but CI isn't passing.

More details about the issue

(I assume the Windows jobs started failing when the 'windows-latest' CI image tag was updated to point to/be an alias for the 'windows-2022' image.)

CI's Windows jobs get stuck on the "install dependencies" step, because they need to build native C/C++ code in some of the packages, but apm's old copy of node-gyp doesn't understand how to find find Visual Studio 2022 or newer, so the dependency installation steps fail. Normally the test step has a "fails allowed" setting, but this was failing even before the tests ran, causing the overall windows jobs to report failing, and thus all PRs are going to report as failing, making it much harder to tell at a glance which PRs actually pass CI on macOS and Linux. A reminder that the Windows tests have been known failing and allowed to fail without making CI red for a long time now. Failing before the tests ran is a new thing.

'windows-latest' is currently 'windows-2022'
with Visual Studio 2022.

Old versions of node-gyp don't know how to find Visual Studio 2022,
so the package build fails.

Switch back to 'windows-2019' with Visual Studio 2019,
which is supported by node-gyp 5.x, which apm still uses.
@DeeDeeG DeeDeeG changed the title CI: Use 'windows-2019' image for Windows tests CI: Use 'windows-2019' image for Windows tests (makes CI passing) Apr 18, 2022
@codecov
Copy link

codecov bot commented Apr 18, 2022

Codecov Report

Merging #2758 (f867d24) into master (be2baf3) will increase coverage by 0.00%.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #2758   +/-   ##
=======================================
  Coverage   93.46%   93.46%           
=======================================
  Files         237      237           
  Lines       13213    13213           
  Branches     1900     1900           
=======================================
+ Hits        12349    12350    +1     
+ Misses        864      863    -1     
Impacted Files Coverage Δ
lib/atom/gutter.js 92.85% <0.00%> (+2.38%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update be2baf3...f867d24. Read the comment docs.

@DeeDeeG
Copy link
Contributor Author

DeeDeeG commented Apr 18, 2022

I accidentally hit enter before I was done editing the PR body and picking a good title.

So that's been updated now.

Basically this lets the Windows CI jobs successfully install dependencies, which gets them to the "run tests" step which is already allowed to fail. So Windows CI should show as passing/green again, and overall CI should show passing/green now.

@smashwilson
Copy link
Contributor

😍 Excellent!

[..] which gets them to the "run tests" step which is already allowed to fail.

Yeah, it looks like we still have some not-obvious-to-fix failures lurking in there. This is a great step forward, though, thank you 🙇🏻

# for free to subscribe to this conversation on GitHub. Already have an account? #.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants