Skip to content

Fix check-pr-labels#11862

Open
hasufell wants to merge 4 commits into
haskell:masterfrom
hasufell:CI-fix-check-pr-labels
Open

Fix check-pr-labels#11862
hasufell wants to merge 4 commits into
haskell:masterfrom
hasufell:CI-fix-check-pr-labels

Conversation

@hasufell
Copy link
Copy Markdown
Member

@hasufell hasufell commented May 22, 2026


Template B: This PR does not modify behaviour or interface

E.g. the PR only touches documentation or tests, does refactorings, etc.

Include the following checklist in your PR:

  • Patches conform to the coding conventions.
  • Is this a PR that fixes CI? If so, it will need to be backported to older cabal release branches (ask maintainers for directions).

@hasufell hasufell requested a review from ulysses4ever May 22, 2026 15:25
@hasufell
Copy link
Copy Markdown
Member Author

@hasufell
Copy link
Copy Markdown
Member Author

Copy link
Copy Markdown
Collaborator

@ulysses4ever ulysses4ever left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!

@ulysses4ever ulysses4ever added the merge me Tell Mergify Bot to merge label May 22, 2026
@hasufell
Copy link
Copy Markdown
Member Author

on i386 alex segfaults... I'm not sure it makes sense to invest time in this

@ulysses4ever
Copy link
Copy Markdown
Collaborator

Perhaps not here: It'd be great to have the fixed label check in regardless of failures. Since these jobs aren't required (I hope), this should be merged normally (again, I hope).

@mergify mergify Bot added the ready and waiting Mergify is waiting out the cooldown period label May 22, 2026
@philderbeast
Copy link
Copy Markdown
Collaborator

philderbeast commented May 23, 2026

Can we speed up the merge?
All other requests are falling
-- @zlonast on Cabal and Hackage matrix channel

Is this pull request one we want to add the merge delay passed label to?

@ulysses4ever
Copy link
Copy Markdown
Collaborator

@philderbeast these days it's adviced to use "priority: high" for this purpose. I'll put it on.

@mergify mergify Bot added merge delay passed Applied (usually by Mergify) when PR approved and received no updates for 2 days queued labels May 23, 2026
@mergify
Copy link
Copy Markdown
Contributor

mergify Bot commented May 23, 2026

Merge Queue Status

This pull request spent 1 hour 38 minutes 8 seconds in the queue, including 1 hour 27 minutes running CI.

Waiting for any of
  • check-neutral = Validate post job
  • check-skipped = Validate post job
  • check-success = Validate post job
All conditions
  • any of [🛡 GitHub branch protection]:
    • check-neutral = Validate post job
    • check-skipped = Validate post job
    • check-success = Validate post job
  • #approved-reviews-by >= 2 [🛡 GitHub branch protection]
  • #changes-requested-reviews-by = 0 [🛡 GitHub branch protection]
  • #review-threads-unresolved = 0 [🛡 GitHub branch protection]
  • any of [🛡 GitHub branch protection]:
    • check-success = Doctest Cabal
    • check-neutral = Doctest Cabal
    • check-skipped = Doctest Cabal
  • any of [🛡 GitHub branch protection]:
    • check-success = Meta checks
    • check-neutral = Meta checks
    • check-skipped = Meta checks
  • any of [🛡 GitHub branch protection]:
    • check-success = docs/readthedocs.org:cabal
    • check-neutral = docs/readthedocs.org:cabal
    • check-skipped = docs/readthedocs.org:cabal
  • any of [🛡 GitHub branch protection]:
    • check-success = fourmolu
    • check-neutral = fourmolu
    • check-skipped = fourmolu
  • any of [🛡 GitHub branch protection]:
    • check-success = hlint
    • check-neutral = hlint
    • check-skipped = hlint
  • any of [🛡 GitHub branch protection]:
    • check-success = Bootstrap post job
    • check-neutral = Bootstrap post job
    • check-skipped = Bootstrap post job
  • any of [🛡 GitHub branch protection]:
    • check-success = whitespace
    • check-neutral = whitespace
    • check-skipped = whitespace
  • any of [🛡 GitHub branch protection]:
    • check-success = Check sdist post job
    • check-neutral = Check sdist post job
    • check-skipped = Check sdist post job
  • any of [🛡 GitHub branch protection]:
    • check-success = Changelogs
    • check-neutral = Changelogs
    • check-skipped = Changelogs

Reason

The merge conditions cannot be satisfied due to failing checks

Failing checks:

Hint

You may have to fix your CI before adding the pull request to the queue again.
If you update this pull request, to fix the CI, it will automatically be requeued once the queue conditions match again.
If you think this was a flaky issue instead, you can requeue the pull request, without updating it, by posting a @mergifyio queue comment.

mergify Bot added a commit that referenced this pull request May 23, 2026
@mergify mergify Bot added dequeued and removed queued labels May 23, 2026
@zlonast
Copy link
Copy Markdown
Collaborator

zlonast commented May 23, 2026

Problem with internet connection?

https://github.com/haskell/cabal/actions/runs/26333806091/job/77524104409

@zlonast zlonast added queued and removed dequeued labels May 23, 2026
@mergify mergify Bot added dequeued and removed queued labels May 23, 2026
@ulysses4ever
Copy link
Copy Markdown
Collaborator

@mergify enqueue

@mergify
Copy link
Copy Markdown
Contributor

mergify Bot commented May 23, 2026

enqueue

❌ Sorry but I didn't understand the command. Please consult the commands documentation 📚.

@ulysses4ever
Copy link
Copy Markdown
Collaborator

@mergify queue

@zlonast
Copy link
Copy Markdown
Collaborator

zlonast commented May 24, 2026

https://github.com/haskell/cabal/actions/runs/26356795889/job/77584878706?pr=11874

  $ /Users/runner/work/cabal/cabal/dist-newstyle-validate-ghc-9.2.8/build/aarch64-osx/ghc-9.2.8/cabal-install-3.17.0.0/t/parser-tests/build/parser-tests/parser-tests --num-threads 2
  project files parsec tests
    read packages:                                    Failed with exit code -11 after 0.09s: /Users/runner/work/cabal/cabal/dist-newstyle-validate-ghc-9.2.8/build/aarch64-osx/ghc-9.2.8/cabal-install-3.17.0.0/t/parser-tests/build/parser-tests/parser-tests --num-threads 2
  Total time so far: 35.97s
  cli-tests failed after 35.75s
  Total time so far: 35.97s
  End cli-tests

The exit code -11 (or simply 11 on some systems) almost always indicates a Segmentation Fault (SIGSEGV)

@mergify mergify Bot added dequeued and removed queued labels May 24, 2026
The existing `createTempDirectory` uses a suboptimal schema to generate
temporary directory names. Namely, it starts with `foo-$processId`.
If there is no such folder that's it, otherwise it tries
to create `foo-($processId+1)`, then `foo-($processId+2)`, etc.

While on the surface this is OK, in practice it puts strain
on the file system. If we need to create N temporary folders,
the name assignment will cycle starting from `foo-$processid` every
time, totaling N^2 IO calls. There are also seem to be issues
on Windows when one thread is removing its temporary folder, while
another it trying to create the very same one.

It would be so much better if our temporary names were more diverse
by construction. Yes, there might be an odd chance of a clash because
someone else just accidentally created the very same folder, but we
should not routinely make our own life harder.

Normally this is achieved by generating random numbers, but Cabal cannot
depend on non-boot libraries such as `random`. So this patch uses a global
counter. The approach is similar to one used by [`file-io`](https://hackage-content.haskell.org/package/file-io-0.2.0/docs/src/System.File.Platform.html#tempCounter)
for temporary files or by [`temporary-ospath`](https://hackage-content.haskell.org/package/temporary-ospath-1.3/docs/src/System.IO.Temp.OsPath.html#tempDirectoryCounter).

(Both `file-io` and `temporary-ospath` actually have even more refined schema
for name generation, getting entropy from CPU time, but I think in the interest
of simplicity Cabal can get away just with a global counter)
@zlonast
Copy link
Copy Markdown
Collaborator

zlonast commented May 24, 2026

@mergify queue

@mergify
Copy link
Copy Markdown
Contributor

mergify Bot commented May 24, 2026

Merge Queue Status

This pull request spent 1 hour 32 minutes 45 seconds in the queue, including 1 hour 21 minutes 47 seconds running CI.

Waiting for any of
  • check-neutral = Validate post job
  • check-skipped = Validate post job
  • check-success = Validate post job
All conditions
  • any of [🛡 GitHub branch protection]:
    • check-neutral = Validate post job
    • check-skipped = Validate post job
    • check-success = Validate post job
  • #approved-reviews-by >= 2 [🛡 GitHub branch protection]
  • #changes-requested-reviews-by = 0 [🛡 GitHub branch protection]
  • #review-threads-unresolved = 0 [🛡 GitHub branch protection]
  • any of [🛡 GitHub branch protection]:
    • check-success = Doctest Cabal
    • check-neutral = Doctest Cabal
    • check-skipped = Doctest Cabal
  • any of [🛡 GitHub branch protection]:
    • check-success = Meta checks
    • check-neutral = Meta checks
    • check-skipped = Meta checks
  • any of [🛡 GitHub branch protection]:
    • check-success = docs/readthedocs.org:cabal
    • check-neutral = docs/readthedocs.org:cabal
    • check-skipped = docs/readthedocs.org:cabal
  • any of [🛡 GitHub branch protection]:
    • check-success = fourmolu
    • check-neutral = fourmolu
    • check-skipped = fourmolu
  • any of [🛡 GitHub branch protection]:
    • check-success = hlint
    • check-neutral = hlint
    • check-skipped = hlint
  • any of [🛡 GitHub branch protection]:
    • check-success = Bootstrap post job
    • check-neutral = Bootstrap post job
    • check-skipped = Bootstrap post job
  • any of [🛡 GitHub branch protection]:
    • check-success = whitespace
    • check-neutral = whitespace
    • check-skipped = whitespace
  • any of [🛡 GitHub branch protection]:
    • check-success = Check sdist post job
    • check-neutral = Check sdist post job
    • check-skipped = Check sdist post job
  • any of [🛡 GitHub branch protection]:
    • check-success = Changelogs
    • check-neutral = Changelogs
    • check-skipped = Changelogs

Reason

The merge conditions cannot be satisfied due to failing checks

Failing checks:

Hint

You may have to fix your CI before adding the pull request to the queue again.
If you update this pull request, to fix the CI, it will automatically be requeued once the queue conditions match again.
If you think this was a flaky issue instead, you can requeue the pull request, without updating it, by posting a @mergifyio queue comment.

@mergify mergify Bot added queued and removed dequeued labels May 24, 2026
mergify Bot added a commit that referenced this pull request May 24, 2026
@mergify mergify Bot added dequeued and removed queued labels May 24, 2026
@zlonast
Copy link
Copy Markdown
Collaborator

zlonast commented May 24, 2026

-----BEGIN CABAL OUTPUT-----
Error: cabal: '/usr/bin/curl' exited with an error:
curl: (6) Could not resolve host: hackage.haskell.org
-----END CABAL OUTPUT-----

@zlonast
Copy link
Copy Markdown
Collaborator

zlonast commented May 24, 2026

@mergify queue

@mergify
Copy link
Copy Markdown
Contributor

mergify Bot commented May 24, 2026

Merge Queue Status

This pull request spent 1 hour 34 minutes 50 seconds in the queue, including 1 hour 23 minutes 45 seconds running CI.

Waiting for any of
  • check-neutral = Validate post job
  • check-skipped = Validate post job
  • check-success = Validate post job
All conditions
  • any of [🛡 GitHub branch protection]:
    • check-neutral = Validate post job
    • check-skipped = Validate post job
    • check-success = Validate post job
  • #approved-reviews-by >= 2 [🛡 GitHub branch protection]
  • #changes-requested-reviews-by = 0 [🛡 GitHub branch protection]
  • #review-threads-unresolved = 0 [🛡 GitHub branch protection]
  • any of [🛡 GitHub branch protection]:
    • check-success = Doctest Cabal
    • check-neutral = Doctest Cabal
    • check-skipped = Doctest Cabal
  • any of [🛡 GitHub branch protection]:
    • check-success = Meta checks
    • check-neutral = Meta checks
    • check-skipped = Meta checks
  • any of [🛡 GitHub branch protection]:
    • check-success = docs/readthedocs.org:cabal
    • check-neutral = docs/readthedocs.org:cabal
    • check-skipped = docs/readthedocs.org:cabal
  • any of [🛡 GitHub branch protection]:
    • check-success = fourmolu
    • check-neutral = fourmolu
    • check-skipped = fourmolu
  • any of [🛡 GitHub branch protection]:
    • check-success = hlint
    • check-neutral = hlint
    • check-skipped = hlint
  • any of [🛡 GitHub branch protection]:
    • check-success = Bootstrap post job
    • check-neutral = Bootstrap post job
    • check-skipped = Bootstrap post job
  • any of [🛡 GitHub branch protection]:
    • check-success = whitespace
    • check-neutral = whitespace
    • check-skipped = whitespace
  • any of [🛡 GitHub branch protection]:
    • check-success = Check sdist post job
    • check-neutral = Check sdist post job
    • check-skipped = Check sdist post job
  • any of [🛡 GitHub branch protection]:
    • check-success = Changelogs
    • check-neutral = Changelogs
    • check-skipped = Changelogs

Reason

The merge conditions cannot be satisfied due to failing checks

Failing checks:

Hint

You may have to fix your CI before adding the pull request to the queue again.
If you update this pull request, to fix the CI, it will automatically be requeued once the queue conditions match again.
If you think this was a flaky issue instead, you can requeue the pull request, without updating it, by posting a @mergifyio queue comment.

@mergify mergify Bot added the queued label May 24, 2026
mergify Bot added a commit that referenced this pull request May 24, 2026
@mergify mergify Bot removed the dequeued label May 24, 2026
mergify Bot added a commit that referenced this pull request May 24, 2026
@mergify mergify Bot added dequeued and removed queued labels May 24, 2026
@zlonast
Copy link
Copy Markdown
Collaborator

zlonast commented May 24, 2026

https://github.com/haskell/cabal/actions/runs/26366106756/job/77610063612

Validate windows-latest ghc-9.6.7

        remove non-match subdir:                                                  OK (0.03s)
        invariant sorted 1:                                                       FAIL
          Exception: .\file-status--24116: CreateDirectory "\\\\?\\D:\\a\\cabal\\cabal\\cabal-install\\file-status--24116": permission denied (Access is denied.)
          Use -p '/invariant sorted 1/' to rerun this test only.
        invariant sorted 2:                                                       OK (0.04s)

@Bodigrim
Copy link
Copy Markdown
Collaborator

Validate windows-latest ghc-9.6.7

This one will be hopefully fixed by #11872.

@hasufell
Copy link
Copy Markdown
Member Author

The marge bot looks like a waste of time. Why don't you merge things yourself?

@mergify mergify Bot removed the dequeued label May 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merge delay passed Applied (usually by Mergify) when PR approved and received no updates for 2 days merge me Tell Mergify Bot to merge priority: high 🔥 ready and waiting Mergify is waiting out the cooldown period run release build

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants