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

Add rules_haskell to regression-checked bazel projects #754

Closed
Profpatsch opened this issue Mar 18, 2019 · 16 comments
Closed

Add rules_haskell to regression-checked bazel projects #754

Profpatsch opened this issue Mar 18, 2019 · 16 comments

Comments

@Profpatsch
Copy link
Contributor

Bazel has ~50 repositories it auto-checks for regressions on their CI for every release: https://buildkite.com/bazel/bazel-at-head-plus-downstream/builds/821

We should make an effort to get rules_haskell in that list.

@laurentlb
Copy link
Contributor

Yes, it would be great to have it.
(I filed the same issue some time ago: bazelbuild/continuous-integration#235)

@Profpatsch
Copy link
Contributor Author

Profpatsch commented Apr 3, 2019

We moved our start script to GHC bindists yesterday, meaning the runner won’t have to have nix installed for a simple setup check. I think we are ready to add at least a simple regression check to the upstream pipeline.

Since we also merged hazel, we should be able to get rid of the nix requirement for most of our basic testing setup soon.

I don’t know if I can find the time to do this soon, but @laurentlb if you are interested I’ll gladly help with any questions you have.

@laurentlb
Copy link
Contributor

What is the status of this? Is there any blocker?

@fweikert may be able to help you with Buildkite integration.

@Profpatsch
Copy link
Contributor Author

Most of our tests still depend on nix, but we could start by only enabling a subset of them in the Buildkite config.
Alternatively, the CI machine would have to have nix installed.

@philwo
Copy link
Collaborator

philwo commented May 28, 2019

I haven't used nix myself yet, is it difficult to install? If it's just a matter of installing it in our Docker image, that shouldn't be a problem.

@Profpatsch
Copy link
Contributor Author

Actually, we recently switched to a non-nix setup for our tests, by adding a repository rule to install things with the stack tool instead. So no additional provisioning of the build machine should be necessary.

@mboes
Copy link
Member

mboes commented May 29, 2019

@philwo Nix is no longer required. Have a look at the CircleCI config (.circleci/config.yaml) and the build-linux-ghc-bindist job in particular. That job assumes Bazel is in the Docker image along with a small set of other system dependencies that you probably already have, and is able to run a core part of the full rules_haskell test suite while assuming nothing else from the environment. We do disable a few tests, however. See --build_tag_filters line.

@Profpatsch Profpatsch added P1 critical: next release and removed P2 major: an upcoming release labels Jun 17, 2019
@Profpatsch
Copy link
Contributor Author

#1066 added us to the official upstream pipeline, and a few of our maintainers got access to https://buildkite.com/bazel/rules-haskell-haskell.

The next step is getting rules_haskell to actually build on the upstream buildkite, then they will add us to their downstream testing pipeline.

@Profpatsch
Copy link
Contributor Author

@fweikert The CI is currently failing because we need the libgmp-dev apt package installed for GHC to work. Is there a way to add it to the build description yaml? cc @laurentlb @philwo

Related, is there documentation of how the .bazelci file format works?

@fweikert
Copy link
Contributor

We have to deploy the libgmp-dev package to our CI workers.

Configuration documentation: https://github.com/bazelbuild/continuous-integration/blob/master/buildkite/README.md#basic-syntax

@Profpatsch
Copy link
Contributor Author

Profpatsch commented Sep 12, 2019

We have to deploy the libgmp-dev package to our CI workers.

Great, can you ping us here once that is done? We’d really like this ruleset to be downstream-checked before 1.0 is out.

@fweikert
Copy link
Contributor

I'll do!

@philwo
Copy link
Collaborator

philwo commented Sep 13, 2019

@Profpatsch @fweikert I added the libgmp-dev package to our ubuntu1604, ubuntu1804 and debian10 environments and pushed the new containers, so it should be effective immediately.

@Profpatsch
Copy link
Contributor Author

Profpatsch commented Sep 16, 2019

bazelbuild/continuous-integration#235 (comment)

@laurentlb We have a successful build on the CI now: tweag/rules_haskell#1099 (CI log: https://buildkite.com/bazel/rules-haskell-haskell/builds/109)

I think we’re ready to be added to your list of downstream projects.

cc @philwo @fweikert @mboes

@aherrmann
Copy link
Member

AFAIU this is done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants