Skip to content

Commit fb3f4d4

Browse files
authored
Merge pull request #9722 from mpickering/wip/ci
CI updates (drop 8.4.4, update old-ghcs, update bootstrap plans)
2 parents 9ddaa56 + a90d44f commit fb3f4d4

File tree

15 files changed

+3158
-2095
lines changed

15 files changed

+3158
-2095
lines changed

.github/workflows/bootstrap.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,10 @@ jobs:
3030
strategy:
3131
matrix:
3232
os: [ubuntu-latest]
33-
ghc: ["8.10.7", "9.0.2", "9.2.7", "9.4.4"]
33+
ghc: ["8.10.7", "9.0.2", "9.2.8", "9.4.8", "9.6.4", "9.8.1"]
3434
include:
3535
- os: macos-latest
36-
ghc: "9.2.7"
36+
ghc: "9.2.8"
3737
name: Bootstrap ${{ matrix.os }} ghc-${{ matrix.ghc }}
3838
runs-on: ${{ matrix.os }}
3939
steps:

.github/workflows/validate.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,8 @@ jobs:
6767
strategy:
6868
matrix:
6969
os: ["ubuntu-latest", "macos-latest", "windows-latest"]
70-
ghc: ["9.8.1", "9.6.3", "9.4.8", "9.2.8", "9.0.2", "8.10.7", "8.8.4", "8.6.5", "8.4.4"]
70+
# If you remove something from here.. then add it to the old-ghcs job.
71+
ghc: ["9.8.1", "9.6.3", "9.4.8", "9.2.8", "9.0.2", "8.10.7", "8.8.4", "8.6.5"]
7172
exclude:
7273
# corrupts GHA cache or the fabric of reality itself, see https://github.com/haskell/cabal/issues/8356
7374
- os: "windows-latest"
@@ -236,7 +237,7 @@ jobs:
236237
# they are not available in ppa/hvr. The ghcup installation
237238
# needs `sudo` which is not available in the xenial container
238239
ghc: ["8.8.4"]
239-
extra-ghc: ["7.10.3", "7.8.4", "7.6.3", "7.4.2", "7.2.2", "7.0.4"]
240+
extra-ghc: ["8.4.4", "8.2.2", "8.0.2", "7.10.3", "7.8.4", "7.6.3", "7.4.2", "7.2.2", "7.0.4"]
240241

241242
steps:
242243

bootstrap/README.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,3 +47,13 @@ in the same way as it is shown for Linux above. On a system with functional `cab
4747

4848
There are rules in the top-level `Makefile` for generation of these files.
4949

50+
# Updating Bootstrap Plans
51+
52+
In order to update the bootstrap plans on linux there is the convenient `./generate_bootstrap_plans`
53+
script. You can modify this script with the GHC versions you want to generate the plans for and
54+
then run it to generate the plans.
55+
56+
```
57+
./generate_bootstrap_plans
58+
```
59+

bootstrap/cabal-bootstrap-gen.cabal

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ executable cabal-bootstrap-gen
1111
, aeson ^>=1.5.2.0 || ^>=2.0.3.0 || ^>=2.1.0.0
1212
, base ^>=4.12.0.0 || ^>=4.13.0.0 || ^>=4.14.0.0 || ^>=4.15.0.0 || ^>=4.16.0.0 || ^>=4.17.0.0
1313
, bytestring ^>=0.10.8.2 || ^>=0.11.0.0
14-
, Cabal ^>=3.2.0.0 || ^>=3.4.1.0 || ^>=3.6.3.0 || ^>=3.10.1.0
14+
, Cabal ^>=3.4.1.0 || ^>=3.6.3.0 || ^>=3.10.1.0
1515
, Cabal-syntax ^>=3.10.1.0
1616
, cabal-install-parsers ^>=0.3.0.1 || ^>=0.4.5 || ^>=0.6
1717
, cabal-plan ^>=0.7.0.0

bootstrap/generate_bootstrap_plans

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
nix build nixpkgs#jq.bin -o jq
2+
PATH+=:$PWD/jq-bin/bin
3+
4+
ghcs_nix="https://gitlab.haskell.org/bgamari/ghcs-nix/-/archive/master/ghcs-nix-master.tar.gz"
5+
6+
nix build -f "$ghcs_nix" ghc-8_10_7 -o boot_ghc
7+
8+
run() {
9+
local ver="$1"
10+
local drv="ghc-$ver"
11+
echo "$ver"
12+
nix build -f "$ghcs_nix" $drv
13+
(cd ../; rm -r dist-bootstrap; cabal --distdir=dist-bootstrap build --project-file=cabal.project.release --dry-run cabal-install:exe:cabal -w bootstrap/result/bin/ghc)
14+
jq --sort-keys < ../dist-bootstrap/cache/plan.json > "plan-$ver.json"
15+
cabal run --with-ghc-pkg $PWD/boot_ghc/bin/ghc-pkg -w $PWD/boot_ghc/bin/ghc -v0 cabal-bootstrap-gen -- "plan-$ver.json" | jq --sort-keys | tee "linux-$(echo $ver | tr "_" ".").json"
16+
}
17+
18+
run "8_10_7"
19+
run "9_0_2"
20+
run "9_2_8"
21+
run "9_4_8"
22+
run "9_6_4"
23+
run "9_8_1"

0 commit comments

Comments
 (0)