The portability job's matrix is os: [ubuntu-latest]. Windows is not in it, and the comment above the job says why: the relay transport resolves hostnames through libc getaddrinfo, which Zig's standard library does not declare for Windows, so nothing depending on the library links there. I filed it as zig-nostr/nostr#59 with two candidate fixes and a recommendation, and it is a library problem rather than a Plaza one.
The consequence is that getaddrinfo is the only Windows break anybody knows about. It is the first one, found by this job on its very first run, and there is no reason to believe it is the last. Everything behind it stays invisible until somebody tries again by hand.
Which is the argument for adding the job before the block clears rather than after. A windows-latest entry with continue-on-error: true does not gate a pull request and costs one line, and it turns "Windows is broken, we think in one place" into a build log that names the next break as soon as the first one lands.
The matrix is close to ready as written: the GTK and WebKit install step is already conditioned on matrix.os == 'ubuntu-latest', and the version-reading and formatting steps already pin shell: bash.
Done
windows-latest is in the portability matrix as a non-blocking job, so the state of the Windows build is a log rather than a claim in a comment, and it becomes blocking on the change that makes it pass.
The
portabilityjob's matrix isos: [ubuntu-latest]. Windows is not in it, and the comment above the job says why: the relay transport resolves hostnames through libcgetaddrinfo, which Zig's standard library does not declare for Windows, so nothing depending on the library links there. I filed it as zig-nostr/nostr#59 with two candidate fixes and a recommendation, and it is a library problem rather than a Plaza one.The consequence is that
getaddrinfois the only Windows break anybody knows about. It is the first one, found by this job on its very first run, and there is no reason to believe it is the last. Everything behind it stays invisible until somebody tries again by hand.Which is the argument for adding the job before the block clears rather than after. A
windows-latestentry withcontinue-on-error: truedoes not gate a pull request and costs one line, and it turns "Windows is broken, we think in one place" into a build log that names the next break as soon as the first one lands.The matrix is close to ready as written: the GTK and WebKit install step is already conditioned on
matrix.os == 'ubuntu-latest', and the version-reading and formatting steps already pinshell: bash.Done
windows-latestis in the portability matrix as a non-blocking job, so the state of the Windows build is a log rather than a claim in a comment, and it becomes blocking on the change that makes it pass.