Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
ylecornec committed Feb 9, 2024
1 parent 534a469 commit 81d14e2
Show file tree
Hide file tree
Showing 13 changed files with 555 additions and 40 deletions.
13 changes: 7 additions & 6 deletions .github/workflows/workflow.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ jobs:
ghc:
- 9.2.8
- 9.4.6
- 9.6.2
- 9.6.4
exclude:
- module: rules_haskell_nix

Expand All @@ -58,7 +58,7 @@ jobs:
# and stack config per GHC version
- ghc: 9.4.6
bzlmod: true
- ghc: 9.6.2
- ghc: 9.6.4
bzlmod: true
runs-on: ${{ matrix.os }}
env:
Expand Down Expand Up @@ -145,17 +145,18 @@ jobs:
ghc:
- 9.2.8
- 9.4.6
- 9.6.2
- 9.6.4
exclude:
# TODO: in a MODULE.bazel file we declare version specific dependencies, would need to use stack snapshot json
# and stack config per GHC version
- ghc: 9.4.6
bzlmod: true
- ghc: 9.6.2
- ghc: 9.6.4
bzlmod: true
# currently proto-lens-protoc fails with an access violation on Windows
- ghc: 9.6.2
os: windows-latest
# Testing with 9.6.4
# - ghc: 9.6.4
# os: windows-latest
env:
GHC_VERSION: ${{ matrix.ghc }}
runs-on: ${{ matrix.os }}
Expand Down
4 changes: 2 additions & 2 deletions nixpkgs/default.nix
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{ ... }@args:
let
# 2023-11-30
sha256 = "sha256:06m9r85brk6pcghm63ksl2zsx9j1kbagic3fx2p656z20v1bd48z";
rev = "781e2a9797ecf0f146e81425c822dca69fe4a348";
sha256 = "sha256:064hngn9lwwi30m62ilqhws10h9yh6rnpvxcc205bbh8pzrhp5sc";
rev = "89b57cd1828e12fadbb4b0025f98dc442283d030";
in
import (fetchTarball {
inherit sha256;
Expand Down
201 changes: 201 additions & 0 deletions rules_haskell_tests/ghcide-snapshot_9.6.4.json

Large diffs are not rendered by default.

15 changes: 15 additions & 0 deletions rules_haskell_tests/ghcide-stack-snapshot_9.6.4.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
resolver: lts-22.9

packages:
- ghcide-2.2.0.0
- hie-bios-0.12.0
- algebraic-graphs-0.6
- hie-compat-0.3.1.1
- hiedb-0.4.3.0
- hls-graph-2.2.0.0
- hls-plugin-api-2.2.0.0
- implicit-hie-0.1.2.7
- implicit-hie-cradle-0.5.0.1
- transformers-0.5.6.2
- mtl-2.2.2
- aeson-pretty-0.8.9
14 changes: 14 additions & 0 deletions rules_haskell_tests/stackage-pinning-test_9.6.4.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
resolver: lts-22.9
packages:
# - github: hspec/hspec
# # NOTE Keep in sync with resolver version
# commit: "a8c7472ca344fa5b87dfaea8f1dd760ec9feceb2"
# sha256: "d8aac8b70bcd6208d59383fdb132fcbaaa3be650e17d8316476d75cc9d60b993"
# subdirs:
# - .
# - hspec-contrib
# - hspec-core
# - hspec-discover

- archive: https://github.com/tweag/rules_haskell/raw/e4e74f17f743488f564bd0d69c580106d5b910a5/tests/haskell_cabal_library_sublibrary_name/package1.tar
sha256: "302d8ddda8330c825da61fe0a2315c899ab083e641c7716ebdacb5c951682445"
37 changes: 37 additions & 0 deletions rules_haskell_tests/stackage-pinning-test_snapshot_9.6.4.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
{
"__GENERATED_FILE_DO_NOT_MODIFY_MANUALLY": 1926775023,
"all-cabal-hashes": "https://raw.githubusercontent.com/commercialhaskell/all-cabal-hashes/6569e41cf31678e1bc1d7993ac9ee2aeb854bd97",
"resolved": {
"Cabal": {"dependencies":[],"location":{"type":"core"},"name":"Cabal","version":"3.10.1.0"},
"HUnit": {"dependencies":["base","call-stack","deepseq"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/HUnit-1.6.2.0/HUnit-1.6.2.0.tar.gz"},"name":"HUnit","pinned":{"cabal-sha256":"1a79174e8af616117ad39464cac9de205ca923da6582825e97c10786fda933a4","sha256":"b0b7538871ffc058486fc00740886d2f3172f8fa6869936bfe83a5e10bd744ab","url":["https://hackage.haskell.org/package/HUnit-1.6.2.0/HUnit-1.6.2.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/HUnit-1.6.2.0.tar.gz"]},"version":"1.6.2.0"},
"QuickCheck": {"dependencies":["base","containers","deepseq","random","splitmix","template-haskell","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/QuickCheck-2.14.3/QuickCheck-2.14.3.tar.gz"},"name":"QuickCheck","pinned":{"cabal-sha256":"f03d2f404d5ba465453d0fbc1944832789a759fe7c4f9bf8616bc1378a02fde4","sha256":"5c0f22b36b28a1a8fa110b3819818d3f29494a3b0dedbae299f064123ca70501","url":["https://hackage.haskell.org/package/QuickCheck-2.14.3/QuickCheck-2.14.3.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/QuickCheck-2.14.3.tar.gz"]},"version":"2.14.3"},
"ansi-terminal": {"dependencies":["ansi-terminal-types","base","colour"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/ansi-terminal-1.0.2/ansi-terminal-1.0.2.tar.gz"},"name":"ansi-terminal","pinned":{"cabal-sha256":"1f90bb88e670ce63fbf2c9216d50857f2419582f1c6791e542c3eab97ecfd364","sha256":"46e516cbf66c7807940ba9896c2d71ba5ffdaa35a4fb80dea9313703efa8d834","url":["https://hackage.haskell.org/package/ansi-terminal-1.0.2/ansi-terminal-1.0.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/ansi-terminal-1.0.2.tar.gz"]},"version":"1.0.2"},
"ansi-terminal-types": {"dependencies":["base","colour"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/ansi-terminal-types-0.11.5/ansi-terminal-types-0.11.5.tar.gz"},"name":"ansi-terminal-types","pinned":{"cabal-sha256":"f78440dfd95c4509e88855ac7cc2d9566ddf956a92c1290404cac93ad1a1b00a","sha256":"bf7b230389f43105100a6d5740822598a88b38eaaf7d042de595ccf72db4fdd1","url":["https://hackage.haskell.org/package/ansi-terminal-types-0.11.5/ansi-terminal-types-0.11.5.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/ansi-terminal-types-0.11.5.tar.gz"]},"version":"0.11.5"},
"array": {"dependencies":[],"location":{"type":"core"},"name":"array","version":"0.5.6.0"},
"base": {"dependencies":[],"location":{"type":"core"},"name":"base","version":"4.18.2.0"},
"bytestring": {"dependencies":[],"location":{"type":"core"},"name":"bytestring","version":"0.11.5.3"},
"call-stack": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/call-stack-0.4.0/call-stack-0.4.0.tar.gz"},"name":"call-stack","pinned":{"cabal-sha256":"ac44d2c00931dc20b01750da8c92ec443eb63a7231e8550188cb2ac2385f7feb","sha256":"430bcf8a3404f7e55319573c0b807b1356946f0c8f289bb3d9afb279c636b87b","url":["https://hackage.haskell.org/package/call-stack-0.4.0/call-stack-0.4.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/call-stack-0.4.0.tar.gz"]},"version":"0.4.0"},
"colour": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/colour-2.3.6/colour-2.3.6.tar.gz"},"name":"colour","pinned":{"cabal-sha256":"ebdcbf15023958838a527e381ab3c3b1e99ed12d1b25efeb7feaa4ad8c37664a","sha256":"2cd35dcd6944a5abc9f108a5eb5ee564b6b1fa98a9ec79cefcc20b588991f871","url":["https://hackage.haskell.org/package/colour-2.3.6/colour-2.3.6.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/colour-2.3.6.tar.gz"]},"version":"2.3.6"},
"containers": {"dependencies":[],"location":{"type":"core"},"name":"containers","version":"0.6.7"},
"deepseq": {"dependencies":[],"location":{"type":"core"},"name":"deepseq","version":"1.4.8.1"},
"directory": {"dependencies":[],"location":{"type":"core"},"name":"directory","version":"1.3.8.1"},
"filepath": {"dependencies":[],"location":{"type":"core"},"name":"filepath","version":"1.4.200.1"},
"haskell-lexer": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/haskell-lexer-1.1.1/haskell-lexer-1.1.1.tar.gz"},"name":"haskell-lexer","pinned":{"cabal-sha256":"4ce310678b7e56b51acb558c0233d2f71a3f3553f8a88e9b48c0bc68301f799b","sha256":"c8eeda569a30f115244c17920247ba2c45d11b3e30805f648a878f7855d8f349","url":["https://hackage.haskell.org/package/haskell-lexer-1.1.1/haskell-lexer-1.1.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/haskell-lexer-1.1.1.tar.gz"]},"version":"1.1.1"},
"hspec": {"dependencies":["QuickCheck","base","hspec-core","hspec-discover","hspec-expectations"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/hspec-2.11.7/hspec-2.11.7.tar.gz"},"name":"hspec","pinned":{"cabal-sha256":"2869580a2a29e7beb6268ea3dc561583f4ae229ed1f47fb1c92e8c09ce35acec","sha256":"2a3e108abd9ba4133f96131cf22e5e4e4c77f3f125b377e6d4c14719746e3096","url":["https://hackage.haskell.org/package/hspec-2.11.7/hspec-2.11.7.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/hspec-2.11.7.tar.gz"]},"version":"2.11.7"},
"hspec-core": {"dependencies":["HUnit","QuickCheck","ansi-terminal","array","base","call-stack","deepseq","directory","filepath","haskell-lexer","hspec-expectations","process","quickcheck-io","random","stm","tf-random","time","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/hspec-core-2.11.7/hspec-core-2.11.7.tar.gz"},"name":"hspec-core","pinned":{"cabal-sha256":"90d8873356d7e15f843bc523360e206e8e356ff6b82a1fa4b3889dc31d073ea1","sha256":"6ffa9b86b8a79bb7e8de47c4c850a2e2500f770827d6645ff478ea50f731b134","url":["https://hackage.haskell.org/package/hspec-core-2.11.7/hspec-core-2.11.7.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/hspec-core-2.11.7.tar.gz"]},"version":"2.11.7"},
"hspec-discover": {"dependencies":["base","directory","filepath"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/hspec-discover-2.11.7/hspec-discover-2.11.7.tar.gz"},"name":"hspec-discover","pinned":{"cabal-sha256":"6307eb16d308258a99a242025df50217d835ba0a3f205b1202a100a175877b38","sha256":"2862b230bb45eb320dd985659b81b482de98f869f4ed88398555a6a7cd12d82a","url":["https://hackage.haskell.org/package/hspec-discover-2.11.7/hspec-discover-2.11.7.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/hspec-discover-2.11.7.tar.gz"]},"version":"2.11.7"},
"hspec-expectations": {"dependencies":["HUnit","base","call-stack"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/hspec-expectations-0.8.4/hspec-expectations-0.8.4.tar.gz"},"name":"hspec-expectations","pinned":{"cabal-sha256":"4237f094a7931202ff57ac6475542b0b314b50a7024550e2b6eb87cfb0d4ff93","sha256":"7b8dde7e230ecfda90c95fd80478b244a45e68602fb3dd4a76f4710619be21ff","url":["https://hackage.haskell.org/package/hspec-expectations-0.8.4/hspec-expectations-0.8.4.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/hspec-expectations-0.8.4.tar.gz"]},"version":"0.8.4"},
"mtl": {"dependencies":[],"location":{"type":"core"},"name":"mtl","version":"2.3.1"},
"package1": {"dependencies":["Cabal","base"],"location":{"type":"archive","url":"https://github.com/tweag/rules_haskell/raw/e4e74f17f743488f564bd0d69c580106d5b910a5/tests/haskell_cabal_library_sublibrary_name/package1.tar"},"name":"package1","pinned":{"sha256":"302d8ddda8330c825da61fe0a2315c899ab083e641c7716ebdacb5c951682445","strip-prefix":""},"version":"0.1.0.0"},
"primitive": {"dependencies":["base","deepseq","template-haskell","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/primitive-0.8.0.0/primitive-0.8.0.0.tar.gz"},"name":"primitive","pinned":{"cabal-sha256":"d0ff45fa6e61f92af23611ceb8b9a6a04c236b50fb70c60e2ed3bfa532703670","sha256":"5553c21b4a789f9b591eed69e598cc58484c274af29250e517b5a8bcc62b995f","url":["https://hackage.haskell.org/package/primitive-0.8.0.0/primitive-0.8.0.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/primitive-0.8.0.0.tar.gz"]},"version":"0.8.0.0"},
"process": {"dependencies":[],"location":{"type":"core"},"name":"process","version":"1.6.17.0"},
"quickcheck-io": {"dependencies":["HUnit","QuickCheck","base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/quickcheck-io-0.2.0/quickcheck-io-0.2.0.tar.gz"},"name":"quickcheck-io","pinned":{"cabal-sha256":"7bf0b68fb90873825eb2e5e958c1b76126dcf984debb998e81673e6d837e0b2d","sha256":"fb779119d79fe08ff4d502fb6869a70c9a8d5fd8ae0959f605c3c937efd96422","url":["https://hackage.haskell.org/package/quickcheck-io-0.2.0/quickcheck-io-0.2.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/quickcheck-io-0.2.0.tar.gz"]},"version":"0.2.0"},
"random": {"dependencies":["base","bytestring","deepseq","mtl","splitmix"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/random-1.2.1.1/random-1.2.1.1.tar.gz"},"name":"random","pinned":{"cabal-sha256":"e7c1f881159d5cc788619c9ee8b8f340ba2ff0db571cdf3d1a1968ebc5108789","sha256":"3e1272f7ed6a4d7bd1712b90143ec326fee9b225789222379fea20a9c90c9b76","url":["https://hackage.haskell.org/package/random-1.2.1.1/random-1.2.1.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/random-1.2.1.1.tar.gz"]},"version":"1.2.1.1"},
"splitmix": {"dependencies":["base","deepseq"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/splitmix-0.1.0.5/splitmix-0.1.0.5.tar.gz"},"name":"splitmix","pinned":{"cabal-sha256":"bac0ae8d46a04e410666b0c8081cff63f060f29157983b569ca86ddb6e6e0dc6","sha256":"9df07a9611ef45f1b1258a0b412f4d02c920248f69d2e2ce8ccda328f7e13002","url":["https://hackage.haskell.org/package/splitmix-0.1.0.5/splitmix-0.1.0.5.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/splitmix-0.1.0.5.tar.gz"]},"version":"0.1.0.5"},
"stm": {"dependencies":[],"location":{"type":"core"},"name":"stm","version":"2.5.1.0"},
"template-haskell": {"dependencies":[],"location":{"type":"core"},"name":"template-haskell","version":"2.20.0.0"},
"tf-random": {"dependencies":["base","primitive","random","time"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/tf-random-0.5/tf-random-0.5.tar.gz"},"name":"tf-random","pinned":{"cabal-sha256":"14012837d0f0e18fdbbe3d56e67da8622ee5e20b180abce952dd50bd9f36b326","sha256":"2e30cec027b313c9e1794d326635d8fc5f79b6bf6e7580ab4b00186dadc88510","url":["https://hackage.haskell.org/package/tf-random-0.5/tf-random-0.5.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/tf-random-0.5.tar.gz"]},"version":"0.5"},
"time": {"dependencies":[],"location":{"type":"core"},"name":"time","version":"1.12.2"},
"transformers": {"dependencies":[],"location":{"type":"core"},"name":"transformers","version":"0.6.1.0"}
}
}
9 changes: 9 additions & 0 deletions rules_haskell_tests/stackage-zlib-snapshot_9.6.4.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"__GENERATED_FILE_DO_NOT_MODIFY_MANUALLY": -2055633599,
"all-cabal-hashes": "https://raw.githubusercontent.com/commercialhaskell/all-cabal-hashes/6569e41cf31678e1bc1d7993ac9ee2aeb854bd97",
"resolved": {
"base": {"dependencies":[],"location":{"type":"core"},"name":"base","version":"4.18.2.0"},
"bytestring": {"dependencies":[],"location":{"type":"core"},"name":"bytestring","version":"0.11.5.3"},
"zlib": {"dependencies":["base","bytestring"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/zlib-0.6.3.0/zlib-0.6.3.0.tar.gz"},"name":"zlib","pinned":{"cabal-sha256":"19eb7759af71957811d5ec10ddb1e2f4c98700ddb9c0da6860c0441d811f0e6d","sha256":"9eaa989ad4534438b5beb51c1d3a4c8f6a088fdff0b259a5394fbf39aaee04da","url":["https://hackage.haskell.org/package/zlib-0.6.3.0/zlib-0.6.3.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/zlib-0.6.3.0.tar.gz"]},"version":"0.6.3.0"}
}
}
Loading

0 comments on commit 81d14e2

Please sign in to comment.