fix(gs/xanthous): update xanthous.cabal, make CI catch such errors
Since xanthous has a checked-in package.yaml and cabal file, the haskellPackages build infrastructure will use the package.yaml file for all builds. The resulting problem is that our CI won't actually catch build failures that would be observable with cabal or when building from the sdist. We fix that by filtering out the package.yaml file in pkg.nix additionally to the filters specified in .gitignore. For this we need gitignoreFilter from gitignore.nix which we expose as part of a functor set from third_party.gitignoreSource to maintain interface compatibility. Change-Id: I337185f484d2027341f38031dcd78898706904eb Reviewed-on: https://cl.tvl.fyi/c/depot/+/2609 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi> Reviewed-by: tazjin <mail@tazj.in>
This commit is contained in:
parent
4cf7dced54
commit
1799ddf7f0
3 changed files with 140 additions and 13 deletions
22
third_party/gitignoreSource/default.nix
vendored
22
third_party/gitignoreSource/default.nix
vendored
|
@ -1,8 +1,18 @@
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
(import (pkgs.fetchFromGitHub {
|
let
|
||||||
owner = "hercules-ci";
|
gitignoreNix = import (pkgs.fetchFromGitHub {
|
||||||
repo = "gitignore";
|
owner = "hercules-ci";
|
||||||
rev = "f9e996052b5af4032fe6150bba4a6fe4f7b9d698";
|
repo = "gitignore";
|
||||||
sha256 = "0jrh5ghisaqdd0vldbywags20m2cxpkbbk5jjjmwaw0gr8nhsafv";
|
rev = "f9e996052b5af4032fe6150bba4a6fe4f7b9d698";
|
||||||
}) { inherit (pkgs) lib; }).gitignoreSource
|
sha256 = "0jrh5ghisaqdd0vldbywags20m2cxpkbbk5jjjmwaw0gr8nhsafv";
|
||||||
|
}) { inherit (pkgs) lib; };
|
||||||
|
|
||||||
|
in {
|
||||||
|
__functor = _: gitignoreNix.gitignoreSource;
|
||||||
|
|
||||||
|
# expose extra functions here
|
||||||
|
inherit (gitignoreNix)
|
||||||
|
gitignoreFilter
|
||||||
|
;
|
||||||
|
}
|
||||||
|
|
|
@ -1,7 +1,16 @@
|
||||||
{ pkgs ? (import ../../../. {}).third_party }:
|
{ pkgs ? (import ../../../. {}).third_party }:
|
||||||
|
|
||||||
|
let
|
||||||
|
ignore = pkgs.gitignoreSource.gitignoreFilter ./.;
|
||||||
|
in
|
||||||
|
|
||||||
import (pkgs.haskellPackages.haskellSrc2nix {
|
import (pkgs.haskellPackages.haskellSrc2nix {
|
||||||
name = "xanthous";
|
name = "xanthous";
|
||||||
src = pkgs.gitignoreSource ./.;
|
src = builtins.path {
|
||||||
|
name = "xanthous-source";
|
||||||
|
path = ./.;
|
||||||
|
filter = path: type: ignore path type
|
||||||
|
|| builtins.baseNameOf path == "package.yaml";
|
||||||
|
};
|
||||||
extraCabal2nixOptions = "--hpack";
|
extraCabal2nixOptions = "--hpack";
|
||||||
})
|
})
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
cabal-version: 1.12
|
cabal-version: 1.12
|
||||||
|
|
||||||
-- This file has been generated from package.yaml by hpack version 0.33.1.
|
-- This file has been generated from package.yaml by hpack version 0.34.4.
|
||||||
--
|
--
|
||||||
-- see: https://github.com/sol/hpack
|
-- see: https://github.com/sol/hpack
|
||||||
--
|
--
|
||||||
-- hash: bb0a26ab512a1b8d095f3fa71370dcc5221c3f20888042a0d5c41d054dc403cf
|
-- hash: b46f24dcf24decf8e16be6f62943648aaafc9272d923945f97d5c26a370ad235
|
||||||
|
|
||||||
name: xanthous
|
name: xanthous
|
||||||
version: 0.1.0.0
|
version: 0.1.0.0
|
||||||
|
@ -87,7 +87,33 @@ library
|
||||||
Paths_xanthous
|
Paths_xanthous
|
||||||
hs-source-dirs:
|
hs-source-dirs:
|
||||||
src
|
src
|
||||||
default-extensions: BlockArguments ConstraintKinds DataKinds DeriveAnyClass DeriveGeneric DerivingStrategies DerivingVia FlexibleContexts FlexibleInstances FunctionalDependencies GADTSyntax GeneralizedNewtypeDeriving KindSignatures LambdaCase MultiWayIf NoImplicitPrelude NoStarIsType OverloadedStrings PolyKinds RankNTypes ScopedTypeVariables TupleSections TypeApplications TypeFamilies TypeOperators ViewPatterns
|
default-extensions:
|
||||||
|
BlockArguments
|
||||||
|
ConstraintKinds
|
||||||
|
DataKinds
|
||||||
|
DeriveAnyClass
|
||||||
|
DeriveGeneric
|
||||||
|
DerivingStrategies
|
||||||
|
DerivingVia
|
||||||
|
FlexibleContexts
|
||||||
|
FlexibleInstances
|
||||||
|
FunctionalDependencies
|
||||||
|
GADTSyntax
|
||||||
|
GeneralizedNewtypeDeriving
|
||||||
|
KindSignatures
|
||||||
|
LambdaCase
|
||||||
|
MultiWayIf
|
||||||
|
NoImplicitPrelude
|
||||||
|
NoStarIsType
|
||||||
|
OverloadedStrings
|
||||||
|
PolyKinds
|
||||||
|
RankNTypes
|
||||||
|
ScopedTypeVariables
|
||||||
|
TupleSections
|
||||||
|
TypeApplications
|
||||||
|
TypeFamilies
|
||||||
|
TypeOperators
|
||||||
|
ViewPatterns
|
||||||
ghc-options: -Wall
|
ghc-options: -Wall
|
||||||
build-depends:
|
build-depends:
|
||||||
JuicyPixels
|
JuicyPixels
|
||||||
|
@ -140,6 +166,7 @@ library
|
||||||
, raw-strings-qq
|
, raw-strings-qq
|
||||||
, reflection
|
, reflection
|
||||||
, semigroupoids
|
, semigroupoids
|
||||||
|
, splitmix
|
||||||
, stache
|
, stache
|
||||||
, streams
|
, streams
|
||||||
, text
|
, text
|
||||||
|
@ -213,7 +240,33 @@ executable xanthous
|
||||||
Paths_xanthous
|
Paths_xanthous
|
||||||
hs-source-dirs:
|
hs-source-dirs:
|
||||||
src
|
src
|
||||||
default-extensions: BlockArguments ConstraintKinds DataKinds DeriveAnyClass DeriveGeneric DerivingStrategies DerivingVia FlexibleContexts FlexibleInstances FunctionalDependencies GADTSyntax GeneralizedNewtypeDeriving KindSignatures LambdaCase MultiWayIf NoImplicitPrelude NoStarIsType OverloadedStrings PolyKinds RankNTypes ScopedTypeVariables TupleSections TypeApplications TypeFamilies TypeOperators ViewPatterns
|
default-extensions:
|
||||||
|
BlockArguments
|
||||||
|
ConstraintKinds
|
||||||
|
DataKinds
|
||||||
|
DeriveAnyClass
|
||||||
|
DeriveGeneric
|
||||||
|
DerivingStrategies
|
||||||
|
DerivingVia
|
||||||
|
FlexibleContexts
|
||||||
|
FlexibleInstances
|
||||||
|
FunctionalDependencies
|
||||||
|
GADTSyntax
|
||||||
|
GeneralizedNewtypeDeriving
|
||||||
|
KindSignatures
|
||||||
|
LambdaCase
|
||||||
|
MultiWayIf
|
||||||
|
NoImplicitPrelude
|
||||||
|
NoStarIsType
|
||||||
|
OverloadedStrings
|
||||||
|
PolyKinds
|
||||||
|
RankNTypes
|
||||||
|
ScopedTypeVariables
|
||||||
|
TupleSections
|
||||||
|
TypeApplications
|
||||||
|
TypeFamilies
|
||||||
|
TypeOperators
|
||||||
|
ViewPatterns
|
||||||
ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N -O2
|
ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N -O2
|
||||||
build-depends:
|
build-depends:
|
||||||
JuicyPixels
|
JuicyPixels
|
||||||
|
@ -266,6 +319,7 @@ executable xanthous
|
||||||
, raw-strings-qq
|
, raw-strings-qq
|
||||||
, reflection
|
, reflection
|
||||||
, semigroupoids
|
, semigroupoids
|
||||||
|
, splitmix
|
||||||
, stache
|
, stache
|
||||||
, streams
|
, streams
|
||||||
, text
|
, text
|
||||||
|
@ -306,7 +360,33 @@ test-suite test
|
||||||
Paths_xanthous
|
Paths_xanthous
|
||||||
hs-source-dirs:
|
hs-source-dirs:
|
||||||
test
|
test
|
||||||
default-extensions: BlockArguments ConstraintKinds DataKinds DeriveAnyClass DeriveGeneric DerivingStrategies DerivingVia FlexibleContexts FlexibleInstances FunctionalDependencies GADTSyntax GeneralizedNewtypeDeriving KindSignatures LambdaCase MultiWayIf NoImplicitPrelude NoStarIsType OverloadedStrings PolyKinds RankNTypes ScopedTypeVariables TupleSections TypeApplications TypeFamilies TypeOperators ViewPatterns
|
default-extensions:
|
||||||
|
BlockArguments
|
||||||
|
ConstraintKinds
|
||||||
|
DataKinds
|
||||||
|
DeriveAnyClass
|
||||||
|
DeriveGeneric
|
||||||
|
DerivingStrategies
|
||||||
|
DerivingVia
|
||||||
|
FlexibleContexts
|
||||||
|
FlexibleInstances
|
||||||
|
FunctionalDependencies
|
||||||
|
GADTSyntax
|
||||||
|
GeneralizedNewtypeDeriving
|
||||||
|
KindSignatures
|
||||||
|
LambdaCase
|
||||||
|
MultiWayIf
|
||||||
|
NoImplicitPrelude
|
||||||
|
NoStarIsType
|
||||||
|
OverloadedStrings
|
||||||
|
PolyKinds
|
||||||
|
RankNTypes
|
||||||
|
ScopedTypeVariables
|
||||||
|
TupleSections
|
||||||
|
TypeApplications
|
||||||
|
TypeFamilies
|
||||||
|
TypeOperators
|
||||||
|
ViewPatterns
|
||||||
ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N -O0
|
ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N -O0
|
||||||
build-depends:
|
build-depends:
|
||||||
JuicyPixels
|
JuicyPixels
|
||||||
|
@ -360,6 +440,7 @@ test-suite test
|
||||||
, raw-strings-qq
|
, raw-strings-qq
|
||||||
, reflection
|
, reflection
|
||||||
, semigroupoids
|
, semigroupoids
|
||||||
|
, splitmix
|
||||||
, stache
|
, stache
|
||||||
, streams
|
, streams
|
||||||
, tasty
|
, tasty
|
||||||
|
@ -387,7 +468,33 @@ benchmark benchmark
|
||||||
Paths_xanthous
|
Paths_xanthous
|
||||||
hs-source-dirs:
|
hs-source-dirs:
|
||||||
bench
|
bench
|
||||||
default-extensions: BlockArguments ConstraintKinds DataKinds DeriveAnyClass DeriveGeneric DerivingStrategies DerivingVia FlexibleContexts FlexibleInstances FunctionalDependencies GADTSyntax GeneralizedNewtypeDeriving KindSignatures LambdaCase MultiWayIf NoImplicitPrelude NoStarIsType OverloadedStrings PolyKinds RankNTypes ScopedTypeVariables TupleSections TypeApplications TypeFamilies TypeOperators ViewPatterns
|
default-extensions:
|
||||||
|
BlockArguments
|
||||||
|
ConstraintKinds
|
||||||
|
DataKinds
|
||||||
|
DeriveAnyClass
|
||||||
|
DeriveGeneric
|
||||||
|
DerivingStrategies
|
||||||
|
DerivingVia
|
||||||
|
FlexibleContexts
|
||||||
|
FlexibleInstances
|
||||||
|
FunctionalDependencies
|
||||||
|
GADTSyntax
|
||||||
|
GeneralizedNewtypeDeriving
|
||||||
|
KindSignatures
|
||||||
|
LambdaCase
|
||||||
|
MultiWayIf
|
||||||
|
NoImplicitPrelude
|
||||||
|
NoStarIsType
|
||||||
|
OverloadedStrings
|
||||||
|
PolyKinds
|
||||||
|
RankNTypes
|
||||||
|
ScopedTypeVariables
|
||||||
|
TupleSections
|
||||||
|
TypeApplications
|
||||||
|
TypeFamilies
|
||||||
|
TypeOperators
|
||||||
|
ViewPatterns
|
||||||
ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N
|
ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N
|
||||||
build-depends:
|
build-depends:
|
||||||
JuicyPixels
|
JuicyPixels
|
||||||
|
@ -440,6 +547,7 @@ benchmark benchmark
|
||||||
, raw-strings-qq
|
, raw-strings-qq
|
||||||
, reflection
|
, reflection
|
||||||
, semigroupoids
|
, semigroupoids
|
||||||
|
, splitmix
|
||||||
, stache
|
, stache
|
||||||
, streams
|
, streams
|
||||||
, text
|
, text
|
||||||
|
|
Loading…
Reference in a new issue