You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
copilot-bluespec: Tests are failing on Hackage #673
The copilot-bluespec requires bsc (the Bluespec compiler) to be installed in order to run its test suite, but the builders that Hackage uses to run uploaded packages' test suites do not have bsc installed, causing Hackage to spuriously claim that copilot-bluespec's tests are failing.
Type
Bug: Hackage incorrectly claims test failures.
Additional context
haskell/hackage-server#1414 is a broader discussion about whether tests can be disabled on Hackage, or alternatively whether bsc can be installed on Hackage builders to allow the copilot-bluespec test suite to pass. This discussion is blocked pending further action from Hackage maintainers.
The solution proposed produces the expected result. Details:
The following Dockerfile checks that the tests can be disabled via a flag, and that they can be re-enabled with the same flag, after which it prints the message "Success":
FROM ubuntu:focal
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update
RUN apt-get install --yes \
libz-dev \
git \
curl \
gcc \
g++ \
make \
libgmp3-dev \
pkg-config
RUN mkdir -p $HOME/.ghcup/bin
RUN curl https://downloads.haskell.org/~ghcup/0.1.50.2/x86_64-linux-ghcup-0.1.50.2 -o $HOME/.ghcup/bin/ghcup
RUN chmod a+x $HOME/.ghcup/bin/ghcup
ENV PATH=$PATH:/root/.ghcup/bin/
ENV PATH=$PATH:/root/.cabal/bin/
SHELL ["/bin/bash", "-c"]
RUN ghcup install ghc 9.2
RUN ghcup install cabal 3.2
RUN ghcup set ghc 9.2.8
RUN cabal update
SHELL ["/bin/bash", "-c"]
CMD git clone $REPO \
&& cd $NAME \
&& git checkout $COMMIT \
&& cd copilot-bluespec \
&& cabal v1-install --enable-tests --only-dependencies \
&& cabal v1-configure --enable-tests \
&& (cabal v1-test | grep -e 'Package has no buildable test suites') \
&& cabal v1-install --enable-tests --only-dependencies -ftest-bluespec \
&& cabal v1-configure --enable-tests -ftest-bluespec \
&& ! cabal v1-test \
&& echo "Success"
Command (substitute variables based on new path after merge):
$ docker run -e REPO=https://github.com/GaloisInc/copilot-1 -e NAME=copilot-1 -e COMMIT=03fc7d4059d762641c8fccc9076533dca626aa63 copilot-verify-673
Implementation is documented. Details:
New flag is documented.
Change history is clear.
Commit messages are clear.
Changelogs are updated.
Examples are updated. Details:
No updates needed; change is to the cabal file.
Required version bumps are evaluated. Details:
Bump not required; change is to Cabal package affecting tests only.
Activity
Proposed fix for Copilot-Language#673
ivanperez-keera commentedon Nov 21, 2025
Change Manager: Modified issued description to adjust possible expected and desired results.
ivanperez-keera commentedon Nov 21, 2025
Change Manager: Confirmed that the issue exists.
ivanperez-keera commentedon Nov 21, 2025
Technical Lead: Confirmed that the issue should be addressed.
ivanperez-keera commentedon Nov 21, 2025
Technical Lead: Issue scheduled for fixing in Copilot 4.6.1.
Fix assigned to: @chathhorn-galois .
EDIT (2026-01-08): Modified to adjust the actual version of Copilot after release.
copilot-bluespec: Update copilot-bluespec.cabal to only run tests whe…
copilot-bluespec: Document changes in CHANGELOG. Refs Copilot-Languag…
chathhorn-galois commentedon Dec 4, 2025
Implementor: Solution implemented, review requested.
copilot-bluespec: Disable test suite via newly added manual cabal fla…
copilot-bluespec: Document changes in CHANGELOG. Refs Copilot-Languag…
ivanperez-keera commentedon Jan 7, 2026
Change Manager: Verified that:
Build log: https://app.travis-ci.com/github/Copilot-Language/copilot/builds/277177872
The following Dockerfile checks that the tests can be disabled via a flag, and that they can be re-enabled with the same flag, after which it prints the message "Success":
New flag is documented.
No updates needed; change is to the cabal file.
Bump not required; change is to Cabal package affecting tests only.
ivanperez-keera commentedon Jan 7, 2026
Change Manager: Implementation ready to be merged.
Merge branch 'develop-fix-hackage-tests'. Close Copilot-Language#673.