Resolves#192
Also avoids the unqualified import on `GitHub` in GH.hs, since this lib's types
are already complex/confusing enough without the ambiguity!
We now have the bot:
1. Doing the automated upgrade (bump version, src, recomputing hash)
2. Doing a full nixpkgs-review reverse closure rebuild
The next step for a human is to review the upstream changelog. Right now they
have to find it manually, but if `meta.changelog` is set, this commit adds a
link to it directly in the PR description .
Resolves#44
We're no longer running this on `staging` PRs, and users doing single-package
updates have the option to omit `nixpkgs-review`, so we should only include the
PR comment section if it was actually run.
This continues to enhance the automated tests for the PR comment formatting,
so you can see what the diff looks like just by looking at the test suite!
Having the tests makes it easier to visualize what's going on, because we can
just look at the test output data. This is not foolproof, since one of the IO
helper functions could generate bad data to pass to the pure helper, but it's
better than nothing.
This refactors as much as possible to keep the PR description logic in the pure
`prComment` function, rather than computing it in multiple places, which also
increases out unit test coverage.
* instead of --dry-run use --pr to indicate a PR is wanted
* instead of additional updates, have update take the update as an
argument
* print out stdout instead of log file in the case of non-batch
updates
* print PR message to log even in the case of no PR
regenerate haskell nix file (drops hex dependency)
apply ormolu to a few files
fixup cabal file
add polysemy logger interpretation of Output, fix bug in nixEvalSem bug
* nixEvalSem was accidentally not stripping the output
create test_data and simplify RewriteSpec to use it
move Polysemy interpretation stacks closer to where polysemy methods are made
eventually these will move more top level but for now this keeps it
more contained
update to ghc883, remove raw-strings-qq dep
No functional change; this pulls out all of the changes except the `polysemy`
refactoring from here:
https://github.com/ryantm/nixpkgs-update/pull/172
This will allow us to do development with the newer GHC and cleaned up
dependency stack, start using the `hspec` test suite, vet the `github` library
updates, etc., while we work on porting more of the effects to polysemy and
evaluating how it looks.