Skip to content
Snippets Groups Projects
  1. May 06, 2022
  2. May 04, 2022
  3. Apr 27, 2022
  4. Apr 09, 2022
  5. Apr 06, 2022
  6. Mar 24, 2022
    • Matthew Pickering's avatar
      ci: Generate jobs for all normal builds and use hadrian for all builds · 5ff690b8
      Matthew Pickering authored and Marge Bot's avatar Marge Bot committed
      This commit introduces a new script (.gitlab/gen_ci.hs) which generates
      a yaml file (.gitlab/jobs.yaml) which contains explicit descriptions for
      all the jobs we want to run. The jobs are separated into three
      categories:
      
      * validate - jobs run on every MR
      * nightly  - jobs run once per day on the master branch
      * release  - jobs for producing release artifacts
      
      The generation script is a Haskell program which includes a DSL for
      specifying the different jobs. The hope is that it's easier to reason
      about the different jobs and how the variables are merged together
      rather than the unclear and opaque yaml syntax. The goal is to fix
      issues like #21190 once and for all..
      
      The `.gitlab/jobs.yaml` can be generated by running the `.gitlab/generate_jobs`
      script. You have to do this manually.
      
      Another consequence of this patch is that we use hadrian for all the
      validate, nightly and release builds on all platforms.
      5ff690b8
  7. Mar 12, 2022
  8. Mar 09, 2022
    • Matthew Pickering's avatar
      ci: Fix save_cache function · 18b9ba56
      Matthew Pickering authored
      Each interation of saving the cache would copy the whole `cabal` store
      into a subfolder in the CACHE_DIR rather than copying the contents of
      the cabal store into the cache dir. This resulted in a cache which
      looked like:
      
      ```
      /builds/ghc/ghc/cabal-cache/cabal/cabal/cabal/cabal/cabal/cabal/cabal/cabal/cabal/cabal/
      ```
      
      So it would get one layer deeper every CI run and take longer and longer
      to compress.
      18b9ba56
    • Matthew Pickering's avatar
      Add 10 minute timeout to linters job · 7abe3288
      Matthew Pickering authored
      7abe3288
  9. Mar 08, 2022
  10. Mar 07, 2022
  11. Feb 25, 2022
    • Matthew Pickering's avatar
    • Matthew Pickering's avatar
      Move linters into the tree · 6555b68c
      Matthew Pickering authored and Marge Bot's avatar Marge Bot committed
      This MR moves the GHC linters into the tree, so that they can be run directly using Hadrian.
      
      * Query all files tracked by Git instead of using changed files, so that we can run the exact same linting step locally and in a merge request.
      * Only check that the changelogs don't contain TBA when RELEASE=YES.
      * Add hadrian/lint script, which runs all the linting steps.
      * Ensure the hlint job exits with a failure if hlint is not installed (otherwise we were ignoring the failure). Given that hlint doesn't seem to be available in CI at the moment, I've temporarily allowed failure in the hlint job.
      * Run all linting tests in CI using hadrian.
      6555b68c
  12. Feb 21, 2022
    • Zubin's avatar
      Reinstallable GHC · 7ce1b694
      Zubin authored and Matthew Pickering's avatar Matthew Pickering committed
      This patch allows ghc and its dependencies to be built using a normal
      invocation of cabal-install. Each componenent which relied on generated
      files or additional configuration now has a Setup.hs file.
      
      There are also various fixes to the cabal files to satisfy
      cabal-install.
      
      There is a new hadrian command which will build a stage2 compiler and
      then a stage3 compiler by using cabal.
      
      ```
      ./hadrian/build build-cabal
      ```
      
      There is also a new CI job which tests running this command.
      
      For the 9.4 release we will upload all the dependent executables to
      hackage and then end users will be free to build GHC and GHC executables
      via cabal.
      
      There are still some unresolved questions about how to ensure soundness
      when loading plugins into a reinstalled GHC (#20742) which will be
      tighted up in due course.
      
      Fixes #19896
      7ce1b694
  13. Feb 12, 2022
    • Matthew Pickering's avatar
      Make sure all platforms have a release job · 9cab90d9
      Matthew Pickering authored and Marge Bot's avatar Marge Bot committed
      The release bindists are currently a mixture of validate and release
      builds. This is bad because the validate builds don't have profiling
      libraries. The fix is to make sure there is a release job for each
      platform we want to produce a release for.t
      
      Fixes #21066
      9cab90d9
  14. Feb 08, 2022
  15. Feb 04, 2022
    • Matthew Pickering's avatar
      testsuite: Run testsuite dependency calculation before GHC is built · 62d670eb
      Matthew Pickering authored and Marge Bot's avatar Marge Bot committed
      The main motivation for this patch is to allow tests to be added to the
      testsuite which test things about the source tree without needing to
      build GHC. In particular the notes linter can easily start failing and
      by integrating it into the testsuite the  process of observing these
      changes is caught by normal validation procedures rather than having to
      run the linter specially.
      
      With this patch I can run
      
      ```
      ./hadrian/build test --flavour=devel2  --only="uniques"
      ```
      
      In a clean tree to run the checkUniques linter without having to build
      GHC.
      
      Fixes #21029
      62d670eb
  16. Feb 03, 2022
  17. Jan 27, 2022
  18. Jan 25, 2022
  19. Jan 12, 2022
  20. Dec 12, 2021
  21. Dec 01, 2021
  22. Nov 25, 2021
  23. Nov 23, 2021
  24. Nov 19, 2021
    • Ben Gamari's avatar
      gitlab-ci: Bump MACOSX_DEPLOYMENT_TARGET · 048f8d96
      Ben Gamari authored and Marge Bot's avatar Marge Bot committed
      It appears that Darwin's toolchain includes system headers in the
      dependency makefiles it generates with `-M` with older
      `MACOSX_DEPLOYMENT_TARGETS`. To avoid this we have bumped the deployment
      target for x86-64/Darwin to 10.10.
      048f8d96
  25. Nov 16, 2021
  26. Nov 13, 2021
Loading