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

Curator stackage build with stack #4582

Merged
merged 34 commits into from
Mar 6, 2019
Merged

Conversation

qrilka
Copy link
Contributor

@qrilka qrilka commented Feb 11, 2019

Please include the following checklist in your PR:

  • Any changes that could be relevant to users have been recorded in the ChangeLog.md
  • The documentation has been updated, if necessary.

Tested using the latest Stackage snapshot builds.

Fixes #4217

This mostly changes curator code but also adds extra tweaks into Stack's code to deal properly with expected test and benchmark failures

@qrilka qrilka changed the title [WIP] Curator stackage build with stack Curator stackage build with stack Feb 20, 2019
@qrilka qrilka requested a review from snoyberg February 26, 2019 10:53
@qrilka
Copy link
Contributor Author

qrilka commented Feb 26, 2019

The last rebuild took

real    3m14.387s
user    1m5.144s
sys     0m9.860s

so it looks more or less OK and #4550 should improve it a bit more

Copy link
Contributor

@snoyberg snoyberg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've looked this over and discussed with @qrilka. This all looks good to me. Only concern is whether mutable packages trigger rebuilds appropriately. Recommendation: add an integration test that works as following:

  • Mutable, local copy of a package like filepath in extra-deps
  • Single local package that depends on a package in the snapshot which uses filepath
  • Perform a non-profiling build
  • Perform a profiling build

This will necessitate rebuilding all three packages (filepath, the one depending on it, and the local package). If this works, then we're good.

@snoyberg snoyberg requested a review from borsboom February 27, 2019 09:32
@qrilka
Copy link
Contributor Author

qrilka commented Feb 27, 2019

@snoyberg looks like I found a problem which is a bit related to removing of InstalledCache but it's not about mutable dependencies (it looks to be that we shouldn't have problems specific to them). When we switch between different implicit snapshots (e.g. by adding --profile) we could loose information about dirtiness of local files and we have a following failure scenario:

  1. You have package compiled with and without profiling
  2. You change some files in that package
  3. You build it without profiling
  4. Then when you build it with profiling there's no information about dirty files so you have Stack's build results for files you had in 1)

I will work on fixing this (and will add a test for that of course)

@qrilka
Copy link
Contributor Author

qrilka commented Feb 28, 2019

Fixed rebuilds and added 2 integration tests

@snoyberg snoyberg merged commit 9449265 into master Mar 6, 2019
@snoyberg snoyberg deleted the curator-stackage-build-with-stack branch March 6, 2019 07:55
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