Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move tests to separate process-tests package & update CI to use GitHub actions #310

Merged
merged 2 commits into from
Apr 25, 2024

Conversation

sheaf
Copy link
Contributor

@sheaf sheaf commented Apr 5, 2024

The first commit moves the test-suite to a separate package. The rationale is that other work, such as #308, requires the test-suite to use a Custom setup in order to work around Cabal bug #9854. If we don't split up the test-suite into a separate package, this would introduce a setup-depends dependency on the Cabal library, which would create a gnarly dependency cycle between Cabal and process.

The second commit rewrites the CI script. I did this because I couldn't figure out how to provision the Cabal library (needed by #308) across GHC versions with the current CI infrastructure.

There are a few other auxiliary changes, such as:

  • Using Cabal version >= 2.4 in the .cabal files, and fixing the associated warnings,
  • Using the CPP mingw32_HOST_OS define to check for Windows;
    this avoids having to define the same variable twice in two different packages.

This commit moves the process testsuite to a separate package.
The rationale is that later commits require the test-suite to use a
Custom setup in order to work around Cabal bug #9854. This introduces a
setup-depends dependency on the Cabal library, and we would very much
like to avoid the dependency cycle:

  Cabal depends on process
  process depends on Cabal

Instead, splitting up the test-suite, we have:

  Cabal depends on process
  process-tests depends on process and on Cabal

To run the test-suite, you can use either of the following commands:

> cabal run process-tests:test
> stack test process-tests

There are a few other auxiliary changes, such as:

  - Using Cabal version >= 2.4 in the .cabal files,
    and fixing the associated warnings,
  - Using the CPP mingw32_HOST_OS define to check for Windows;
    this avoids having to define the same variable twice in two
    different packages.
@sheaf
Copy link
Contributor Author

sheaf commented Apr 22, 2024

This PR is ready now. The previously occurring build failures were due incorrect lower bounds in the time package, which have since been addressed by a Hackage revision.

@bgamari bgamari merged commit dbf4add into haskell:master Apr 25, 2024
32 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants