Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CI: stop validating GHC 7 #9886

Merged
merged 2 commits into from
Apr 15, 2024
Merged

CI: stop validating GHC 7 #9886

merged 2 commits into from
Apr 15, 2024

Conversation

andreasabel
Copy link
Member

Changes:

@andreasabel andreasabel marked this pull request as draft April 12, 2024 04:39
@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
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.
@mergify mergify bot merged commit b216b99 into master Apr 15, 2024
50 checks passed
@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

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
4 participants