summaryrefslogtreecommitdiff
path: root/.gitlab
Commit message (Collapse)AuthorAgeFilesLines
* Disable split sections on aarch64-deb10 buildMatthew Pickering2023-01-092-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See #22722 Failure on this job: https://gitlab.haskell.org/ghc/ghc/-/jobs/1287852 ``` Unexpected failures: /builds/ghc/ghc/tmp/ghctest-s3d8g1hj/test spaces/testsuite/tests/th/T10828.run T10828 [exit code non-0] (ext-interp) /builds/ghc/ghc/tmp/ghctest-s3d8g1hj/test spaces/testsuite/tests/th/T13123.run T13123 [exit code non-0] (ext-interp) /builds/ghc/ghc/tmp/ghctest-s3d8g1hj/test spaces/testsuite/tests/th/T20590.run T20590 [exit code non-0] (ext-interp) Appending 232 stats to file: /builds/ghc/ghc/performance-metrics.tsv ``` ``` Compile failed (exit code 1) errors were: data family D_0 a_1 :: * -> * data instance D_0 GHC.Types.Int GHC.Types.Bool :: * where DInt_2 :: D_0 GHC.Types.Int GHC.Types.Bool data E_3 where MkE_4 :: a_5 -> E_3 data Foo_6 a_7 b_8 where MkFoo_9, MkFoo'_10 :: a_11 -> Foo_6 a_11 b_12 newtype Bar_13 :: * -> GHC.Types.Bool -> * where MkBar_14 :: a_15 -> Bar_13 a_15 b_16 data T10828.T (a_0 :: *) where T10828.MkT :: forall (a_1 :: *) . a_1 -> a_1 -> T10828.T a_1 T10828.MkC :: forall (a_2 :: *) (b_3 :: *) . (GHC.Types.~) a_2 GHC.Types.Int => {T10828.foo :: a_2, T10828.bar :: b_3} -> T10828.T GHC.Types.Int T10828.hs:1:1: error: [GHC-87897] Exception when trying to run compile-time code: ghc-iserv terminated (-4) Code: (do TyConI dec <- runQ $ reify (mkName "T") runIO $ putStrLn (pprint dec) >> hFlush stdout d <- runQ $ [d| data T' a :: Type where MkT' :: a -> a -> T' a MkC' :: forall a b. (a ~ Int) => {foo :: a, bar :: b} -> T' Int |] runIO $ putStrLn (pprint d) >> hFlush stdout ....) *** unexpected failure for T10828(ext-interp) =====> 7000 of 9215 [0, 1, 0] =====> 7000 of 9215 [0, 1, 0] =====> 7000 of 9215 [0, 1, 0] =====> 7000 of 9215 [0, 1, 0] Compile failed (exit code 1) errors were: T13123.hs:1:1: error: [GHC-87897] Exception when trying to run compile-time code: ghc-iserv terminated (-4) Code: ([d| data GADT where MkGADT :: forall k proxy (a :: k). proxy a -> GADT |]) *** unexpected failure for T13123(ext-interp) =====> 7100 of 9215 [0, 2, 0] =====> 7100 of 9215 [0, 2, 0] =====> 7200 of 9215 [0, 2, 0] Compile failed (exit code 1) errors were: T20590.hs:1:1: error: [GHC-87897] Exception when trying to run compile-time code: ghc-iserv terminated (-4) Code: ([d| data T where MkT :: forall a. a -> T |]) *** unexpected failure for T20590(ext-interp) ``` Looks fairly worrying to me.
* darwin ci: Explicitly pass desired build triple to configureMatthew Pickering2023-01-061-1/+1
| | | | | | On the zw3rk machines for some reason the build machine was inferred to be arm64. Setting the build triple appropiately resolve this confusion and we produce x86 binaries.
* ci: Upgrade darwin, windows and freebsd CI to use GHC-9.4.3Matthew Pickering2023-01-064-28/+47
| | | | Fixes #22599
* packaging: Build perf builds with -split-sectionswip/various-hadrian-fixesMatthew Pickering2023-01-042-39/+46
| | | | | | | | | | | In 8f71d958 the make build system was made to use split-sections on linux systems but it appears this logic never made it to hadrian. There is the split_sections flavour transformer but this doesn't appear to be used for perf builds on linux. This is disbled on deb9 and windows due to #21670 Closes #21135
* ci: Build all test dependencies with in-tree compilerMatthew Pickering2023-01-041-1/+1
| | | | | | | This means that these executables will honour flavour transformers such as "werror". Fixes #22555
* gitlab-ci: Introduce aarch64-linux-llvm jobBen Gamari2022-12-242-0/+178
| | | | | | | This nightly job will ensure that we don't break the LLVM backend on AArch64/Linux by bootstrapping GHC. This would have caught #22640.
* packaging: Fix upload_ghc_libs.py scriptMatthew Pickering2022-12-201-3/+8
| | | | | | | This change reflects the changes where .cabal files are now generated by hadrian rather than ./configure. Fixes #22518
* ci: support hello.wasm in ci.sh cross testing logicCheng Shao2022-12-171-0/+4
|
* ci: Add job for testing interface stability across buildsMatthew Pickering2022-12-081-0/+17
| | | | | | | | | | | | The idea is that both the bindists should product libraries with the same ABI and interface hash. So the job checks with ghc-pkg to make sure the computed ABI is the same. In future this job can be extended to check for the other facets of interface determinism. Fixes #22180
* ci: Add job to test interface file determinism guaranteesMatthew Pickering2022-12-081-0/+60
| | | | | | | | | | | | | | In this job we can run on every commit we add a test which builds the Cabal library twice and checks that the ABI hash and interface hash is stable across the two builds. * We run the test 20 times to try to weed out any race conditions due to `-j` * We run the builds in different temporary directories to try to weed out anything related to build directory affecting ABI or interface file hash. Fixes #22180
* CI: Fix CI lintBryan Richter2022-12-011-2/+2
| | | | | Failure was introduced by conflicting changes to gen_ci.hs that did *not* trigger git conflicts.
* CI: Remove ARMv7 jobsBryan Richter2022-12-012-273/+69
| | | | | | | | | | | These jobs fail (and are allowed to fail) nearly every time. Soon they won't even be able to run at all, as we won't currently have runners that can run them. Fixing the latter problem is tracked in #22409. I went ahead and removed all settings and configurations.
* CI: Forbid the fully static build on Alpine to fail.M Farkas-Dyck2022-12-012-4/+4
| | | | To do so, we mark some tests broken in this configuration.
* Add Javascript backendSylvain Henry2022-11-293-27/+194
| | | | | | | | | | | | | | | Add JS backend adapted from the GHCJS project by Luite Stegeman. Some features haven't been ported or implemented yet. Tests for these features have been disabled with an associated gitlab ticket. Bump array submodule Work funded by IOG. Co-authored-by: Jeffrey Young <jeffrey.young@iohk.io> Co-authored-by: Luite Stegeman <stegeman@gmail.com> Co-authored-by: Josh Meredith <joshmeredith2008@gmail.com>
* ci: add a stronger test for cross bindistsCheng Shao2022-11-112-3/+47
| | | | | | | This commit adds a simple GHC API program that parses and reprints the original hello world program used for basic testing of cross bindists. Before there's full cross-compilation support in the test suite driver, this provides better coverage than the original test.
* Revert "ci: enable parallel compression for xz"Bryan Richter2022-09-291-1/+1
| | | | | | Combined wxth XZ_OPT=9, this blew the memory capacity of CI runners. This reverts commit a5f9c35f5831ef5108e87813a96eac62803852ab.
* Remove stage1:exe:ghc-bin pre-build from CI scriptMatthew Pickering2022-09-141-4/+0
| | | | | | | | | | CI builds stage1:exe:ghc-bin before the binary-dist target which introduces some quite bad linearisation (see #22093) because we don't build stage1 compiler in parallel with anything. Then when the binary-dist target is started we have to build stage1:exe:ghc-pkg before doing anything. Fixes #22094
* ci: enable parallel compression for xzCheng Shao2022-09-121-1/+1
|
* ci: remove unused build_make/test_make in ci scriptCheng Shao2022-09-061-46/+0
|
* ci: Attempt using normal submodule cloning strategyMatthew Pickering2022-08-301-2/+2
| | | | | | | We do not use any recursively cloned submodules, and this protects us from flaky upstream remotes. Fixes #22121
* gitlab-ci: Drop make build validation jobsBen Gamari2022-08-251-1/+0
| | | | In preparation for removal of the `make`-based build system
* upload_ghc_libs: Add means of passing Hackage credentialsBen Gamari2022-08-251-16/+23
|
* run_ci: remove monoidal-containersBryan Richter2022-08-161-11/+26
| | | | | | | | | Fixes #21492 MonoidalMap is inlined and used to implement Variables, as before. The top-level value "jobs" is reimplemented as a regular Map, since it doesn't use the monoidal union anyway.
* Revert "gitlab-ci: Add release job for aarch64/debian 11"Matthew Pickering2022-08-112-178/+0
| | | | | | | | | This reverts commit 5765e13370634979eb6a0d9f67aa9afa797bee46. The job was not tested before being merged and fails CI (https://gitlab.haskell.org/ghc/ghc/-/jobs/1139392) Ticket #22005
* gitlab-ci: Run ARMv7 jobs when ~ARM label is usedBen Gamari2022-08-102-75/+78
|
* gitlab-ci: Fix ARMv7 buildBen Gamari2022-08-102-5/+21
| | | | | | | It appears that the CI refactoring carried out in 5ff690b8474c74e9c968ef31e568c1ad0fe719a1 failed to carry over some critical configuration: setting the build/host/target platforms and forcing use of a non-broken linker.
* gitlab-ci: Bump to use freebsd13 runnersBen Gamari2022-08-093-39/+40
|
* gitlab-ci: Don't use coreutils on DarwinBen Gamari2022-08-091-1/+0
| | | | | | | | | In general we want to ensure that the tested environment is as similar as possible to the environment the user will use. In the case of Darwin, this means we want to use the system's BSD command-line utilities, not coreutils. This would have caught #21974.
* gitlab-ci: Add basic support for cross-compiler testiingBen Gamari2022-08-083-24/+64
| | | | Here we add a simple qemu-based test for cross-compilers.
* gitlab-ci: Introduce validation job for aarch64 cross-compilationBen Gamari2022-08-082-1/+128
| | | | Begins to address #11958.
* gitlab-ci: Add release job for aarch64/debian 11Ben Gamari2022-08-082-0/+178
|
* gitlab-ci: Fix hadrian bootstrapping of release pipelinesBen Gamari2022-08-061-1/+5
| | | | | | | | | | | Previously we would attempt to test hadrian bootstrapping in the `validate` build flavour. However, `ci.sh` refuses to run validation builds during release pipelines, resulting in job failures. Fix this by testing bootstrapping in the `release` flavour during release pipelines. We also attempted to record perf notes for these builds, which is redundant work and undesirable now since we no longer build in a consistent flavour.
* upload_ghc_libs: Fix path to documentationBen Gamari2022-07-221-1/+1
| | | | | | | The documentation was moved in a10584e8df9b346cecf700b23187044742ce0b35 but this one occurrence was note updated. Finally closes #21164.
* Add nightly job for generating docs suitable for hackage uploadMatthew Pickering2022-07-042-0/+194
|
* hadrian: Add --haddock-base-url option for specifying base-url when ↵Matthew Pickering2022-07-041-1/+1
| | | | | | | | | | | | | | | | | | | generating docs The motiviation for this flag is to be able to produce documentation which is suitable for uploading for hackage, ie, the cross-package links work correctly. There are basically three values you want to set this to: * off - default, base_url = ../%pkg% which works for local browsing * on - no argument , base_url = https:://hackage.haskell.org/package/%pkg%/docs - for hackage docs upload * on - argument, for example, base_url = http://localhost:8080/package/%pkg%/docs for testing the documentation. The `%pkg%` string is a template variable which is replaced with the package identifier for the relevant package. This is one step towards fixing #21749
* docs-upload: Fix upload script when no packages are listedMatthew Pickering2022-07-041-3/+4
|
* upload-docs: propagate publish correctly in upload_sdistMatthew Pickering2022-07-041-1/+1
|
* hadrian: Fix testing stage1 compilerMatthew Pickering2022-06-141-7/+10
| | | | | | | | | | | | There were various issues with testing the stage1 compiler.. 1. The wrapper was not being built 2. The wrapper was picking up the stage0 package database and trying to load prelude from that. 3. The wrappers never worked on windows so just don't support that for now. Fixes #21072
* ci: Don't try to run ./boot when testing bootstrap of source distMatthew Pickering2022-06-011-3/+6
|
* Build stage1 with -V as wellMatthew Pickering2022-05-311-1/+1
| | | | This helps tracing errors which happen when building stage1
* upload-ghc-libs: Allow candidate-only uploadBen Gamari2022-05-301-19/+18
|
* ci: Make sure to exit promptly if `make install` fails.Matthew Pickering2022-05-301-1/+1
| | | | | | | | | Due to the vageries of bash, you have to explicitly handle the failure and exit when in a function. This failed to exit promptly when !8247 was failing. See #21358 for the general issue
* Test DESTDIR in test_hadrian()wip/type-dataJulian Ospald2022-05-211-2/+23
|
* ci: Use correct syntax when args list is emptyMatthew Pickering2022-05-191-1/+1
| | | | This seems to fail on the ancient version of bash present on CentOS
* ci: Don't build sphinx documentation on centosMatthew Pickering2022-05-192-0/+6
| | | | | | | The centos docker image lacks the sphinx builder so we disable building sphinx docs for these jobs. Fixes #21580
* Add release flavour and use it for the release jobsMatthew Pickering2022-05-192-106/+106
| | | | | | | | The release flavour is essentially the same as the perf flavour currently but also enables `-haddock`. I have hopefully updated all the relevant places where the `-perf` flavour was hardcoded. Fixes #21486
* packaging: Introduce CI job for generating hackage documentationMatthew Pickering2022-05-162-7/+236
| | | | | | | | | | | | | | | | | | | | This adds a CI job (hackage-doc-tarball) which generates the necessary tarballs for uploading libraries and documentation to hackage. The release script knows to download this folder and the upload script will also upload the release to hackage as part of the release. The `ghc_upload_libs` script is moved from ghc-utils into .gitlab/ghc_upload_libs There are two modes, preparation and upload. * The `prepare` mode takes a link to a bindist and creates a folder containing the source and doc tarballs ready to upload to hackage. * The `upload` mode takes the folder created by prepare and performs the upload to hackage. Fixes #21493 Related to #21512
* Add back Debian9 CI jobsMatthew Pickering2022-05-112-0/+180
| | | | | | | We still build Deb9 bindists for now due to Ubuntu 18 and Linux Mint 19 not being at EOL until April 2023 and they still need tinfo5. Fixes #21469
* gitlab-ci: Check for dynamic msys2 dependenciesBen Gamari2022-05-111-0/+13
| | | | | | Both #20878 and #21196 were caused by unwanted dynamic dependencies being introduced by boot libraries. Ensure that we catch this in CI by attempting to run GHC in an environment with a minimal PATH.
* gitlab/ci: Fix name of bootstrap compiler directoryBen Gamari2022-05-041-2/+2
| | | | | | | | Windows binary distributions built with Hadrian have a target platform suffix in the name of their root directory. Teach `ci.sh` about this fact. (cherry picked from commit df5752f39671f6d04d8cd743003469ae5eb67235)