Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • ghc/ghc
  • bgamari/ghc
  • syd/ghc
  • ggreif/ghc
  • watashi/ghc
  • RolandSenn/ghc
  • mpickering/ghc
  • DavidEichmann/ghc
  • carter/ghc
  • harpocrates/ghc
  • ethercrow/ghc
  • mijicd/ghc
  • adamse/ghc
  • alexbiehl/ghc
  • gridaphobe/ghc
  • trofi/ghc
  • supersven/ghc
  • ppk/ghc
  • ulysses4ever/ghc
  • AndreasK/ghc
  • ghuntley/ghc
  • shayne-fletcher-da/ghc
  • fgaz/ghc
  • yav/ghc
  • osa1/ghc
  • mbbx6spp/ghc
  • JulianLeviston/ghc
  • reactormonk/ghc
  • rae/ghc
  • takenobu-hs/ghc
  • michalt/ghc
  • andrewthad/ghc
  • hsyl20/ghc
  • scottgw/ghc
  • sjakobi/ghc
  • angerman/ghc
  • RyanGlScott/ghc
  • hvr/ghc
  • howtonotwin/ghc
  • chessai/ghc
  • m-renaud/ghc
  • brprice/ghc
  • stevehartdata/ghc
  • sighingnow/ghc
  • kgardas/ghc
  • ckoparkar/ghc
  • alp/ghc
  • smaeul/ghc
  • kakkun61/ghc
  • sykloid/ghc
  • newhoggy/ghc
  • toonn/ghc
  • nineonine/ghc
  • Phyx/ghc
  • ezyang/ghc
  • tweag/ghc
  • langston/ghc
  • ndmitchell/ghc
  • rockbmb/ghc
  • artempyanykh/ghc
  • mniip/ghc
  • mynguyenbmc/ghc
  • alexfmpe/ghc
  • crockeea/ghc
  • nh2/ghc
  • vaibhavsagar/ghc
  • phadej/ghc
  • Haskell-mouse/ghc
  • lolotp/ghc
  • spacekitteh/ghc
  • michaelpj/ghc
  • mgsloan/ghc
  • HPCohen/ghc
  • tmobile/ghc
  • radrow/ghc
  • simonmar/ghc
  • _deepfire/ghc
  • Ericson2314/ghc
  • leitao/ghc
  • fumieval/ghc
  • trac-isovector/ghc
  • cblp/ghc
  • xich/ghc
  • ciil/ghc
  • erthalion/ghc
  • xldenis/ghc
  • autotaker/ghc
  • haskell-wasm/ghc
  • kcsongor/ghc
  • agander/ghc
  • Baranowski/ghc
  • trac-dredozubov/ghc
  • 23Skidoo/ghc
  • iustin/ghc
  • ningning/ghc
  • josefs/ghc
  • kabuhr/ghc
  • gallais/ghc
  • dten/ghc
  • expipiplus1/ghc
  • Pluralia/ghc
  • rohanjr/ghc
  • intricate/ghc
  • kirelagin/ghc
  • Javran/ghc
  • DanielG/ghc
  • trac-mizunashi_mana/ghc
  • pparkkin/ghc
  • bollu/ghc
  • ntc2/ghc
  • jaspervdj/ghc
  • JoshMeredith/ghc
  • wz1000/ghc
  • zkourouma/ghc
  • code5hot/ghc
  • jdprice/ghc
  • tdammers/ghc
  • J-mie6/ghc
  • trac-lantti/ghc
  • ch1bo/ghc
  • cgohla/ghc
  • lucamolteni/ghc
  • acairncross/ghc
  • amerocu/ghc
  • chreekat/ghc
  • txsmith/ghc
  • trupill/ghc
  • typetetris/ghc
  • sergv/ghc
  • fryguybob/ghc
  • erikd/ghc
  • trac-roland/ghc
  • setupminimal/ghc
  • Friede80/ghc
  • SkyWriter/ghc
  • xplorld/ghc
  • abrar/ghc
  • obsidiansystems/ghc
  • Icelandjack/ghc
  • adinapoli/ghc
  • trac-matthewbauer/ghc
  • heatsink/ghc
  • dwijnand/ghc
  • Cmdv/ghc
  • alinab/ghc
  • pepeiborra/ghc
  • fommil/ghc
  • luochen1990/ghc
  • rlupton20/ghc
  • applePrincess/ghc
  • lehins/ghc
  • ronmrdechai/ghc
  • leeadam/ghc
  • harendra/ghc
  • mightymosquito1991/ghc
  • trac-gershomb/ghc
  • lucajulian/ghc
  • Rizary/ghc
  • VictorCMiraldo/ghc
  • jamesbrock/ghc
  • andrewdmeier/ghc
  • luke/ghc
  • pranaysashank/ghc
  • cocreature/ghc
  • hithroc/ghc
  • obreitwi/ghc
  • slrtbtfs/ghc
  • kaol/ghc
  • yairchu/ghc
  • Mathemagician98/ghc
  • trac-taylorfausak/ghc
  • leungbk/ghc
  • MichaWiedenmann/ghc
  • chris-martin/ghc
  • TDecki/ghc
  • adithyaov/ghc
  • trac-gelisam/ghc
  • Lysxia/ghc
  • complyue/ghc
  • bwignall/ghc
  • sternmull/ghc
  • sonika/ghc
  • leif/ghc
  • broadwaylamb/ghc
  • myszon/ghc
  • danbroooks/ghc
  • Mechachleopteryx/ghc
  • zardyh/ghc
  • trac-vdukhovni/ghc
  • OmarKhaledAbdo/ghc
  • arrowd/ghc
  • Bodigrim/ghc
  • matheus23/ghc
  • cardenaso11/ghc
  • trac-Athas/ghc
  • mb720/ghc
  • DylanZA/ghc
  • liff/ghc
  • typedrat/ghc
  • trac-claude/ghc
  • jbm/ghc
  • Gertjan423/ghc
  • PHO/ghc
  • JKTKops/ghc
  • kockahonza/ghc
  • msakai/ghc
  • Sir4ur0n/ghc
  • barambani/ghc
  • vishnu.c/ghc
  • dcoutts/ghc
  • trac-runeks/ghc
  • trac-MaxGabriel/ghc
  • lexi.lambda/ghc
  • strake/ghc
  • spavikevik/ghc
  • JakobBruenker/ghc
  • rmanne/ghc
  • gdziadkiewicz/ghc
  • ani/ghc
  • iliastsi/ghc
  • smunix/ghc
  • judah/ghc
  • blackgnezdo/ghc
  • emilypi/ghc
  • trac-bpfoley/ghc
  • muesli4/ghc
  • trac-gkaracha/ghc
  • Kleidukos/ghc
  • nek0/ghc
  • TristanCacqueray/ghc
  • dwulive/ghc
  • mbakke/ghc
  • arybczak/ghc
  • Yang123321/ghc
  • maksbotan/ghc
  • QuietMisdreavus/ghc
  • trac-olshanskydr/ghc
  • emekoi/ghc
  • samuela/ghc
  • josephcsible/ghc
  • dramforever/ghc
  • lpsmith/ghc
  • DenisFrezzato/ghc
  • michivi/ghc
  • jneira/ghc
  • jeffhappily/ghc
  • Ivan-Yudin/ghc
  • nakaji-dayo/ghc
  • gdevanla/ghc
  • galen/ghc
  • fendor/ghc
  • yaitskov/ghc
  • rcythr/ghc
  • awpr/ghc
  • jeremyschlatter/ghc
  • Aver1y/ghc
  • mitchellvitez/ghc
  • merijn/ghc
  • tomjaguarpaw1/ghc
  • trac-NoidedSuper/ghc
  • erewok/ghc
  • trac-junji.hashimoto/ghc
  • adamwespiser/ghc
  • bjaress/ghc
  • jhrcek/ghc
  • leonschoorl/ghc
  • lukasz-golebiewski/ghc
  • sheaf/ghc
  • last-g/ghc
  • carassius1014/ghc
  • eschwartz/ghc
  • dwincort/ghc
  • felixwiemuth/ghc
  • TimWSpence/ghc
  • marcusmonteirodesouza/ghc
  • WJWH/ghc
  • vtols/ghc
  • theobat/ghc
  • BinderDavid/ghc
  • ckoparkar0/ghc
  • alexander-kjeldaas/ghc
  • dme2/ghc
  • philderbeast/ghc
  • aaronallen8455/ghc
  • rayshih/ghc
  • benkard/ghc
  • mpardalos/ghc
  • saidelman/ghc
  • leiftw/ghc
  • ca333/ghc
  • bwroga/ghc
  • nmichael44/ghc
  • trac-crobbins/ghc
  • felixonmars/ghc
  • adityagupta1089/ghc
  • hgsipiere/ghc
  • treeowl/ghc
  • alexpeits/ghc
  • CraigFe/ghc
  • dnlkrgr/ghc
  • kerckhove_ts/ghc
  • cptwunderlich/ghc
  • eiais/ghc
  • hahohihu/ghc
  • sanchayan/ghc
  • lemmih/ghc
  • sehqlr/ghc
  • trac-dbeacham/ghc
  • luite/ghc
  • trac-f-a/ghc
  • vados/ghc
  • luntain/ghc
  • fatho/ghc
  • alexbiehl-gc/ghc
  • dcbdan/ghc
  • tvh/ghc
  • liam-ly/ghc
  • timbobbarnes/ghc
  • GovanifY/ghc
  • shanth2600/ghc
  • gliboc/ghc
  • duog/ghc
  • moxonsghost/ghc
  • zander/ghc
  • masaeedu/ghc
  • georgefst/ghc
  • guibou/ghc
  • nicuveo/ghc
  • mdebruijne/ghc
  • stjordanis/ghc
  • emiflake/ghc
  • wygulmage/ghc
  • frasertweedale/ghc
  • coot/ghc
  • aratamizuki/ghc
  • tsandstr/ghc
  • mrBliss/ghc
  • Anton-Latukha/ghc
  • tadfisher/ghc
  • vapourismo/ghc
  • Sorokin-Anton/ghc
  • basile-henry/ghc
  • trac-mightybyte/ghc
  • AbsoluteNikola/ghc
  • cobrien99/ghc
  • songzh/ghc
  • blamario/ghc
  • aj4ayushjain/ghc
  • trac-utdemir/ghc
  • tangcl/ghc
  • hdgarrood/ghc
  • maerwald/ghc
  • arjun/ghc
  • ratherforky/ghc
  • haskieLambda/ghc
  • EmilGedda/ghc
  • Bogicevic/ghc
  • eddiejessup/ghc
  • kozross/ghc
  • AlistairB/ghc
  • 3Rafal/ghc
  • christiaanb/ghc
  • trac-bit/ghc
  • matsumonkie/ghc
  • trac-parsonsmatt/ghc
  • chisui/ghc
  • jaro/ghc
  • trac-kmiyazato/ghc
  • davidsd/ghc
  • Tritlo/ghc
  • I-B-3/ghc
  • lykahb/ghc
  • AriFordsham/ghc
  • turion1/ghc
  • berberman/ghc
  • christiantakle/ghc
  • zyklotomic/ghc
  • trac-ocramz/ghc
  • CSEdd/ghc
  • doyougnu/ghc
  • mmhat/ghc
  • why-not-try-calmer/ghc
  • plutotulp/ghc
  • kjekac/ghc
  • Manvi07/ghc
  • teo/ghc
  • cactus/ghc
  • CarrieMY/ghc
  • abel/ghc
  • yihming/ghc
  • tsakki/ghc
  • jessicah/ghc
  • oliverbunting/ghc
  • meld/ghc
  • friedbrice/ghc
  • Joald/ghc
  • abarbu/ghc
  • DigitalBrains1/ghc
  • sterni/ghc
  • alexDarcy/ghc
  • hexchain/ghc
  • minimario/ghc
  • zliu41/ghc
  • tommd/ghc
  • jazcarate/ghc
  • peterbecich/ghc
  • alirezaghey/ghc
  • solomon/ghc
  • mikael.urankar/ghc
  • davjam/ghc
  • int-index/ghc
  • MorrowM/ghc
  • nrnrnr/ghc
  • Sonfamm/ghc-test-only
  • afzt1/ghc
  • nguyenhaibinh-tpc/ghc
  • trac-lierdakil/ghc
  • MichaWiedenmann1/ghc
  • jmorag/ghc
  • Ziharrk/ghc
  • trac-MitchellSalad/ghc
  • juampe/ghc
  • jwaldmann/ghc
  • snowleopard/ghc
  • juhp/ghc
  • normalcoder/ghc
  • ksqsf/ghc
  • trac-jberryman/ghc
  • roberth/ghc
  • 1ntEgr8/ghc
  • epworth/ghc
  • MrAdityaAlok/ghc
  • JunmingZhao42/ghc
  • jappeace/ghc
  • trac-Gabriel439/ghc
  • alt-romes/ghc
  • HugoPeters1024/ghc
  • 10ne1/ghc-fork
  • agentultra/ghc
  • Garfield1002/ghc
  • ChickenProp/ghc
  • clyring/ghc
  • MaxHearnden/ghc
  • jumper149/ghc
  • vem/ghc
  • ketzacoatl/ghc
  • Rosuavio/ghc
  • jackohughes/ghc
  • p4l1ly/ghc
  • konsumlamm/ghc
  • shlevy/ghc
  • torsten.schmits/ghc
  • andremarianiello/ghc
  • amesgen/ghc
  • googleson78/ghc
  • InfiniteVerma/ghc
  • uhbif19/ghc
  • yiyunliu/ghc
  • raehik/ghc
  • mrkun/ghc
  • telser/ghc
  • 1Jajen1/ghc
  • slotThe/ghc
  • WinstonHartnett/ghc
  • mpilgrem/ghc
  • dreamsmasher/ghc
  • schuelermine/ghc
  • trac-Viwor/ghc
  • undergroundquizscene/ghc
  • evertedsphere/ghc
  • coltenwebb/ghc
  • oberblastmeister/ghc
  • agrue/ghc
  • lf-/ghc
  • zacwood9/ghc
  • steshaw/ghc
  • high-cloud/ghc
  • SkamDart/ghc
  • PiDelport/ghc
  • maoif/ghc
  • RossPaterson/ghc
  • CharlesTaylor7/ghc
  • ribosomerocker/ghc
  • trac-ramirez7/ghc
  • daig/ghc
  • NicolasT/ghc
  • FinleyMcIlwaine/ghc
  • lawtonnichols/ghc
  • jmtd/ghc
  • ozkutuk/ghc
  • wildsebastian/ghc
  • nikshalark/ghc
  • lrzlin/ghc
  • tobias/ghc
  • fw/ghc
  • hawkinsw/ghc
  • type-dance/ghc
  • rui314/ghc
  • ocharles/ghc
  • wavewave/ghc
  • TheKK/ghc
  • nomeata/ghc
  • trac-csabahruska/ghc
  • jonathanjameswatson/ghc
  • L-as/ghc
  • Axman6/ghc
  • barracuda156/ghc
  • trac-jship/ghc
  • jake-87/ghc
  • meooow/ghc
  • rebeccat/ghc
  • hamana55/ghc
  • Enigmage/ghc
  • kokobd/ghc
  • agevelt/ghc
  • gshen42/ghc
  • chrismwendt/ghc
  • MangoIV/ghc
  • teto/ghc
  • Sookr1/ghc
  • trac-thomasjm/ghc
  • barci2/ghc-dev
  • trac-m4dc4p/ghc
  • dixonary/ghc
  • breakerzirconia/ghc
  • alexsio27444/ghc
  • glocq/ghc
  • sourabhxyz/ghc
  • ryantrinkle/ghc
  • Jade/ghc
  • scedfaliako/ghc
  • martijnbastiaan/ghc
  • trac-george.colpitts/ghc
  • ammarbinfaisal/ghc
  • mimi.vx/ghc
  • lortabac/ghc
  • trac-zyla/ghc
  • benbellick/ghc
  • aadaa-fgtaa/ghc
  • jvanbruegge/ghc
  • archbung/ghc
  • gilmi/ghc
  • mfonism/ghc
  • alex-mckenna/ghc
  • Ei30metry/ghc
  • DiegoDiverio/ghc
  • jorgecunhamendes/ghc
  • liesnikov/ghc
  • akrmn/ghc
  • trac-simplifierticks/ghc
  • jacco/ghc
  • rhendric/ghc
  • damhiya/ghc
  • ryndubei/ghc
  • DaveBarton/ghc
  • trac-Profpatsch/ghc
  • GZGavinZhao/ghc
  • ncfavier/ghc
  • jameshaydon/ghc
  • ajccosta/ghc
  • dschrempf/ghc
  • cydparser/ghc
  • LinuxUserGD/ghc
  • elodielander/ghc
  • facundominguez/ghc
  • psilospore/ghc
  • lachrimae/ghc
  • dylan-thinnes/ghc-type-errors-plugin
  • hamishmack/ghc
  • Leary/ghc
  • lzszt/ghc
  • lyokha/ghc
  • trac-glaubitz/ghc
  • Rewbert/ghc
  • andreabedini/ghc
  • Jasagredo/ghc
  • sol/ghc
  • OlegAlexander/ghc
  • trac-sthibaul/ghc
  • avdv/ghc
  • Wendaolee/ghc
  • ur4t/ghc
  • daylily/ghc
  • boltzmannrain/ghc
  • mmzk1526/ghc
  • trac-fizzixnerd/ghc
  • soulomoon/ghc
  • rwmjones/ghc
  • j14i/ghc
  • tracsis/ghc
  • gesh/ghc
  • flip101/ghc
  • eldritch-cookie/ghc
  • LemonjamesD/ghc
  • pgujjula/ghc
  • skeuchel/ghc
  • noteed/ghc
  • gulin.serge/ghc
  • Torrekie/ghc
  • jlwoodwa/ghc
  • ayanamists/ghc
  • husong998/ghc
  • trac-edmundnoble/ghc
  • josephf/ghc
  • contrun/ghc
  • baulig/ghc
  • edsko/ghc
  • mzschr/ghc-issue-24732
  • ulidtko/ghc
  • Arsen/ghc
  • trac-sjoerd_visscher/ghc
  • crumbtoo/ghc
  • L0neGamer/ghc
  • DrewFenwick/ghc
  • benz0li/ghc
  • MaciejWas/ghc
  • jordanrule/ghc
  • trac-qqwy/ghc
  • LiamGoodacre/ghc
  • isomorpheme/ghc
  • trac-danidiaz/ghc
  • Kariim/ghc
  • MTaimoorZaeem/ghc
  • hololeap/ghc
  • ticat-fp/ghc
  • meritamen/ghc
  • criskell/ghc
  • trac-kraai/ghc
  • aergus/ghc
  • jdral/ghc
  • SamB/ghc
  • Tristian/ghc
  • ywgrit/ghc
  • KatsuPatrick/ghc
  • OsePedro/ghc
  • mpscholten/ghc
  • fp/ghc
  • zaquest/ghc
  • fangyi-zhou/ghc
  • augyg/ghc
640 results
Show changes
Commits on Source (17)
Showing
with 327 additions and 47 deletions
......@@ -97,6 +97,7 @@ _darcs/
# -----------------------------------------------------------------------------
# specific generated files
/.gitlab/jobs-metadata.json
/bindist-list
/bindist-list.uniq
/bindistprep/
......
......@@ -274,13 +274,10 @@ lint-ci-config:
GIT_SUBMODULE_STRATEGY: none
before_script:
- echo "experimental-features = nix-command flakes" >> /etc/nix/nix.conf
- nix-channel --update
script:
- .gitlab/generate_jobs
- nix run .gitlab/generate-ci#generate-jobs
# 1 if .gitlab/generate_jobs changed the output of the generated config
- nix shell nixpkgs#git -c git diff --exit-code
# And run this to just make sure that works
- .gitlab/generate_job_metadata
dependencies: []
lint-submods:
......@@ -1020,7 +1017,7 @@ project-version:
- PipelineYear="$(date -d $CI_PIPELINE_CREATED_AT +%Y)"
- nix shell nixpkgs#wget -c wget "https://ghc.gitlab.haskell.org/ghcup-metadata/ghcup-nightlies-$PipelineYear-0.0.7.yaml" -O ghcup-0.0.7.yaml
- .gitlab/generate_job_metadata
- nix run .gitlab/generate-ci#generate-job-metadata
artifacts:
paths:
......
Copyright (c) 2023, The GHC Developers
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
* Neither the name of The GHC Developers nor the names of other
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# generate-ci
This is the generator for GHC's GitLab CI infrastructure. In particular, this
generates two outputs:
* `.gitlab/jobs.yaml`, which is a YAML (or, strictly speaking, JSON)
file which defines the bulk of the validation, nightly, and release jobs of
GHC's CI. This is committed to the GHC repository and must be updated
whenever `gen_ci.hs` is modified.
* `.gitlab/jobs-metadata.json`, which is a mapping between platforms and
produced binary distribution names used when producing `ghcup` metadata
for nightly pipeline artifacts (see the `.ghcup-metadata` job in
`/.gitlab-ci.yaml`).
## Modifying the CI configuration (nix)
The jobs are defined in `gen_ci.hs`. After modifying this you can run
```sh
nix run .gitlab/generate-ci#generate-jobs
```
from the top of the GHC repository to update the generated configuration.
## Modifying the CI configuration (without nix)
One can run `update-ci` without Nix as follows (assuming one has `jq`,
`cabal-install`, and GHC installed):
```sh
$ cabal build generate-ci
$ PATH="$(dirname $(cabal list-bin generate-ci)):$PATH"
$ ./generate-jobs
```
{
"nodes": {
"flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1687709756,
"narHash": "sha256-Y5wKlQSkgEK2weWdOu4J3riRd+kV/VCgHsqLNTTWQ/0=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "dbabf0ca0c0c4bce6ea5eaf65af5cb694d2082c7",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1687886075,
"narHash": "sha256-PeayJDDDy+uw1Ats4moZnRdL1OFuZm1Tj+KiHlD67+o=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a565059a348422af5af9026b5174dc5c0dcefdae",
"type": "github"
},
"original": {
"id": "nixpkgs",
"type": "indirect"
}
},
"root": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
}
},
"root": "root",
"version": 7
}
{
description = "GHC CI Generator";
inputs.flake-utils.url = "github:numtide/flake-utils";
outputs = { self, nixpkgs, flake-utils }:
flake-utils.lib.eachDefaultSystem (system:
let pkgs = nixpkgs.legacyPackages.${system}; in
{
packages = rec {
# The Haskell generator executable
generate-ci = pkgs.haskellPackages.callCabal2nix "generate-ci" ./. {};
# Wrapper scripts
generate-job-metadata = pkgs.runCommand "generate-job-metadata" {
nativeBuildInputs = with pkgs; [ makeWrapper ];
} ''
mkdir -p $out/bin
makeWrapper ${./generate-job-metadata} $out/bin/generate-job-metadata \
--prefix PATH : ${with pkgs; lib.makeBinPath [ generate-ci gitMinimal ]}
'';
generate-jobs = pkgs.runCommand "generate-jobs" {
nativeBuildInputs = with pkgs; [ makeWrapper ];
} ''
mkdir -p $out/bin
makeWrapper ${./generate-jobs} $out/bin/generate-jobs \
--prefix PATH : ${with pkgs; lib.makeBinPath [ generate-ci jq gitMinimal ]}
'';
default = generate-jobs;
};
apps = rec {
generate-jobs = flake-utils.lib.mkApp {
drv = self.packages.${system}.generate-jobs;
};
generate-job-metadata = flake-utils.lib.mkApp {
drv = self.packages.${system}.generate-job-metadata;
};
default = generate-jobs;
};
}
);
}
......@@ -3,9 +3,6 @@
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE DeriveFunctor #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{- cabal:
build-depends: base, aeson >= 1.8.1, containers, bytestring
-}
import Data.Aeson as A
import qualified Data.Map as Map
......
cabal-version: 3.0
name: generate-ci
version: 0.1.0.0
license: BSD-3-Clause
license-file: LICENSE
build-type: Simple
executable generate-ci
main-is: gen_ci.hs
ghc-options: -Wall
build-depends: base,
containers,
bytestring,
aeson >= 1.8.1
default-language: Haskell2010
#!/usr/bin/env bash
out_dir="$(git rev-parse --show-toplevel)/.gitlab"
# Update job metadata for ghcup
generate-ci metadata "$out_dir/jobs-metadata.json"
echo "Updated $out_dir/jobs-metadata.json"
#!/usr/bin/env bash
out_dir="$(git rev-parse --show-toplevel)/.gitlab"
tmp="$(mktemp)"
generate-ci gitlab "$tmp"
rm -f "$out_dir/jobs.yaml"
echo "### THIS IS A GENERATED FILE, DO NOT MODIFY DIRECTLY" > "$out_dir/jobs.yaml"
cat "$tmp" | jq >> "$out_dir/jobs.yaml"
rm "$tmp"
echo "Updated $out_dir/jobs.yaml"
#! /usr/bin/env nix-shell
#!nix-shell -i bash -p cabal-install "haskell.packages.ghc92.ghcWithPackages (pkgs: with pkgs; [aeson])" git jq
cd "$(dirname "${BASH_SOURCE[0]}")"
cabal run gen_ci -- metadata jobs-metadata.json
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p cabal-install "haskell.packages.ghc92.ghcWithPackages (pkgs: with pkgs; [aeson])" git jq
# shellcheck shell=bash
set -euo pipefail
cd "$(dirname "${BASH_SOURCE[0]}")"
tmp=$(mktemp)
cabal run gen_ci -- gitlab $tmp
rm -f jobs.yaml
echo "### THIS IS A GENERATED FILE, DO NOT MODIFY DIRECTLY" > jobs.yaml
cat $tmp | jq | tee -a jobs.yaml
{-# LANGUAGE MultiWayIf #-}
{-# LANGUAGE MultiWayIf, LambdaCase #-}
{-|
Module : GHC.Driver.Backend
......@@ -85,7 +85,7 @@ module GHC.Driver.Backend
, backendUnregisterisedAbiOnly
, backendGeneratesHc
, backendSptIsDynamic
, backendWantsBreakpointTicks
, backendSupportsBreakpoints
, backendForcesOptimization0
, backendNeedsFullWays
, backendSpecialModuleSource
......@@ -650,16 +650,16 @@ backendSptIsDynamic (Named JavaScript) = False
backendSptIsDynamic (Named Interpreter) = True
backendSptIsDynamic (Named NoBackend) = False
-- | If this flag is set, then "GHC.HsToCore.Ticks"
-- inserts `Breakpoint` ticks. Used only for the
-- interpreter.
backendWantsBreakpointTicks :: Backend -> Bool
backendWantsBreakpointTicks (Named NCG) = False
backendWantsBreakpointTicks (Named LLVM) = False
backendWantsBreakpointTicks (Named ViaC) = False
backendWantsBreakpointTicks (Named JavaScript) = False
backendWantsBreakpointTicks (Named Interpreter) = True
backendWantsBreakpointTicks (Named NoBackend) = False
-- | If this flag is unset, then the driver ignores the flag @-fbreak-points@,
-- since backends other than the interpreter tend to panic on breakpoints.
backendSupportsBreakpoints :: Backend -> Bool
backendSupportsBreakpoints = \case
Named NCG -> False
Named LLVM -> False
Named ViaC -> False
Named JavaScript -> False
Named Interpreter -> True
Named NoBackend -> False
-- | If this flag is set, then the driver forces the
-- optimization level to 0, issuing a warning message if
......
module GHC.Driver.Config.HsToCore.Ticks
( initTicksConfig
, breakpointsAllowed
)
where
......@@ -18,9 +19,14 @@ initTicksConfig dflags = TicksConfig
, ticks_countEntries = gopt Opt_ProfCountEntries dflags
}
breakpointsAllowed :: DynFlags -> Bool
breakpointsAllowed dflags =
gopt Opt_InsertBreakpoints dflags &&
backendSupportsBreakpoints (backend dflags)
coveragePasses :: DynFlags -> [TickishType]
coveragePasses dflags = catMaybes
[ ifA Breakpoints $ backendWantsBreakpointTicks $ backend dflags
[ ifA Breakpoints $ breakpointsAllowed dflags
, ifA HpcTicks $ gopt Opt_Hpc dflags
, ifA ProfNotes $ sccProfilingEnabled dflags && profAuto dflags /= NoProfAuto
, ifA SourceNotes $ needSourceNotes dflags
......
......@@ -355,6 +355,7 @@ data GeneralFlag
| Opt_BuildingCabalPackage
| Opt_IgnoreDotGhci
| Opt_GhciSandbox
| Opt_InsertBreakpoints
| Opt_GhciHistory
| Opt_GhciLeakCheck
| Opt_ValidateHie
......
......@@ -2470,7 +2470,8 @@ fFlagsDeps = [
return dflags)),
flagSpec "show-error-context" Opt_ShowErrorContext,
flagSpec "cmm-thread-sanitizer" Opt_CmmThreadSanitizer,
flagSpec "split-sections" Opt_SplitSections
flagSpec "split-sections" Opt_SplitSections,
flagSpec "break-points" Opt_InsertBreakpoints
]
++ fHoleFlags
......
......@@ -167,7 +167,7 @@ deSugar hsc_env
[ (i, s)
| i <- hsc_interp hsc_env
, (_, s) <- m_tickInfo
, backendWantsBreakpointTicks (backend dflags)
, breakpointsAllowed dflags
]
$ \(interp, specs) -> mkModBreaks interp mod specs
......
......@@ -18,8 +18,9 @@ module GHC.Rename.Utils (
warnForallIdentifier,
checkUnusedRecordWildcard,
badQualBndrErr, typeAppErr, badFieldConErr,
wrapGenSpan, genHsVar, genLHsVar, genHsApp, genHsApps, genAppType,
genHsIntegralLit, genHsTyLit, genSimpleConPat,
wrapGenSpan, genHsVar, genLHsVar, genHsApp, genHsApps, genLHsApp,
genAppType,
genLHsLit, genHsIntegralLit, genHsTyLit, genSimpleConPat,
genVarPat, genWildPat,
genSimpleFunBind, genFunBind,
......@@ -572,6 +573,9 @@ genHsApps fun args = foldl genHsApp (genHsVar fun) args
genHsApp :: HsExpr GhcRn -> LHsExpr GhcRn -> HsExpr GhcRn
genHsApp fun arg = HsApp noAnn (wrapGenSpan fun) arg
genLHsApp :: HsExpr GhcRn -> LHsExpr GhcRn -> LHsExpr GhcRn
genLHsApp fun arg = wrapGenSpan (genHsApp fun arg)
genLHsVar :: Name -> LHsExpr GhcRn
genLHsVar nm = wrapGenSpan $ genHsVar nm
......@@ -581,8 +585,11 @@ genHsVar nm = HsVar noExtField $ wrapGenSpan nm
genAppType :: HsExpr GhcRn -> HsType (NoGhcTc GhcRn) -> HsExpr GhcRn
genAppType expr ty = HsAppType noExtField (wrapGenSpan expr) noHsTok (mkEmptyWildCardBndrs (wrapGenSpan ty))
genLHsLit :: HsLit GhcRn -> LocatedAn an (HsExpr GhcRn)
genLHsLit = wrapGenSpan . HsLit noAnn
genHsIntegralLit :: IntegralLit -> LocatedAn an (HsExpr GhcRn)
genHsIntegralLit lit = wrapGenSpan $ HsLit noAnn (HsInt noExtField lit)
genHsIntegralLit = genLHsLit . HsInt noExtField
genHsTyLit :: FastString -> HsType GhcRn
genHsTyLit = HsTyLit noExtField . HsStrTy NoSourceText
......
......@@ -152,6 +152,10 @@ instance Diagnostic TcRnMessage where
hang (text "Inaccessible code in")
2 (ppr (ic_info implic))
$$ pprSolverReportWithCtxt contra
TcRnInaccessibleCoAxBranch fam_tc cur_branch
-> mkSimpleDecorated $
text "Type family instance equation is overlapped:" $$
nest 2 (pprCoAxBranchUser fam_tc cur_branch)
TcRnTypeDoesNotHaveFixedRuntimeRep ty prov (ErrInfo extra supplementary)
-> mkDecorated [pprTypeDoesNotHaveFixedRuntimeRep ty prov, extra, supplementary]
TcRnImplicitLift id_or_name ErrInfo{..}
......@@ -1833,7 +1837,8 @@ instance Diagnostic TcRnMessage where
TcRnIllegalQuasiQuotes -> mkSimpleDecorated $
text "Quasi-quotes are not permitted without QuasiQuotes"
TcRnTHError err -> pprTHError err
TcRnPatersonCondFailure reason ctxt lhs rhs ->
mkSimpleDecorated $ pprPatersonCondFailure reason ctxt lhs rhs
TcRnIllegalInvisTyVarBndr bndr ->
mkSimpleDecorated $
hang (text "Illegal invisible type variable binder:")
......@@ -1877,6 +1882,8 @@ instance Diagnostic TcRnMessage where
-> WarningWithFlag Opt_WarnRedundantConstraints
TcRnInaccessibleCode {}
-> WarningWithFlag Opt_WarnInaccessibleCode
TcRnInaccessibleCoAxBranch {}
-> WarningWithFlag Opt_WarnInaccessibleCode
TcRnTypeDoesNotHaveFixedRuntimeRep{}
-> ErrorWithoutFlag
TcRnImplicitLift{}
......@@ -2485,6 +2492,8 @@ instance Diagnostic TcRnMessage where
-> ErrorWithoutFlag
TcRnImplicitRhsQuantification{}
-> WarningWithFlag Opt_WarnImplicitRhsQuantification
TcRnPatersonCondFailure{}
-> ErrorWithoutFlag
diagnosticHints = \case
TcRnUnknownMessage m
......@@ -2500,6 +2509,8 @@ instance Diagnostic TcRnMessage where
-> noHints
TcRnInaccessibleCode{}
-> noHints
TcRnInaccessibleCoAxBranch{}
-> noHints
TcRnTypeDoesNotHaveFixedRuntimeRep{}
-> noHints
TcRnImplicitLift{}
......@@ -3154,6 +3165,8 @@ instance Diagnostic TcRnMessage where
-> [SuggestAddStandaloneKindSignature name]
TcRnImplicitRhsQuantification kv
-> [SuggestBindTyVarOnLhs (unLoc kv)]
TcRnPatersonCondFailure{}
-> [suggestExtension LangExt.UndecidableInstances]
diagnosticCode :: TcRnMessage -> Maybe DiagnosticCode
diagnosticCode = constructorCode
......@@ -6218,6 +6231,45 @@ addTopDeclsErrorHints = \case
AddTopDeclsRunSpliceFailure {}
-> noHints
--------------------------------------------------------------------------------
pprPatersonCondFailure ::
PatersonCondFailure -> PatersonCondFailureContext -> Type -> Type -> SDoc
pprPatersonCondFailure (PCF_TyVar tvs) InInstanceDecl lhs rhs =
hang (occMsg tvs)
2 (sep [ text "in the constraint" <+> quotes (ppr lhs)
, text "than in the instance head" <+> quotes (ppr rhs) ])
where
occMsg tvs = text "Variable" <> plural tvs <+> quotes (pprWithCommas ppr tvs)
<+> pp_occurs <+> text "more often"
pp_occurs | isSingleton tvs = text "occurs"
| otherwise = text "occur"
pprPatersonCondFailure (PCF_TyVar tvs) InTyFamEquation lhs rhs =
hang (occMsg tvs)
2 (sep [ text "in the type-family application" <+> quotes (ppr rhs)
, text "than in the LHS of the family instance" <+> quotes (ppr lhs) ])
where
occMsg tvs = text "Variable" <> plural tvs <+> quotes (pprWithCommas ppr tvs)
<+> pp_occurs <+> text "more often"
pp_occurs | isSingleton tvs = text "occurs"
| otherwise = text "occur"
pprPatersonCondFailure PCF_Size InInstanceDecl lhs rhs =
hang (text "The constraint" <+> quotes (ppr lhs))
2 (sep [ text "is no smaller than", pp_rhs ])
where pp_rhs = text "the instance head" <+> quotes (ppr rhs)
pprPatersonCondFailure PCF_Size InTyFamEquation lhs rhs =
hang (text "The type-family application" <+> quotes (ppr rhs))
2 (sep [ text "is no smaller than", pp_lhs ])
where pp_lhs = text "the LHS of the family instance" <+> quotes (ppr lhs)
pprPatersonCondFailure (PCF_TyFam tc) InInstanceDecl lhs _rhs =
hang (text "Illegal use of type family" <+> quotes (ppr tc))
2 (text "in the constraint" <+> quotes (ppr lhs))
pprPatersonCondFailure (PCF_TyFam tc) InTyFamEquation _lhs rhs =
hang (text "Illegal nested use of type family" <+> quotes (ppr tc))
2 (text "in the arguments of the type-family application" <+> quotes (ppr rhs))
--------------------------------------------------------------------------------
pprZonkerMessage :: ZonkerMessage -> SDoc
......
......@@ -167,7 +167,8 @@ import GHC.Tc.Types.Origin ( CtOrigin (ProvCtxtOrigin), SkolemInfoAnon (SigSkol)
, UserTypeCtxt (PatSynCtxt), TyVarBndrs, TypedThing
, FixedRuntimeRepOrigin(..), InstanceWhat )
import GHC.Tc.Types.Rank (Rank)
import GHC.Tc.Utils.TcType (TcType, TcSigmaType, TcPredType)
import GHC.Tc.Utils.TcType (TcType, TcSigmaType, TcPredType,
PatersonCondFailure, PatersonCondFailureContext)
import GHC.Types.Basic
import GHC.Types.Error
import GHC.Types.Avail
......@@ -364,7 +365,19 @@ data TcRnMessage where
TcRnInaccessibleCode :: Implication -- ^ The implication containing a contradiction.
-> SolverReportWithCtxt -- ^ The contradiction.
-> TcRnMessage
{-| TcRnInaccessibleCoAxBranch is a warning that is emitted when a closed type family has a
branch which is inaccessible due to a more general, prior branch.
Example:
type family F a where
F a = Int
F Bool = Bool
Test cases: T9085, T14066a, T9085, T6018, tc265,
-}
TcRnInaccessibleCoAxBranch :: TyCon -- ^ The type family's constructor
-> CoAxBranch -- ^ The inaccessible branch
-> TcRnMessage
{-| A type which was expected to have a fixed runtime representation
does not have a fixed runtime representation.
......@@ -1188,11 +1201,15 @@ data TcRnMessage where
{-| TcRnIllegalClassInst is an error that occurs whenever a class instance is specified
for a non-class.
This also includes derived instances. See the T23522 test case.
Examples(s):
type C1 a = (Show (a -> Bool))
instance C1 Int where
Test cases: polykinds/T13267
Test cases:
polykinds/T13267
deriving/should_fail/T23522
-}
TcRnIllegalClassInst :: !(TyConFlavour TyCon) -> TcRnMessage
......@@ -4120,6 +4137,21 @@ data TcRnMessage where
-}
TcRnMissingRoleAnnotation :: Name -> [Role] -> TcRnMessage
{-| TcRnPatersonCondFailure is an error that occurs when an instance
declaration fails to conform to the Paterson conditions. Which particular condition
fails depends on the constructor of PatersonCondFailure
See Note [Paterson conditions].
Test cases:
T15231, tcfail157, T15316, T19187a, fd-loop, tcfail108, tcfail154,
T15172, tcfail214
-}
TcRnPatersonCondFailure
:: PatersonCondFailure -- ^ the failed Paterson Condition
-> PatersonCondFailureContext
-> Type -- ^ the LHS
-> Type -- ^ the RHS
-> TcRnMessage
{-| TcRnImplicitRhsQuantification is a warning that occurs when GHC implicitly
quantifies over a type variable that occurs free on the RHS of the type declaration
......