[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

How should we fix the haskell-yesod-bin autopkgtest?



haskell-yesod-bin's autopkgtest is failing in a new way (it was
previously failing anyway, but now it's stopping earlier):

  https://ci.debian.net/packages/h/haskell-yesod-bin/unstable/amd64/

The natural way to fix this would seem to be something like this:

diff --git a/p/haskell-yesod-bin/debian/tests/control b/p/haskell-yesod-bin/debian/tests/control
index dee505a..e6c718d 100644
--- a/p/haskell-yesod-bin/debian/tests/control
+++ b/p/haskell-yesod-bin/debian/tests/control
@@ -1,3 +1,3 @@
 Tests: scaffold
-Depends: yesod, cabal-install
+Depends: yesod, cabal-install, haskell-stack
 Restrictions: needs-recommends
diff --git a/p/haskell-yesod-bin/debian/tests/scaffold b/p/haskell-yesod-bin/debian/tests/scaffold
index 2b7ca78..2e6d3b3 100755
--- a/p/haskell-yesod-bin/debian/tests/scaffold
+++ b/p/haskell-yesod-bin/debian/tests/scaffold
@@ -9,7 +9,7 @@ export HOME="$(pwd)"
 mkdir -p .cabal/packages/hackage.haskell.org
 tar -cf .cabal/packages/hackage.haskell.org/00-index.tar -T /dev/null
 
-echo -e 'yesod-init-test\ns\n' | yesod init
+stack new yesod-init-test yesod-sqlite
 cd yesod-init-test
 cp yesod-init-test.cabal $ADT_ARTIFACTS
 yesod test

But when I try that, it wants to fetch files from
https://raw.githubusercontent.com/commercialhaskell/stack-templates/master,
and doesn't have the necessary certificates to verify that.  I could add
a test dependency on ca-certificates, but I believe that autopkgtests
are at least sometimes not allowed to call out to the internet, and in
any case I think that's the right behaviour: our tests should be able to
pass without relying on GitHub being up just on general robustness
principles, never mind that it's a service running on non-free code.

However,
https://github.com/commercialhaskell/stack-templates/blob/master/yesod-sqlite.hsfiles
is over 9400 lines, which seems just slightly too much to copy into the
test files here, and as far as I can see stack-templates isn't packaged.
Is the right thing to do to package stack-templates and point the
autopkgtests at a local version of it?  Or is there something simpler we
can do here that doesn't involve stack?  Advice would be welcome.

Thanks,

-- 
Colin Watson                                       [cjwatson@debian.org]


Reply to: