Skip to content

copilot-bluespec: Tests are failing on Hackage #673

Closed

Description

@RyanGlScott

Description

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.

Requester

  • Ryan Scott (Galois)

Method to check presence of bug

https://hackage.haskell.org/package/copilot-bluespec/reports, which shows the build status for the most recently uploaded version of copilot-bluespec, shows "Failed" in the Tests column.

Expected result

https://hackage.haskell.org/package/copilot-bluespec/reports should show "Ok" or "NotTried" in the Tests column in the details page.

Desired result

https://hackage.haskell.org/package/copilot-bluespec/reports should show "NotTried" in the Tests column.

Proposed solution

Pending a resolution to haskell/hackage-server#1414, employ a workaround by disabling copilot-bluespec's test suite by default in its .cabal file.

Further notes

None.

Activity

  1. ivanperez-keera commented on Nov 21, 2025

    @ivanperez-keera
    Member

    Change Manager: Modified issued description to adjust possible expected and desired results.

  2. added
    CR:Type:BugAdmin only: Change request pertaining to error detected
    CR:Status:InitiatedAdmin only: Change request that has been initiated
    on Nov 21, 2025
  3. ivanperez-keera commented on Nov 21, 2025

    @ivanperez-keera
    Member

    Change Manager: Confirmed that the issue exists.

  4. added
    CR:Status:ConfirmedAdmin only: Change request that has been acknowledged by the change manager
    and removed
    CR:Status:InitiatedAdmin only: Change request that has been initiated
    on Nov 21, 2025
  5. ivanperez-keera commented on Nov 21, 2025

    @ivanperez-keera
    Member

    Technical Lead: Confirmed that the issue should be addressed.

  6. added
    CR:Status:AcceptedAdmin only: Change request accepted by technical lead
    and removed
    CR:Status:ConfirmedAdmin only: Change request that has been acknowledged by the change manager
    on Nov 21, 2025
  7. ivanperez-keera commented on Nov 21, 2025

    @ivanperez-keera
    Member

    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.

  8. added
    CR:Status:ScheduledAdmin only: Change requested scheduled
    and removed
    CR:Status:AcceptedAdmin only: Change request accepted by technical lead
    on Nov 21, 2025
  9. added this to the 4.7 milestone on Nov 21, 2025
  10. added
    CR:Status:ImplementationAdmin only: Change request that is currently being implemented
    and removed
    CR:Status:ScheduledAdmin only: Change requested scheduled
    on Nov 28, 2025
  11. chathhorn-galois commented on Dec 4, 2025

    @chathhorn-galois
    Collaborator

    Implementor: Solution implemented, review requested.

  12. added
    CR:Status:VerificationAdmin only: Change request that is currently being verified
    and removed
    CR:Status:ImplementationAdmin only: Change request that is currently being implemented
    on Jan 7, 2026
  13. ivanperez-keera commented on Jan 7, 2026

    @ivanperez-keera
    Member

    Change Manager: Verified that:

    • Solution is implemented:
      • The code proposed compiles and passes all tests. Details:
        Build log: https://app.travis-ci.com/github/Copilot-Language/copilot/builds/277177872
      • 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.
  14. ivanperez-keera commented on Jan 7, 2026

    @ivanperez-keera
    Member

    Change Manager: Implementation ready to be merged.

  15. added a commit that references this issue on Jan 7, 2026
    ca6f3f6
  16. added
    CR:Status:ClosedAdmin only: Change request that has been completed
    and removed
    CR:Status:VerificationAdmin only: Change request that is currently being verified
    on Jan 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

CR:Status:ClosedAdmin only: Change request that has been completedCR:Type:BugAdmin only: Change request pertaining to error detected

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions