snowleopard / hadrian

Hadrian: a new build system for the Glasgow Haskell Compiler. Now merged into the GHC tree!
https://gitlab.haskell.org/ghc/ghc/tree/master/hadrian
MIT License
208 stars 39 forks source link

Simplify Package data type #663

Closed snowleopard closed 5 years ago

snowleopard commented 5 years ago

I noticed that all packages we build have Cabal files now, which means we no longer need to distinguish between C and Haskell packages. This leads to a lot of simplifications and removal of unsafe functions.

alpmestan commented 5 years ago

Given that we test very little on CI, I'm a bit "anxious" about changing a whole lot of things, testing very little of it and just merging without anyone's review. Have you tried running all the common rules? (stage2 ghc, docs, etc)

In particular, I remember the rts being quite a special case, it would be nice to get a confirmation that the affected rules are not broken in any way.

snowleopard commented 5 years ago

Thanks @alpmestan! Yes, you are right, our CI is weak and I should have waited for some feedback on such large refactoring. I will build other targets and report back. What do you mean by "stage2 ghc" target? We do build Stage2 GHC by default.

We should probably put together a list of things-to-test, which covers all Hadrian targets.

snowleopard commented 5 years ago

So, the docs target is broken, but in a way which doesn't seem to be related to this PR:

| Copy directory: utils/haddock/haddock-api/resources/html => _build/docs/html
| Run Sphinx Html: docs/users_guide => _build/docs/html/users_guide
Error when running Shake build system:
* docs
* _build/docs/html/index.html
* _build/docs/html/libraries/index.html
* _build/docs/html/haddock-bundle.min.js
Error, rule finished running but did not produce file:
  _build/docs/html/haddock-bundle.min.js

What's weird is that the file in question _build/docs/html/haddock-bundle.min.js does exist! So this looks like some concurrency issue. I've created #664 to track this.

alpmestan commented 5 years ago

I think I have an idea for the insufficient CI bit. I will contact you about this in a bit.