Skip to content

Commit

Permalink
Add GHC-8.10.1 job. Only tests Cabal-the-lib part atm.
Browse files Browse the repository at this point in the history
Also add validate-8.10.1 make rule
  • Loading branch information
phadej committed Mar 26, 2020
1 parent cf25742 commit fdd017e
Show file tree
Hide file tree
Showing 5 changed files with 71 additions and 3 deletions.
60 changes: 60 additions & 0 deletions .docker/validate-8.10.1.dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
FROM phadej/ghc:8.10.1-bionic

# Install cabal-plan
RUN mkdir -p /root/.cabal/bin && \
curl -L https://github.com/haskell-hvr/cabal-plan/releases/download/v0.6.2.0/cabal-plan-0.6.2.0-x86_64-linux.xz > cabal-plan.xz && \
echo "de73600b1836d3f55e32d80385acc055fd97f60eaa0ab68a755302685f5d81bc cabal-plan.xz" | sha256sum -c - && \
xz -d < cabal-plan.xz > /root/.cabal/bin/cabal-plan && \
rm -f cabal-plan.xz && \
chmod a+x /root/.cabal/bin/cabal-plan

# Update index
RUN cabal v2-update

# We install happy, so it's in the store; we (hopefully) don't use it directly.
RUN cabal v2-install happy --constraint 'happy ^>=1.19.12'

# Install some other dependencies
# Remove $HOME/.ghc so there aren't any environments
RUN cabal v2-install -w ghc-8.10.1 --lib \
aeson \
async \
base-compat \
base16-bytestring \
base64-bytestring \
cryptohash-sha256 \
Diff \
echo \
ed25519 \
edit-distance \
haskell-lexer \
HTTP \
network \
optparse-applicative \
pretty-show \
regex-compat-tdfa \
regex-tdfa \
statistics \
tar \
tasty \
tasty-golden \
tasty-hunit \
tasty-quickcheck \
tree-diff \
zlib \
--constraint="bytestring installed" \
--constraint="binary installed" \
--constraint="containers installed" \
--constraint="deepseq installed" \
--constraint="directory installed" \
--constraint="filepath installed" \
--constraint="pretty installed" \
--constraint="process installed" \
--constraint="time installed" \
--constraint="unix installed" \
&& rm -rf $HOME/.ghc

# Validate
WORKDIR /build
COPY . /build
RUN sh ./validate.sh --lib-only -w ghc-8.10.1 -v
4 changes: 4 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -172,5 +172,9 @@ validate-via-docker-8.6.5:
validate-via-docker-8.8.1:
docker build -t cabal-validate -f .docker/validate-8.8.1.dockerfile .

# Only library ATM
validate-via-docker-8.10.1:
docker build -t cabal-validate -f .docker/validate-8.10.1.dockerfile .

validate-via-docker-old:
docker build -t cabal-validate -f .docker/validate-old.dockerfile .
3 changes: 2 additions & 1 deletion cabal-dev-scripts/src/GenValidate.hs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@ main = do
-- this shouldn't fail (run-time errors are due bugs in zinza)
w <- run Z
{ zJobs =
[ GhcJob "8.8.3" False "--solver-benchmarks" False [] defSteps
[ GhcJob "8.10.3" False "--lib-only" False ["8.8.3"] libSteps -- Note: only library atm.
, GhcJob "8.8.3" False "--solver-benchmarks" False [] defSteps
, GhcJob "8.6.5" False "" False ["8.8.3"] defSteps
, GhcJob "8.4.4" False "" False ["8.8.3"] defSteps
, GhcJob "8.2.2" False "" False ["8.8.3"] defSteps
Expand Down
3 changes: 3 additions & 0 deletions cabal-install/Distribution/Client/CmdSdist.hs
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,10 @@ packageToSdist verbosity projectRootDir format outputFile pkg = do
(norm NoExec -> nonexec, norm Exec -> exec) <-
listPackageSources verbosity (flattenPackageDescription $ packageDescription pkg) knownSuffixHandlers

print $ map snd exec
print $ map snd nonexec
let files = nub . sortOn snd $ nonexec ++ exec
print files

case format of
SourceList nulSep -> do
Expand Down
4 changes: 2 additions & 2 deletions cabal-testsuite/cabal-testsuite.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ common shared
default-language: Haskell2010

build-depends:
, base >= 4.6 && <4.14
, base >= 4.6 && <4.15
-- this needs to match the in-tree lib:Cabal version
, Cabal == 3.3.0.0

Expand Down Expand Up @@ -107,5 +107,5 @@ executable setup

custom-setup
-- we only depend on even stable releases of lib:Cabal
setup-depends: Cabal == 2.2.* || == 2.4.* || == 3.0.*,
setup-depends: Cabal == 2.2.* || == 2.4.* || == 3.0.* || ==3.2.*,
base, filepath, directory

0 comments on commit fdd017e

Please sign in to comment.