Repository navigation
ci: run the checks on Windows beside Linux - #132
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Run this repo's CI on Windows beside Linux and fix what breaks there, so the AntelopeJS stack is known to work on Windows (ANT-2204).
What
ci.ymlpasseswindows: truetoci-node.yml@v1, so the Node and Test jobs also run onwindows-latest, in parallel with Linux. The repo had no hand-written Windows job to replace..gitattributessets* text=auto eol=lf, so a checkout withcore.autocrlf=truekeeps LF. The index already held no CRLF file, so nothing was renormalized.@antelopejs/tooling-configsgoes from 0.5.5 to 0.5.8.antelopejs-sync0.5.8 refuses to run whilepnpm-workspace.yamlholds onlyallowBuilds, so that file is deleted. The resync updated the managedREADME.mdstack table and.agents/skills/verify-interface/SKILL.md.Windows failures
Published declarations: type-check in a consumer module. The test serves an in-memory
consumer.tsfrom a TypeScript compiler host that compared names with===. On Windows,path.joinbuildsD:\…\consumer.ts, but TypeScript asks forD:/…/consumer.ts, so the host missed and TypeScript reported TS6053. The host now comparespath.resolve(file).Field Access Control: read in a read write field (2000 ms timeout).
@antelopejs/mongodbbuilds every table registered in a schema before the schema's first query answers. Mocha loads every test file first, so the suite's first query paid for about 40 collections and their indexes. Probe runs on the CI timed each phase:The raw warm-up itself took 43 ms on Windows, so the cost is the schema build, not MongoDB starting cold. A root
beforehook insrc/tests/default_schema.test.tsnow registers thedefaultschema and waits for one query under its own 30 s budget, so no test pays for the build. On a Linux machine, the first test's insert in the full suite went from 592 ms without the hook to 34 ms with it.A first attempt pointed the test client at
127.0.0.1instead oflocalhost. The second run (43431435846) still timed out, and that change is reverted in the net diff.Proof
Before, the first run with
windows: true: run 43430873309, Test .nvmrc on WindowsAfter: run 43433398789, Test .nvmrc on Windows
In run 43433398789, Node .nvmrc on Windows, Node .nvmrc, Test .nvmrc and the
checksgate pass too.