Skip to content

Commit c42927c

Browse files
authored
Merge branch 'master' into angerman-patch-3
2 parents d30a2e3 + 7e140fc commit c42927c

File tree

2,954 files changed

+285656
-127124
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,954 files changed

+285656
-127124
lines changed

.github/workflows/lints.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: "Lints"
2+
3+
on:
4+
workflow_dispatch:
5+
pull_request:
6+
branches:
7+
- master
8+
9+
push:
10+
branches:
11+
- master
12+
13+
defaults:
14+
run:
15+
shell: bash
16+
17+
# do we really want nixos-unstable?
18+
env:
19+
NIX_PATH: "nixpkgs=channel:nixos-unstable"
20+
REVIEWDOG_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }}
21+
22+
jobs:
23+
deadnix:
24+
runs-on: [self-hosted, linux]
25+
steps:
26+
- uses: actions/checkout@v4
27+
- run: |
28+
nix run github:astro/deadnix -- --edit --no-lambda-pattern-names --exclude materialized
29+
TMPFILE=$(mktemp)
30+
git diff >"${TMPFILE}"
31+
git stash -u && git stash drop
32+
nix-shell -p reviewdog --run "reviewdog -f=diff -f.diff.strip=1 -reporter=github-pr-review < \"${TMPFILE}\""

.github/workflows/pipeline.yml

Lines changed: 40 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -21,119 +21,126 @@ jobs:
2121
nix-build:
2222
runs-on: [self-hosted, linux]
2323
steps:
24-
- uses: actions/checkout@v3
24+
- uses: actions/checkout@v4
2525
- name: "Run tests with ghc8107: Running the nix-build tests..."
2626
run: "./test/tests.sh ghc8107 nix-build"
2727

2828
unit-tests:
2929
runs-on: [self-hosted, linux]
3030
steps:
31-
- uses: actions/checkout@v3
31+
- uses: actions/checkout@v4
3232
- name: "Run tests with ghc8107: Running the unit tests..."
3333
run: "./test/tests.sh ghc8107 unit-tests"
3434

3535
runghc:
3636
runs-on: [self-hosted, linux]
3737
steps:
38-
- uses: actions/checkout@v3
38+
- uses: actions/checkout@v4
3939
- name: "Run tests with ghc8107: Checking that a nix-shell works for runghc..."
4040
run: "./test/tests.sh ghc8107 runghc"
4141

4242
cabal:
4343
runs-on: [self-hosted, linux]
4444
steps:
45-
- uses: actions/checkout@v3
45+
- uses: actions/checkout@v4
4646
- name: "Run tests with ghc8107: Checking that a nix-shell works for cabal..."
4747
run: "./test/tests.sh ghc8107 cabal"
4848

4949
cabal-doExactConfig:
5050
runs-on: [self-hosted, linux]
5151
steps:
52-
- uses: actions/checkout@v3
52+
- uses: actions/checkout@v4
5353
- name: "Run tests with ghc8107: Checking that a nix-shell works for cabal (doExactConfig component)..."
5454
run: "./test/tests.sh ghc8107 cabal-doExactConfig"
5555

5656
tests-benchmarks:
5757
runs-on: [self-hosted, linux]
5858
steps:
59-
- uses: actions/checkout@v3
59+
- uses: actions/checkout@v4
6060
- name: "Run tests with ghc8107: Checking that a nix-shell works for a project with test-suite build-tools and benchmarks..."
6161
run: "./test/tests.sh ghc8107 tests-benchmarks"
6262

6363
multi-target:
6464
runs-on: [self-hosted, linux]
6565
steps:
66-
- uses: actions/checkout@v3
66+
- uses: actions/checkout@v4
6767
- name: "Run tests with ghc8107: Checking that a nix-shell works for a multi-target project..."
6868
run: "./test/tests.sh ghc8107 multi-target"
6969

7070
shellFor-single-package:
7171
runs-on: [self-hosted, linux]
7272
steps:
73-
- uses: actions/checkout@v3
73+
- uses: actions/checkout@v4
7474
- name: "Run tests with ghc8107: Checking shellFor works for a cabal project, multiple packages..."
7575
run: "./test/tests.sh ghc8107 shellFor-single-package"
7676

7777
shellFor-multiple-package:
7878
runs-on: [self-hosted, linux]
7979
steps:
80-
- uses: actions/checkout@v3
80+
- uses: actions/checkout@v4
8181
- name: "Run tests with ghc8107: Checking shellFor works for a cabal project, single package...y"
8282
run: "./test/tests.sh ghc8107 shellFor-multiple-package"
8383

8484
shellFor-hoogle:
8585
runs-on: [self-hosted, linux]
8686
steps:
87-
- uses: actions/checkout@v3
87+
- uses: actions/checkout@v4
8888
- name: "Run tests with ghc8107: Checking shellFor works for a cabal project, single package..."
8989
run: "./test/tests.sh ghc8107 shellFor-hoogle"
9090

9191
shellFor-not-depends:
9292
runs-on: [self-hosted, linux]
9393
steps:
94-
- uses: actions/checkout@v3
94+
- uses: actions/checkout@v4
9595
- name: "Run tests with ghc8107: Checking shellFor does not depend on given packages...y"
9696
run: "./test/tests.sh ghc8107 shellFor-not-depends"
9797

9898
maintainer-scripts:
9999
runs-on: [self-hosted, linux]
100100
steps:
101-
- uses: actions/checkout@v3
101+
- uses: actions/checkout@v4
102102
- name: "Run tests with ghc8107: Checking the maintainer scripts...y"
103103
run: "./test/tests.sh ghc8107 maintainer-scripts"
104104

105105
plan-extra-hackages:
106106
runs-on: [self-hosted, linux]
107107
steps:
108-
- uses: actions/checkout@v3
108+
- uses: actions/checkout@v4
109109
- name: "Run tests with ghc8107: Checking that plan construction works with extra Hackages..."
110110
run: "./test/tests.sh ghc8107 plan-extra-hackages"
111111

112112
build-extra-hackages:
113113
runs-on: [self-hosted, linux]
114114
steps:
115-
- uses: actions/checkout@v3
115+
- uses: actions/checkout@v4
116116
- name: "Run tests with ghc8107: Checking that package with extra Hackages can be build..."
117117
run: "./test/tests.sh ghc8107 build-extra-hackages"
118118

119119
hix:
120120
runs-on: [self-hosted, linux]
121121
steps:
122-
- uses: actions/checkout@v3
122+
- uses: actions/checkout@v4
123123
- name: "Run tests with ghc8107: End-2-end test of hix project initialization and flakes development shell ..."
124124
run: "./test/tests.sh ghc8107 hix"
125125

126+
# template:
127+
# runs-on: [self-hosted, linux]
128+
# steps:
129+
# - uses: actions/checkout@v4
130+
# - name: "Run tests with ghc8107: End-2-end test of hix project initialization and flakes development shell ..."
131+
# run: "./test/tests.sh ghc8107 template"
132+
126133
docs:
127134
runs-on: [self-hosted, linux]
128135
steps:
129-
- uses: actions/checkout@v3
136+
- uses: actions/checkout@v4
130137
- name: "Test examples in documentation ..."
131138
run: "./test/tests.sh ghc8107 docs"
132139

133140
hydra-ifdLevel-0-and-1:
134141
runs-on: [self-hosted, linux]
135142
steps:
136-
- uses: actions/checkout@v3
143+
- uses: actions/checkout@v4
137144
- name: "Check that jobset will evaluate in Hydra at ifdLevel 0 and 1"
138145
run: |
139146
nix-build build.nix -A maintainer-scripts.check-hydra -o check-hydra.sh
@@ -143,7 +150,7 @@ jobs:
143150
hydra-ifdLevel-2:
144151
runs-on: [self-hosted, linux]
145152
steps:
146-
- uses: actions/checkout@v3
153+
- uses: actions/checkout@v4
147154
- name: "Check that jobset will evaluate in Hydra at ifdLevel 2"
148155
run: |
149156
nix-build build.nix -A maintainer-scripts.check-hydra -o check-hydra.sh
@@ -152,7 +159,7 @@ jobs:
152159
hydra-ifdLevel-3-and-ghc-8-10:
153160
runs-on: [self-hosted, linux]
154161
steps:
155-
- uses: actions/checkout@v3
162+
- uses: actions/checkout@v4
156163
- name: "Check that jobset will evaluate in Hydra at ifdLevel 3 and ghc 8.10"
157164
run: |
158165
nix-build build.nix -A maintainer-scripts.check-hydra -o check-hydra.sh
@@ -161,7 +168,7 @@ jobs:
161168
hydra-ifdLevel-3-and-ghc-9-2:
162169
runs-on: [self-hosted, linux]
163170
steps:
164-
- uses: actions/checkout@v3
171+
- uses: actions/checkout@v4
165172
- name: "Check that jobset will evaluate in Hydra at ifdLevel 3 and ghc 9.2"
166173
run: |
167174
nix-build build.nix -A maintainer-scripts.check-hydra -o check-hydra.sh
@@ -170,7 +177,7 @@ jobs:
170177
hydra-ifdLevel-3-and-not-ghc-8-10-or-9-2:
171178
runs-on: [self-hosted, linux]
172179
steps:
173-
- uses: actions/checkout@v3
180+
- uses: actions/checkout@v4
174181
- name: "Check that jobset will evaluate in Hydra at ifdLevel 3 and not (ghc 8.10 or ghc 9.2)"
175182
run: |
176183
nix-build build.nix -A maintainer-scripts.check-hydra -o check-hydra.sh
@@ -179,7 +186,7 @@ jobs:
179186
closure-size:
180187
runs-on: [self-hosted, linux]
181188
steps:
182-
- uses: actions/checkout@v3
189+
- uses: actions/checkout@v4
183190
- name: "Check closure size with ghc8107"
184191
run: |
185192
nix-build build.nix -A maintainer-scripts.check-closure-size --argstr compiler-nix-name ghc8107 -o check-closure-size.sh
@@ -189,7 +196,7 @@ jobs:
189196
update-docs:
190197
runs-on: [self-hosted, linux]
191198
steps:
192-
- uses: actions/checkout@v3
199+
- uses: actions/checkout@v4
193200
- name: "Update docs"
194201
run: |
195202
nix-build build.nix -A maintainer-scripts.update-docs -o update-docs.sh
@@ -198,7 +205,7 @@ jobs:
198205
check-materialization-concurrency:
199206
runs-on: [self-hosted, linux]
200207
steps:
201-
- uses: actions/checkout@v3
208+
- uses: actions/checkout@v4
202209
- name: "Make sure materialize function does not limit concurrency"
203210
run: |
204211
nix-build build.nix -A maintainer-scripts.check-materialization-concurrency -o check-materialization-concurrency.sh
@@ -207,7 +214,7 @@ jobs:
207214
check-path-support:
208215
runs-on: [self-hosted, linux]
209216
steps:
210-
- uses: actions/checkout@v3
217+
- uses: actions/checkout@v4
211218
- name: "Make sure non store paths like can be used as src"
212219
run: |
213220
nix-build build.nix -A maintainer-scripts.check-path-support --argstr compiler-nix-name ghc8107 -o check-path-support.sh
@@ -216,27 +223,26 @@ jobs:
216223
haskell-nix-roots-do-not-require-IFDs:
217224
runs-on: [self-hosted, linux]
218225
steps:
219-
- uses: actions/checkout@v3
226+
- uses: actions/checkout@v4
220227
- name: "Check that the haskell.nix roots do not require IFDs"
221228
run: nix build .#roots.x86_64-linux --accept-flake-config --option allow-import-from-derivation false
222229

223230
hydra-without-remote-builders:
224231
runs-on: [self-hosted, linux]
225232
steps:
226-
- uses: actions/checkout@v3
233+
- uses: actions/checkout@v4
227234
- name: "Check that evaluation of hydra jobs works without using remote builders"
228235
run: nix path-info --derivation .#requiredJobs.x86_64-darwin.required-unstable-ghc8107-native --show-trace --builders ''
229236

230237
hix-cabal:
231238
runs-on: [self-hosted, linux]
232239
steps:
233-
- uses: actions/checkout@v3
234-
- name: "Check hix -- run github:haskell/cabal/3.8#cabal-install:exe:cabal -- --version"
235-
run: "HIX_DIR=$(mktemp -d) nix run .#hix --accept-flake-config -- run github:haskell/cabal/3.8#cabal-install:exe:cabal --accept-flake-config --override-input haskellNix . -- --version"
240+
- uses: actions/checkout@v4
241+
- name: "Check hix -- run github:haskell/cabal/3.10#cabal-install:exe:cabal -- --version"
242+
run: "HIX_DIR=$(mktemp -d) nix run .#hix --accept-flake-config -- run github:haskell/cabal/3.10#cabal-install:exe:cabal --accept-flake-config --override-input haskellNix . -- --version"
236243

237-
nix-tools-build:
244+
nix-tools:
238245
runs-on: [self-hosted, linux]
239246
steps:
240-
- uses: actions/checkout@v3
241-
- name: "nix-tools build"
242-
run: cd ./nix-tools && .buildkite/nix-tools-build.sh
247+
- uses: actions/checkout@v4
248+
- run: nix build ./nix-tools#checks.x86_64-linux.truncate-index --accept-flake-config

.github/workflows/publish.yaml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: "Publish a flake to flakestry"
2+
on:
3+
push:
4+
tags:
5+
# This pattern matches tags in the format YYYY.MM.DD
6+
# It expects a four-digit year, followed by a two-digit month and day
7+
- "[0-9]{4}.[0-9]{2}.[0-9]{2}"
8+
workflow_dispatch:
9+
inputs:
10+
tag:
11+
description: "The existing tag to publish"
12+
type: "string"
13+
required: true
14+
jobs:
15+
publish-flake:
16+
runs-on: ubuntu-latest
17+
permissions:
18+
id-token: "write"
19+
contents: "read"
20+
steps:
21+
- uses: flakestry/flakestry-publish@main
22+
with:
23+
version: "${{ inputs.tag || github.ref_name }}"

.github/workflows/tag.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: "Weekly Date Tag"
2+
3+
on:
4+
schedule:
5+
- cron: '0 0 * * 0'
6+
7+
jobs:
8+
tag-repo:
9+
runs-on: ubuntu-latest
10+
11+
steps:
12+
- name: Checkout repository
13+
uses: actions/checkout@v4
14+
15+
- name: Create and push tag using current date
16+
run: |
17+
TAG_DATE=$(date -u "+%Y.%m.%d")
18+
if git rev-parse "$TAG_DATE" >/dev/null 2>&1; then
19+
echo "Tag $TAG_DATE already exists. Skipping tag creation."
20+
else
21+
git config user.name "github-actions"
22+
git config user.email "[email protected]"
23+
git tag $TAG_DATE
24+
git push origin $TAG_DATE
25+
fi

.github/workflows/updates.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ jobs:
99
update-pins:
1010
runs-on: ubuntu-latest
1111
steps:
12-
- uses: actions/checkout@v3
12+
- uses: actions/checkout@v4
1313
- uses: cachix/install-nix-action@v15
1414
with:
1515
nix_path: nixpkgs=channel:nixos-unstable
@@ -18,8 +18,8 @@ jobs:
1818
substituters = https://cache.iog.io https://cache.zw3rk.com https://cache.nixos.org/
1919
- name: "Update pins"
2020
run: |
21-
nix flake lock --update-input hackage
22-
nix flake lock --update-input stackage
21+
nix flake update hackage
22+
nix flake update stackage
2323
- name: Commit and push changes
2424
run: |
2525
git config --local user.email "[email protected]"

0 commit comments

Comments
 (0)