Commit graph

145 commits

Author SHA1 Message Date
sternenseemann 76dc153544 maintainers/haskell/hydra-report.hs: work around bulk status timeout
This change adds a flag --slow to hydra-report.sh get-report which
causes it to fetch the cheap evaluation overview endpoint (which only
contains build ids and meta data). The gathered information is then used
to request each build's status individually instead of in bulk which is
very slow, but useful as a last resort if the bulk endpoint times out.
2023-09-03 21:54:03 +02:00
sternenseemann 00b0824635 maintainers/haskell/hydra-report.hs: allow disabling log requesting
Since every failure in the jobset means one request to get the log when
generating the list of newly broken packages, we need to add an option
to disable log requesting in case a lot of new breakage needs to be
entered.
2023-09-03 21:39:04 +02:00
Dennis Gosnell 6f41cccb9e
haskell: don't pin stack to version in LTS, but take the latest from hackage 2023-07-26 11:09:53 +09:00
Theodore Ni ac69020750
treewide: remove unused nix-prefetch-github from shebangs 2023-07-18 18:16:17 -07:00
sternenseemann 6dcc0ab9b5 maintainers/haskell/merge-and-open-pr: only push haskell-updates
If we want to push only one branch, we'll have to specify branch and
remote explicitly. Pushing to origin doesn't work for everyone, since
some of us have a origin remote that can't be pushed to. Using plain
`git push` has the problem that it'll try pushing all checked out
branchs which fails e.g. if some branches (staging, staging-next, …) are
behind their remote counterparts.

The solution is to require everyone to configure a per branch pushRemote
for haskell-updates which will then be used by merge-and-open-pr.sh.
2023-05-19 16:33:56 +02:00
maralorn ef41eed24f maintainers/scripts/haskell/*transitive-broken*: Fix an error message 2023-05-02 12:07:16 +02:00
maralorn 05e9a22322 maintainers/scripts/haskell/regenerate-transitive-broken-packages.sh: Make more robust against eval errors 2023-05-01 02:36:37 +02:00
maralorn 1cfb18d793 maintainers/scripts/haskell/merge-and-open-pr.sh: Pass --fast to regeneration script 2023-05-01 02:23:54 +02:00
maralorn e4b66fa1a1 maintainers/scripts/haskell: Integrate transitive-broken into regeneration script 2023-04-23 10:47:36 +02:00
sternenseemann b79286ea28 maintainers/haskell/upload-package-list: support 3.10 config dir
cabal-install 3.10 has some quirky new logic for config, cache, …
directory discovery. We reimplement this in this simple bash script,
additionally respecting the CABAL_DIR environment variable.
2023-04-14 18:35:33 +02:00
sternenseemann 35c00c639a haskellPackages.hackage-db: 2.1.2 -> 2.1.3
This update adds support for $CABAL_DIR as well as the new
$XDG_CACHE_HOME location of the hackage db.

Since we maintain hackage-db, having the latest version always is nice
even though it has more reverse dependencies than the other libraries we
maintain.
2023-04-13 14:13:40 +02:00
maralorn 632d358c64 maintainers/scripts/haskell: Add reference to manual to PR template 2023-04-08 00:24:31 +02:00
Ellie Hermaszewska d7c630ca17
maintainers/haskell/update-stackage.sh: Strip out with-compiler from stackage config
It was previously just being inserted alphabetically into the list
2023-04-05 15:21:47 +08:00
Dennis Gosnell 35295aed71
haskellPackages: in hydra-report.hs, split Linux and Darwin build failures
This commit changes hydra-report.hs to split up Linux and Darwin build
failures into two different sections.  Darwin failures are hidden by
default.
2023-03-26 18:10:08 +09:00
Dennis Gosnell bd9bb50ad2
haskellPackages: remove error about outstanding jobs on aarch64-darwin in hydra-report.hs 2023-03-26 18:08:30 +09:00
Dennis Gosnell 19b5676361
haskellPackages: add newtype for PkgName and PkgSet in hydra-report.hs
Add a newtype for a package name and a package set.  This is less for
correctness, and more just to make the code a little easier to read
through without having to keep in mind what each Text refers to.
2023-03-25 23:00:56 +09:00
Dennis Gosnell b2af201c0e
haskellPackages: add newtype for JobName in hydra-report.hs
This commits changes the `job` field in `Build` to a newtype.  This is
mostly just to have a place to document exactly what a job name consists
of.
2023-03-25 19:24:13 +09:00
Dennis Gosnell 28f22d86d7
haskellPackages: slight refactoring of hydra-report.hs 2023-03-25 18:21:55 +09:00
Dennis Gosnell c574a8c37e
haskellPackages: add a little documentation to hydra-report.hs 2023-03-25 17:44:26 +09:00
Dennis Gosnell 265a3a3b15
haskellPackages: add types and some formatting to hydra-report.hs 2023-03-24 20:55:52 +09:00
Dennis Gosnell 3aea75b8fc
haskellPackages: fix indentiation in hydra-report.hs 2023-03-24 20:26:01 +09:00
Bernardo Meurer 6e55733359
Merge pull request #219747 from Stunkymonkey/deprecate-isNull 2023-03-16 11:10:22 -03:00
sternenseemann 100d887968 release-haskell.nix: add aarch64-darwin
nixpkgs:trunk also builds aarch64-darwin these days, so this forces our
hand a little bit. We can still refuse to care about failures _too_
much, but at least we will stop merging as big a rebuilds as we are
currently.
2023-03-10 14:43:00 +01:00
Felix Buehler d10e69c86b treewide: deprecate isNull
https://nixos.org/manual/nix/stable/language/builtins.html#builtins-isNull
2023-03-06 22:40:04 +01:00
maralorn 0debf1453d maintainers/scripts/haskell/hydra-report: Add comments with error causes to broken list 2023-02-20 00:36:43 +01:00
sternenseemann b7e41b825e maintainers/haskell: generate core-pkgs hackage2nix configuration
`ghc-pkg list` tells us everything hackage2nix needs to know. In the
past the core-packages list and compiler setting in hackage2nix was
maintained manually which inevitably leads to it being forgot once in a
while – this will then mess with flag resolution when generating the
package set in some cases. Luckily, we can just let a simple derivation
do this for us.

Resolves #202621.
2023-02-19 19:52:17 +01:00
Ingo Blechschmidt 168d9a5f1e agda: 2.6.2.2 -> 2.6.3 2023-02-14 14:45:39 +01:00
sternenseemann 3dfbe2b6a3 maintainers/haskell/test-configurations.nix: support ghcHEAD
Since we now have a versioned configuration-ghc-*.nix file for GHC HEAD,
we don't need to add a super special case to the package set logic in
test-configurations.nix anymore. We can just create a versioned
attribute for the ghcHEAD package set (which is not exposed) and keep
using the normal discovery logic.

The only tricky bit is that GHC HEAD's configuration file is named after
the GHC release that will be branched off from it, so a little bit of
arithmetic is involved.
2023-02-13 14:42:03 +01:00
Dennis Gosnell 4be2c3acd5
haskellPackages: ignore maintainers without email
The Haskell Hydra report generator
(`maintainers/scripts/haskell/hydra-report.hs`) uses this
`maintainer-handles.nix` script for generating a mapping of email
addresses to GitHub handles.

This `maintainer-handles.nix` script is necessary because the Haskell
Hydra report generator gets Hydra job status info as input, but needs to
ping users on GitHub.  Hydra job status info only contains user emails (not
GitHub handles).  So the `maintainer-handles.nix` script is necessary
for looking up GitHub handles from email addresses.

This commit fixes the `maintainers-handles.nix` code to ignore
maintainers that don't have email addresses.  The code was originally
assuming that all maintainers have email addresses, but there was
recently a maintainer added without an email address.
2023-01-30 08:27:03 +09:00
maralorn a8fa46a964 maintainers/../haskell/mark-broken: Insert eval info in commit msg 2023-01-10 00:49:56 +01:00
maralorn 931fef04f9
Merge pull request #207764 from qowoz/shellcheck
shellcheck: add override for newer version
2022-12-29 15:44:15 +01:00
zowoq 232b508059 haskellPackages.ShellCheck: unpin 2022-12-28 10:42:13 +10:00
Andy e677218d32
Haskell: Fix dead link in report 2022-12-27 14:59:25 +01:00
Naïm Favier 755d5259c7
maintainers/scripts/haskell: fix regenerate-transitive-broken
- use `restrict-eval` so that we're not affected by the user's environment
- use jq instead of the horrible echo+sed hack

The second point also fixes the indentation before each line to be two
spaces instead of one, so I set it back to one space to avoid a diff.
2022-12-24 13:38:34 +01:00
sternenseemann ff920c5f7b haskellPackages.cabal2nix-unstable: 2022-07-22 -> 2022-10-10 2022-10-12 14:51:01 +02:00
maralorn 7c2fda45cc haskell-language-server: 1.7.0.0 -> 1.8.0.0 2022-09-21 05:23:07 +02:00
Malte Brandy f6333fe939 maintainers/scripts/haskell/hydra-report: fix capitalisation 2022-08-02 10:22:56 +02:00
Malte Brandy b4d1872885 maintainers/scripts/haskell/hydra-report: Add hint about eval errors 2022-07-22 00:26:52 +02:00
Malte Brandy 5c42976597 maintainers/scripts/haskell/hydra-report.hs: remove redundant pragmas 2022-05-20 21:41:30 +02:00
Malte Brandy cb20a40177 maintainers/scripts/haskell/hydra-report.hs: fix outdated hydra-unstable reference 2022-05-20 21:27:31 +02:00
Rick van Schijndel 3a7f7c1153 hydra-unstable -> hydra_unstable 2022-05-10 23:32:02 +02:00
Dennis Gosnell 2e8743b8e5
haskell: update link to calendar for maintainer rotation 2022-04-05 09:16:20 +09:00
Malte Brandy fa552e76e6 maintainers/scripts/haskell: add script to find broken maintained packages 2022-03-23 13:03:31 +01:00
sternenseemann 9b8dfcd9bf haskellPackages: stackage Nightly 2022-03-17 -> LTS 19.0
This commit has been generated by maintainers/scripts/haskell/update-stackage.sh
2022-03-20 11:11:10 +01:00
sternenseemann 57b1c86e74 maintainers/haskell/update-stackage.sh: always mktemp for tmp files
In theory, another program would be free to create "$tmpfile.new".
2022-03-20 11:09:58 +01:00
sternenseemann cd0ddefb43 maintainers/haskell/update-stackage.sh: make shellcheck happy
* Annotate shell type
* Make trap expansion safer
2022-03-20 11:09:38 +01:00
sternenseemann 22ced213c0 maintainers/haskell/update-stackage.sh: make solver configurable
Accept either Nightly or LTS as the solver configuration variable in the
script. The Stackage version is now considered a tuple of solver and
version, allowing the script to handle updates and switches between
solvers gracefully.

Tested updating Nightly and updating from Nightly to LTS.
2022-03-20 11:02:58 +01:00
sternenseemann f5c34205ad Merge remote-tracking branch 'origin/master' into haskell-updates 2022-03-11 16:47:23 +01:00
Profpatsch a23d59e2ed regenerate-hackage-packages.sh: use runCommandLocal
Running tar will not benefit from running on a builder (it’s mostly
I/O load and cannot be parallelized), and the network will dominate.
2022-03-11 14:32:36 +01:00
sternenseemann f10a7e5a3b haskellPackages.cabal-install: ignore stackage bound
We have generally shipped the latest cabal-install version. Stackage has
re-added cabal-install recently which caused cabal-install to get
downgraded to 3.4 to match the Cabal version shipped by GHC 9.0.2. This
commit reverts that change.
2022-02-27 11:47:32 +01:00
sternenseemann b5489b75ee haskellPackages: Stackage LTS 18.25 -> Stackage Nightly 2022-02-07 2022-02-18 18:24:22 +01:00
sternenseemann 90a8618c03 maintainers/scripts/test-configuration.nix: improve overlay call
configuration-nix.nix uses builtins.intersectAttrs to not any overrides
for packages not present in `super` (presumably for use outside of
nixpkgs?). To accomodate it, we pass an attribute set with every
attribute of haskellPackages, but set to `null` as `super`, and — while
we're at it — a fix point as `self`.
2021-12-15 17:23:04 +01:00
sternenseemann ca91080b21 maintainers/scripts/test-configurations.nix: skip binary GHCs
While being able to test them is neat (on x86_64-linux they work very
well, actually), we usually don't want to do this, since the set is
only (recommended to be) used to bootstrap GHC. Consequently there is
almost no binary cache and testing them mostly leads to unenlightening
and seemingly endless compilation.
2021-12-15 17:23:04 +01:00
sternenseemann 65de104e6c maintainers/scripts/test-configuration.nix: warn about broken pkgs
The warnings help when removing the broken flags when all packages turn
out to build and could also be helpful when investigating failures.
2021-12-15 17:23:04 +01:00
sternenseemann 7e9d55f0c4 maintainers/scripts: test for haskell configuration overlays
The added nix expression allows maintainers to check for regressions in
the configuration overlays employed by haskellPackages and friends. The
reasoning behind this is that, if we add an override for something, it
should also build. To test this fact, we extract all attributes touched
by a configuration and obtain all relevant derivations corresponding to
it which can then be thrown into nix-build --keep-going.

I've been using this expression to verify configuration-ghc-9.2.x.nix
for a week or so which works quite well. The amount of stale overrides
in other configuration makes it a bit more painful for other use cases
at the moment.
2021-12-14 02:25:02 +01:00
Dennis Gosnell 25e3fb020f
Merge pull request #138772 from cdepillabout/add-link-to-hydra-build-report
haskell: add link to Hydra build report for haskell-updates branch to PR message
2021-09-29 15:20:18 +09:00
Malte Brandy 7b54437362
maintainers/scripts/haskell/hydra-report.hs: Fix wording 2021-09-23 23:37:05 +02:00
Malte Brandy a63dd9b40a
maintainers/scripts/haskell/hydra-report: Let r-deps link show to list of r-deps 2021-09-22 13:13:10 +02:00
(cdep)illabout e2603c4db2
haskell: add link to Hydra build report for haskell-updates branch to PR message 2021-09-21 10:19:28 +09:00
(cdep)illabout 64511038ff
haskell: small improvements to script for merging haskell-updates PR 2021-09-20 09:55:22 +09:00
(cdep)illabout 5ecf510833
haskell: update script for merging haskell-updates PR to upload package versions to Hackage 2021-09-20 09:54:51 +09:00
Malte Brandy 77adbb9ce7
maintainers/scripts/haskell/hydra-report: Add traffic light 2021-09-18 19:41:05 +02:00
maralorn 4de9b2bfcb
Merge pull request #138048 from maralorn/r-deps
maintainers/scripts/haskell: Add r-deps information to build-report
2021-09-18 15:11:13 +02:00
Malte Brandy ed2b092333
maintainers/scripts/haskell: Add r-deps information to build-report 2021-09-18 12:52:30 +02:00
(cdep)illabout ecce26dd5a
haskell: Add a maintainer script for opening a new haskell-updates PR 2021-09-18 14:34:49 +09:00
Malte Brandy ce28b01ea3 maintainers/haskell/package-list: Only read one line from password-cmd 2021-07-31 13:34:20 +02:00
sternenseemann 19a763458d maintainers/haskell/package-list: minor fixes to documentation
Co-authored-by: Manuel Bärenz <programming@manuelbaerenz.de>
2021-07-26 17:35:40 +02:00
Malte Brandy 264e63477d
pkgs.haskell.package-list: init
This commit introduces a maintainer script to upload our current list of
haskell-packages to hackage.
2021-07-22 23:17:37 +02:00
Joe Hermaszewski d46e72d043
maintainers/scripts/haskell: Better env clearing while regenerating 2021-07-21 12:41:24 +08:00
(cdep)illabout ea2660f8d2
haskell-updates: make sure the transitive-broken-packges are sorted using LC_ALL=C
This makes sure that the output list of transitive broken packages will
always be ordered the same regardless of the environment you are
running from.
2021-07-17 11:46:57 +09:00
Joe Hermaszewski df8f2736d5
maintainers/scripts/haskell: clear environment while regenerating
Also misc shellcheck fixes
2021-06-30 23:18:49 +08:00
Malte Brandy bf3a3b62e4
haskellPackages: switch from stackage-nightly to stackage-lts 18.0 2021-06-19 14:18:17 +02:00
sternenseemann be6de30ca4 maintainers/scripts/haskell: make commit messages more consistent
Make sure they are all prefixed with haskellPackages: except for
update-hackage.sh which changes the top-level attribute
all-cabal-hashes.
2021-06-06 18:53:56 +02:00
sternenseemann 1e7351550c maintainers/…/regenerate-hackage-packages.sh: overrideable hackage2nix
Allow setting the HACKAGE2NIX environment variable to change the
hackage2nix the script uses to an absolute path to a local build. Useful
to test local changes in a realistic environment.
2021-06-05 17:03:08 +02:00
Malte Brandy cb6ec35052
maintainers/scripts/haskell/hydra-report.hs: Remove trailing dots
Some job names actually are not followed by a platform name and therefor don‘t have a dot after the name.
2021-05-16 20:20:57 +02:00
(cdep)illabout 4ac4ced470
hydra-report.hs: Change Maintainers back to being Maybe Text 2021-05-16 10:43:39 +09:00
(cdep)illabout 39d04243e2
hydra-report.hs: small formatting changes 2021-05-15 15:53:19 +09:00
Malte Brandy 49a014f3e9
maintainers/scripts/haskell/hydra-report.hs: Support HydraFailure statuscode 2021-05-11 16:04:22 +02:00
Malte Brandy 9a51c0704f
maintainers/scripts/haskell: Sort transitive broken case insensitive 2021-05-10 22:36:44 +02:00
Malte Brandy dd8a25528a
maintainers/scripts/haskell: Add mark-broken.sh 2021-05-10 22:36:44 +02:00
Malte Brandy 1da75e70f8
maintainers/scripts/haskell/hydra-report.hs: Add links to job and set names 2021-05-10 22:36:43 +02:00
maralorn 086180140d
maintainers/scripts/haskell/hydra-report.hs: Fix typo
Co-authored-by: Dennis Gosnell <cdep.illabout@gmail.com>
2021-05-10 22:36:43 +02:00
Malte Brandy 10d2ea64cd
maintainers/scripts/haskell/hydra-report.hs: Deal with more buildstatus codes 2021-05-10 22:36:43 +02:00
(cdep)illabout 461c374bda
maintainers/scripts/haskell/hydra-report.hs: change Build.buildstatus to Maybe Int
The buildstatus may be `null` from Hydra if the Build hasn't finished
running yet.
2021-05-10 22:36:43 +02:00
Malte Brandy df0572cf3a
maintainers/scripts/haskell/hydra-report.hs: Enable warnings and small refactoring 2021-05-10 22:36:43 +02:00
(cdep)illabout 277bb664de
maintainers/scripts/haskell/hydra-report.hs: Use only 2 queries to get report 2021-05-10 22:36:43 +02:00
Malte Brandy 912c7bd20d
maintainers/scripts/haskell/hydra-report.hs: init 2021-05-10 22:36:42 +02:00
Malte Brandy 66de11da71
maintainers/scripts/haskell/regenerate-hackage-packages.sh: Small improvents and encoding workaround 2021-05-09 01:01:33 +02:00
Malte Brandy cfdeaa13f2
maintainers/scripts/haskell/update-stackage.sh: Fix wrong variable 2021-05-07 23:58:18 +02:00
Malte Brandy 7f236bd4b2
hackage2nix: Split configuration, auto disable hydra builds
We split configuration-hackage2nix.yaml into multiple files.  We bump
cabal2nix-unstable to get support for multiple config files in
hackage2nix.

* The file main.yaml is only supposed to be edited by humans.
* The file stackage.yaml is only supposed to be updated by the
  update-stackage.sh
* The file broken.yaml can be edited by humans, but probably future
  helpers will want to insert broken packages into this file based on
  hydra reports.
* The file transitive-broken.yaml is newly introduced to be generated
  by regenerate-transitive-broken-packages.sh

regenerate-transitive-broken-packages.sh makes a nix query (in
transitive-broken-packages.nix) which evaluates all haskellPackages
once with and once without "allowBroken" this way it get's a list of
packages which are broken by some transitive dependency, but does not
disable packages which have eval errors not caused by a broken package.
2021-05-07 21:58:08 +02:00
Malte Brandy f37d5402bc
maintainers/scripts/haskell: Improve commit messages 2021-05-04 14:29:45 +02:00
sternenseemann 794bc5e9ed haskellPackages.cabal2nix-unstable: rename from cabal2nix-latest 2021-05-04 13:38:46 +02:00
sternenseemann e30cf42f0c haskellPackages.cabal2nix-latest: use unstable-YYYY-MM-DD format
This is the preferred format for things fetched from git or similar that
are not proper releases: https://nixos.org/manual/nixpkgs/stable/#sec-package-naming

Also we should think about making name and attribute name more
consistent: cabal2nix-latest -> cabal2nix-unstable
2021-05-04 13:38:46 +02:00
Malte Brandy 4dbda0125a
maintainers/scripts/haskell: Add --do-commit option 2021-05-03 22:58:51 +02:00
hyperfekt f3f84855e8
maintainers/scripts/haskell/regenerate-hackage-packages.sh: init
Introduces a script that can be used to update the Nix expressions for

the Haskell package set. In service of that, also

- introduces cabal2nix-latest, which pins the hackage2nix version used

- changes all-cabal-hashes to use fetchFromGitHub

- adds update-hackage.sh & update-cabal2nix-latest.sh & update-stackage.sh maintainer scripts
2021-05-01 21:55:18 +02:00