Skip to content

Conversation

@andreasabel
Copy link
Member

Changes:

@andreasabel andreasabel marked this pull request as draft April 12, 2024 04:39
@andreasabel andreasabel force-pushed the ci-validate-old-ghcs branch from d0ca944 to 877b0ae Compare April 12, 2024 05:22
@andreasabel
Copy link
Member Author

andreasabel commented Apr 12, 2024

Need to investigate https://github.com/haskell/cabal/actions/runs/8657545162/job/23739898187?pr=9886#step:9:93

PackageTests/ForeignLibs/setup.test.hs FAIL (unexpected success) (2.81s)

https://github.com/haskell/cabal/blob/master/cabal-testsuite/PackageTests/ForeignLibs/setup.test.hs
Code links to:

The latter marks this test broken in a90d44f but without investigation or justification, so I'll try just reverting this commit.

@andreasabel
Copy link
Member Author

andreasabel commented Apr 12, 2024

Installing GHC 7.10.3 with ghcup maybe does not work (anymore?): https://github.com/haskell/cabal/actions/runs/8657642919/job/23740165824?pr=9886#step:5:236

Installing library in
/usr/local/.ghcup/tmp/ghcup-24d6e4618d6fbdde/usr/local/.ghcup/ghc/7.10.3/lib/ghc-7.10.3/ghcpr_8TmvWUcS1U1IKHT0levwg3
gmake[1]: *** [ghc.mk:924: install_packages] Segmentation fault (core dumped)

Segmentation fault? Congratulations!

Possibly a follow-up error: https://github.com/haskell/cabal/actions/runs/8657642919/job/23740165824?pr=9886#step:5:253

Error: Process "gmake" with arguments ["DESTDIR=/usr/local/.ghcup/tmp/ghcup-24d6e4618d6fbdde", "install"] failed with exit code 2.

P.S.: My former self knew about this problem: haskell-actions/setup@c44725f
For validating GHC 7.10 we would need ubuntu-20.04, so I am dropping GHC 7.10.3 for now.

Our GHC support window seems to be 5 years:

cabal/CONTRIBUTING.md

Lines 194 to 205 in 8e971f5

* Our GHC support window is five years for the Cabal library and three
years for cabal-install: that is, the Cabal library must be
buildable out-of-the-box with the dependencies that shipped with GHC
for at least five years. GitHub Actions checks this, so most
developers submit a PR to see if their code works on all these
versions of GHC. `cabal-install` must also be buildable on all
supported GHCs, although it does not have to be buildable
out-of-the-box. Instead, the `cabal-install/bootstrap.sh` script
must be able to download and install all of the dependencies (this
is also checked by CI). Also, self-upgrade to the latest version
(i.e. `cabal install cabal-install`) must work with all versions of
`cabal-install` released during the last three years.

There is a discussion here:

@andreasabel andreasabel changed the title CI validate: drop old GHCs < 7.10 CI: stop validating GHC 7 Apr 12, 2024
@andreasabel andreasabel force-pushed the ci-validate-old-ghcs branch from a801b82 to 1e5fa4a Compare April 12, 2024 07:00
@andreasabel
Copy link
Member Author

andreasabel commented Apr 12, 2024

https://github.com/haskell/cabal/actions/runs/8658240648/job/23741747126?pr=9886#step:19:388

UNEXPECTED FAIL: PackageTests/NewBuild/CmdRun/Terminate/cabal.test.hs

https://github.com/haskell/cabal/actions/runs/8658240648/job/23741747126?pr=9886#step:19:336

PackageTests/NewBuild/CmdRun/Terminate/cabal.test.hs FAIL (16.32s)
...
08:03:59.076216000000 [cabal.test] about to terminate cabal
08:03:59.058669000000 [exe ] about to write file
08:03:59.059507000000 [exe ] about to sleep
08:04:09.158424000000 [exe ] done sleeping
08:04:09.158488000000 [exe ] exiting
cabal: waitForProcess: does not exist (No child processes)
terminated
08:04:09.186228000000 [cabal.test] v2-run done
*** Exception: unexpected: done sleeping

Is this a race?

Former self says yes:

@andreasabel
Copy link
Member Author

Yay, Ci passed!

Copy link
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.

Terrific, thank you!

we really need a definitive place where we list our GHC support windows for different modes (compiling with vs driving). Otherwise it’s a unnecessary stress to approve prs removing support for older ghc, which we have to do regularly.

@andreasabel andreasabel added merge me Tell Mergify Bot to merge and removed attention: needs-review labels Apr 13, 2024
@mergify mergify bot added the merge delay passed Applied (usually by Mergify) when PR approved and received no updates for 2 days label Apr 15, 2024
Changes:
- bump GHC_FOR_RELEASE to 9.4.8
- bump action versions
- uniform quoting style
- satisfy actionlint
- fix order: setup Haskell before cache restore (uses setup.haskell-outputs)
- use `--ignore-project` in `cabal install hackage-repo-tool`
- use GHC_FOR_RELEASE also in validate-old-ghcs
- closes #8858: deleted comment
- closes #9858 by dropping container and using ghcup to setup ghcs

GHCs that do not install on ubuntu-22.04 with GHCup are dropped, meaning we only keep GHC 8.0.2 and up.
@Mikolaj Mikolaj force-pushed the ci-validate-old-ghcs branch from 1e5fa4a to 29dc53c Compare April 15, 2024 07:56
@mergify mergify bot merged commit b216b99 into master Apr 15, 2024
@mergify mergify bot deleted the ci-validate-old-ghcs branch April 15, 2024 10:03
@Mikolaj
Copy link
Member

Mikolaj commented Apr 16, 2024

A bit late in the release process, but a backport may save us a CI interruption on branch 3.12 soon. Or we may backport or merge the backport after the release is done?

@Mikolaj
Copy link
Member

Mikolaj commented Apr 23, 2024

To be backported after 3.12.0.0 is out.

@Mikolaj
Copy link
Member

Mikolaj commented Apr 29, 2024

@mergify backport 3.12

@mergify
Copy link
Contributor

mergify bot commented Apr 29, 2024

backport 3.12

✅ Backports have been created

Mikolaj added a commit that referenced this pull request May 1, 2024
3.12 changelog fixup (#9922)

* Incorporate Brandon’s suggestions

See #9920.

* Incorporate Artem’s suggestions

See #9920.

* Do not repeat yourself

* Fix release notes grammar (#9924)

* Fix release notes grammar

See #9920.

* Fix whitespace

* Support GHC 9.12

(cherry picked from commit da6bdef)

* Fix changelog/readme (backport #9935) (#9936)

* Fix changelog/readme

(cherry picked from commit ea0f464)

* Remove previous release date

---------

Co-authored-by: Francesco Ariis <[email protected]>

* Tell zlib not to use pkg-config in GitLab CI.

(cherry picked from commit 62c74fe)

* Revert "Mark ForeignLibs test as broken with ghc-8.4.4"

This reverts commit a90d44f.

(cherry picked from commit d0a690b)

* CI: drop validation of GHC 7

Changes:
- bump GHC_FOR_RELEASE to 9.4.8
- bump action versions
- uniform quoting style
- satisfy actionlint
- fix order: setup Haskell before cache restore (uses setup.haskell-outputs)
- use `--ignore-project` in `cabal install hackage-repo-tool`
- use GHC_FOR_RELEASE also in validate-old-ghcs
- closes #8858: deleted comment
- closes #9858 by dropping container and using ghcup to setup ghcs

GHCs that do not install on ubuntu-22.04 with GHCup are dropped, meaning we only keep GHC 8.0.2 and up.

(cherry picked from commit 29dc53c)

# Conflicts:
#	.github/workflows/validate.yml

* fix validate.yml conflicts

How is this backport conflicting with _itself_?

* copy an import list from #9551

because `System.Process.Internals` just (like, within the past
hour or so) started exporting a name we are using.

* CI: force MacOS jobs to use Intel runners (macos-13) (backport #9949) (#9956)

* CI: force MacOS jobs to use Intel runners (`macos-13`)

GitHub just switched macos-latest to the ARM chips (now alisasing
`macos-14`), and it brings a bunch of problems.

- First of all, GHC's 8.8 and 8.6 don't exist there.
- ghcup and llvm are unavailable

For the time being, lets stay on the previous version of the runner.

(cherry picked from commit d36e0d0)

* CI: GitHub MacOS runners lost ghcup since 2024-04-27, so use haskell-action/setup instead

(cherry picked from commit 082d952)

* fixup! more compat with new macos runners

(cherry picked from commit 326a1f6)

* !fixup resolve conflicts

* copy an import list from #9551

because `System.Process.Internals` just (like, within the past
hour or so) started exporting a name we are using.

---------

Co-authored-by: Artem Pelenitsyn <[email protected]>
Co-authored-by: brandon s allbery kf8nh <[email protected]>

* Merge branch '3.12' into mergify/bp/3.12/pr-9886

* Update validate.yml

github nicely decided to ~revert~ the OS X validate fix when I rebased on top of it.

* make validate.yml consistent with master
mergify bot added a commit that referenced this pull request May 1, 2024
3.12 changelog fixup (#9922)

* Incorporate Brandon’s suggestions

See #9920.

* Incorporate Artem’s suggestions

See #9920.

* Do not repeat yourself

* Fix release notes grammar (#9924)

* Fix release notes grammar

See #9920.

* Fix whitespace

* Support GHC 9.12

(cherry picked from commit da6bdef)

* Fix changelog/readme (backport #9935) (#9936)

* Fix changelog/readme

(cherry picked from commit ea0f464)

* Remove previous release date

---------

Co-authored-by: Francesco Ariis <[email protected]>

* Tell zlib not to use pkg-config in GitLab CI.

(cherry picked from commit 62c74fe)

* Revert "Mark ForeignLibs test as broken with ghc-8.4.4"

This reverts commit a90d44f.

(cherry picked from commit d0a690b)

* CI: drop validation of GHC 7

Changes:
- bump GHC_FOR_RELEASE to 9.4.8
- bump action versions
- uniform quoting style
- satisfy actionlint
- fix order: setup Haskell before cache restore (uses setup.haskell-outputs)
- use `--ignore-project` in `cabal install hackage-repo-tool`
- use GHC_FOR_RELEASE also in validate-old-ghcs
- closes #8858: deleted comment
- closes #9858 by dropping container and using ghcup to setup ghcs

GHCs that do not install on ubuntu-22.04 with GHCup are dropped, meaning we only keep GHC 8.0.2 and up.

(cherry picked from commit 29dc53c)

# Conflicts:
#	.github/workflows/validate.yml

* fix validate.yml conflicts

How is this backport conflicting with _itself_?

* copy an import list from #9551

because `System.Process.Internals` just (like, within the past
hour or so) started exporting a name we are using.

* CI: force MacOS jobs to use Intel runners (macos-13) (backport #9949) (#9956)

* CI: force MacOS jobs to use Intel runners (`macos-13`)

GitHub just switched macos-latest to the ARM chips (now alisasing
`macos-14`), and it brings a bunch of problems.

- First of all, GHC's 8.8 and 8.6 don't exist there.
- ghcup and llvm are unavailable

For the time being, lets stay on the previous version of the runner.

(cherry picked from commit d36e0d0)

* CI: GitHub MacOS runners lost ghcup since 2024-04-27, so use haskell-action/setup instead

(cherry picked from commit 082d952)

* fixup! more compat with new macos runners

(cherry picked from commit 326a1f6)

* !fixup resolve conflicts

* copy an import list from #9551

because `System.Process.Internals` just (like, within the past
hour or so) started exporting a name we are using.

---------

Co-authored-by: Artem Pelenitsyn <[email protected]>
Co-authored-by: brandon s allbery kf8nh <[email protected]>

* Merge branch '3.12' into mergify/bp/3.12/pr-9886

* Update validate.yml

github nicely decided to ~revert~ the OS X validate fix when I rebased on top of it.

* make validate.yml consistent with master

Co-authored-by: Mikolaj <[email protected]>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

continuous-integration merge delay passed Applied (usually by Mergify) when PR approved and received no updates for 2 days merge me Tell Mergify Bot to merge re: old GHC versions

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CI validate-old-ghcs broken after haskell-actions/setup upgraded to node20 cabal-testsuite fails early on with linker error on Windows since GHC 9.6

5 participants