• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In
Warning: This build has drifted.
The coverage report for this pull request build may be inaccurate because its base commit is no longer the HEAD of its target branch.
This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

    • Learn more: For more information on this, see Tracking coverage changes for pull request builds.
    • Fix now: For a quick fix, rebase this PR at GitHub. Your next report should be accurate.
    • Prevent going forward: To avoid this issue with future PRs, see these Recommended CI Configurations.
New Repo Setting:
INCLUDE COVERAGE % WITH WARNINGS ABOUT DRIFTED BUILDS?

Enabling this setting will include a (potentially inaccurate) coverage % with warning messages in status updates for drifted builds.

Adjust setting

99designs / gqlgen / 29643960361
0%
master: 0%

Build:
Build:
LAST BUILD BRANCH: fix/batch-resolver-value-slices
DEFAULT BRANCH: master
Ran 18 Jul 2026 12:30PM UTC
Jobs 1
Files 0
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

18 Jul 2026 12:14PM UTC coverage: 0.0%. Remained the same
29643960361

Pull #4262

github

webel-crew
fix(codegen): skip permission bits on Windows, not just default them

Addresses @StevenACoffman's feedback on the tailscale/atomicfile
reference (https://github.com/99designs/gqlgen/pull/4262#issuecomment-5011193760):
tailscale's WriteFile explicitly does

    if runtime.GOOS != "windows" {
        f.Chmod(perm)
    }

i.e. permission handling is SKIPPED on Windows, not attempted with a
default value. My prior code called tmp.Chmod(perm) unconditionally on
every platform. That's not a correctness bug (Chmod on Windows just
toggles the read-only attribute off, since it has no real owner/group/
other bits to set to 0644), but it's not the tailscale contract either
- Windows doesn't have the concept these bits are trying to express, so
attempting the call there is a category error even when harmless, and
I'd represented the comparison as more careful than it was. This gates
the whole Chmod call (and the perm-resolution stat) on
runtime.GOOS != "windows", matching tailscale's own code exactly, with
the reasoning written down inline (and a link back to the review
comment) so a future reader isn't left to rediscover why.

Confirmed while re-checking this: os.Rename on Windows already calls
MoveFileEx(MOVEFILE_REPLACE_EXISTING) internally (internal/syscall/
windows.Rename) - the exact same underlying API natefinch/atomic's
ReplaceFile wraps - so it is not a weaker primitive than the
alternatives; what it lacks is retry, which is what renameWithRetry
(the previous commit) already adds. Documented that in the retry
function's comment so the choice not to switch to a raw syscall isn't
left unexplained.

Verified: go build ./... clean; go test ./codegen/templates/...
./api/... green (including TestWriteIsAtomicPreservesPermissionsAndLeavesNoTemp,
TestWriteIsAtomicAndUnchangedShortCircuit, TestTemplateOverride,
TestRenderFS, TestGenerateAtomicWritePreservesOutputOnFailure);
gofmt/go vet/golines/gci all clean.
Pull Request #4262: fix(codegen): write generated files atomically to survive interrupted generation

0 of 0 relevant lines covered (NaN%)

0.0 hits per line

Jobs
ID Job ID Ran Files Coverage
1 29643960361.1 18 Jul 2026 12:30PM UTC 0
0.0
GitHub Action Run
Source Files on build 29643960361
Detailed source file information is not available for this build.
  • Back to Repo
  • Pull Request #4262
  • PR Base - master (#29026859304)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc