Skip to content

Commit 1525aef

Browse files
authored
Merge pull request #283 from haskell-nix/srk/ci
CI updates, GHC 9.8
2 parents 4777b21 + abf025c commit 1525aef

File tree

6 files changed

+24
-54
lines changed

6 files changed

+24
-54
lines changed

.github/workflows/ci.dhall

+1-7
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,7 @@ in haskellCi.generalCi
1414
)
1515
)
1616
haskellCi.DhallMatrix::{
17-
, ghc =
18-
[ haskellCi.GHC.GHC963
19-
, haskellCi.GHC.GHC947
20-
, haskellCi.GHC.GHC928
21-
, haskellCi.GHC.GHC902
22-
, haskellCi.GHC.GHC8107
23-
]
17+
, ghc = [ haskellCi.GHC.GHC982, haskellCi.GHC.GHC966 ]
2418
, os = [ haskellCi.OS.Ubuntu, haskellCi.OS.MacOS ]
2519
}
2620
: haskellCi.CI.Type

.github/workflows/ci.dhall.frozen

+2-8
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
let haskellCi =
22
https://raw.githubusercontent.com/sorki/github-actions-dhall/main/haskell-ci.dhall
3-
sha256:5d7058a7684fd5315467b562853bd1c4a43da691c09293d3715ee739dfa26e08
3+
sha256:eff4d52e4243777fbe2c800778b24092ace8cd83165cf46b90d5c22e3ebfdd81
44

55
let defSteps = haskellCi.defaultCabalSteps
66

@@ -15,13 +15,7 @@ in haskellCi.generalCi
1515
)
1616
)
1717
haskellCi.DhallMatrix::{
18-
, ghc =
19-
[ haskellCi.GHC.GHC963
20-
, haskellCi.GHC.GHC947
21-
, haskellCi.GHC.GHC928
22-
, haskellCi.GHC.GHC902
23-
, haskellCi.GHC.GHC8107
24-
]
18+
, ghc = [ haskellCi.GHC.GHC982, haskellCi.GHC.GHC966 ]
2519
, os = [ haskellCi.OS.Ubuntu, haskellCi.OS.MacOS ]
2620
}
2721
: haskellCi.CI.Type

.github/workflows/ci.yaml

+6-11
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ jobs:
44
name: "GHC ${{ matrix.ghc }}, Cabal ${{ matrix.cabal }}, OS ${{ matrix.os }}"
55
"runs-on": "${{ matrix.os }}"
66
steps:
7-
- uses: "cachix/install-nix-action@v24"
7+
- uses: "cachix/install-nix-action@v27"
88
with:
99
nix_path: "nixpkgs=channel:nixos-unstable"
10-
- uses: "cachix/cachix-action@v13"
10+
- uses: "cachix/cachix-action@v15"
1111
with:
1212
name: "hnix-store"
1313
signingKey: "${{ secrets.CACHIX_SIGNING_KEY }}"
@@ -28,7 +28,7 @@ jobs:
2828
fi
2929
- name: freeze
3030
run: "cabal freeze --enable-tests --enable-benchmarks"
31-
- uses: "actions/cache@v3"
31+
- uses: "actions/cache@v4"
3232
with:
3333
key: "${{ matrix.os }}-${{ matrix.ghc }}-${{ matrix.cabal}}-${{ hashFiles('cabal.project.freeze') }}"
3434
path: |
@@ -45,19 +45,14 @@ jobs:
4545
strategy:
4646
matrix:
4747
cabal:
48-
- '3.10'
48+
- '3.12'
4949
ghc:
50-
- '9.6.3'
51-
- '9.4.7'
52-
- '9.2.8'
53-
- '9.0.2'
54-
- '8.10.7'
50+
- '9.8.2'
51+
- '9.6.6'
5552
os:
5653
- "ubuntu-latest"
5754
- "macos-latest"
5855
name: Haskell CI
5956
'on':
6057
pull_request: {}
6158
push: {}
62-
schedule:
63-
- cron: "4 20 10 * *"

hnix-store-core/tests/Fingerprint.hs

+7-4
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,13 @@ spec_fingerprint = do
3232
it "allows a successful signature verification" $ do
3333
let msg = Text.encodeUtf8 $ metadataFingerprint def exampleStorePath exampleMetadata
3434
Signature sig' =
35-
head
36-
$ sig
37-
<$> filter (\(NarSignature publicKey _) -> publicKey == "cache.nixos.org-1")
38-
(Set.toList (metadataSigs exampleMetadata))
35+
case
36+
sig
37+
<$> filter (\(NarSignature publicKey _) -> publicKey == "cache.nixos.org-1")
38+
(Set.toList (metadataSigs exampleMetadata))
39+
of
40+
(x:_) -> x
41+
_ -> error "impossible"
3942
sig' `shouldSatisfy` Ed25519.verify pubkey msg
4043

4144
exampleFingerprint :: Text

hnix-store-nar/src/System/Nix/Nar/Parser.hs

+3-1
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,9 @@ parseSymlink = do
211211
currentDirectoryAndFile :: Monad m => NarParser m (FilePath, FilePath)
212212
currentDirectoryAndFile = do
213213
dirStack <- State.gets directoryStack
214-
pure (List.foldr1 (</>) (List.reverse $ drop 1 dirStack), head dirStack)
214+
case dirStack of
215+
(x:xs) -> pure (List.foldr1 (</>) (List.reverse xs), x)
216+
_ -> error "currentDirectoryAndFile: empty dirStack"
215217

216218
-- | Internal data type representing symlinks encountered in the NAR
217219
data LinkInfo = LinkInfo

overlay.nix

+5-23
Original file line numberDiff line numberDiff line change
@@ -15,29 +15,11 @@ let
1515
} // (lib.filterAttrs (n: v: n != "url") x));
1616
in
1717
{
18-
# srk 2023-11-18: this is pinned in nixpkgs unstable to 1.0.5
19-
# causing trouble with ghc963
20-
some = hself.callHackageDirect
21-
{ pkg = "some";
22-
ver = "1.0.6";
23-
sha256 = "sha256-AnjaUzSlsLi3lIURrEfs92Jo5FzX49RyNdfDSfFV3Kk=";
24-
} {};
25-
26-
# srk 2023-12-06: until in unstable
27-
dependent-sum-template = hself.callHackageDirect
28-
{ pkg = "dependent-sum-template";
29-
ver = "0.2.0.1";
30-
sha256 = "sha256-quwgFuEBrK96JZenJZcyfk/O0Gp+ukwKEpe1hMqDbIg=";
31-
} {};
32-
33-
# srk 2023-11-19: wider unix bound via CPP
34-
# Required for ghc963 since linux-namespaces is pinned
35-
# in unstable to 0.1.3.0
36-
linux-namespaces = hself.callCabal2nix "linux-namespaces"
37-
(fetchGitHubPR {
38-
url = "https://github.com/redneb/hs-linux-namespaces/pull/4";
39-
sha256 = "sha256-R61OCu6b4YoDzIl0vg8cSoP7611TlEdWZfVDnZrJY+g=";
40-
}) {};
18+
# srk 2024-07-28: allow template-haskell 2.22 (GHC 9.8)
19+
# https://github.com/obsidiansystems/dependent-sum-template/pull/13
20+
dependent-sum-template =
21+
haskellLib.doJailbreak
22+
hsuper.dependent-sum-template_0_2_0_1;
4123

4224
hnix-store-core =
4325
lib.pipe

0 commit comments

Comments
 (0)