@@ -422,20 +422,16 @@ errors for builds, tests and benchmarks.
423### Large scale enabling/disabling of packages
423### Large scale enabling/disabling of packages
425−`etc/commenter` is a binary that mostly automates the translation of
425+`etc/commenter` is a binary that automates `build-constraints.yaml` workflows.
426−`./check` errors into lines that go into `build-constraints.yaml`. It
427−can only handle bounds issues, compilation issues still need to be
430−It disables all offending packages/test suites/benchmarks, so it is
431−only meant to be used when we close bounds issues and want to disable
432−packages, and when upgrading GHC.
434#### Setup
427#### Setup
435This is currently a rust program, You can install the rust toolchain
428This is currently a rust program, You can install the rust toolchain
436by using [rustup](https://rustup.rs/).
429by using [rustup](https://rustup.rs/).
431+For some commands you also need etc/commenter/latest-version installed.
438−Then `cargo install --locked --path etc/commenter`
433+stack install --stack-yaml etc/commenter/latest-version/stack.yaml
440#### Example usage
436#### Example usage
@@ -456,7 +452,7 @@ testing-feat (GHC 9 bounds issues, Grandfathered dependencies) (not present) dep
459−./check 2>&1 >/dev/null | commenter add
455+./check 2>&1 >/dev/null | ./commenter add
462You will get this output:
458You will get this output:
@@ -483,8 +479,8 @@ Re-run this command until no more packages are disabled.
483We can periodically remove all packages under the bounds sections and then re-run the disabling flow above until we get a clean plan. This will automatically pick up packages that have been fixed.
479We can periodically remove all packages under the bounds sections and then re-run the disabling flow above until we get a clean plan. This will automatically pick up packages that have been fixed.
486−commenter clear
482+./commenter clear
487−./check 2>&1 >/dev/null | commenter add
483+./check 2>&1 >/dev/null | ./commenter add
490Repeat the second command until no updates are made to build-constraints.yaml.
486Repeat the second command until no updates are made to build-constraints.yaml.
@@ -493,7 +489,7 @@ Repeat the second command until no updates are made to build-constraints.yaml.
494Run `stack update` before doing this.
490Run `stack update` before doing this.
496−`commenter outdated` looks through all bounds issues and library
492+`./commenter outdated` looks through all bounds issues and library
497compilation failures and compares the marked version with the latest hackage release. Example output is
493compilation failures and compares the marked version with the latest hackage release. Example output is
@@ -504,7 +500,7 @@ aeson mismatch, auto: 1.5.6.0, hackage: 2.0.2.0
504where "manual" means the bound was added manually by a curator,
500where "manual" means the bound was added manually by a curator,
505perhaps due to a compilation failure so we could try re-enabling the
501perhaps due to a compilation failure so we could try re-enabling the
506package. "auto" means it's part of the sections generated by
502package. "auto" means it's part of the sections generated by
507−`commenter`, to update that run the `Re-enabling` step as documented
503+`./commenter`, to update that run the `Re-enabling` step as documented
510`outdated` only finds packages that are in the auto generated
506`outdated` only finds packages that are in the auto generated
@@ -520,7 +516,7 @@ To diff existing snapshots, or to evaluate changes before they end up
520in a snapshot you can run:
516in a snapshot you can run:
523−commenter diff-snapshot <old-snapshot.yaml> <new-snapshot.yaml>
519+./commenter diff-snapshot <old-snapshot.yaml> <new-snapshot.yaml>
526Existing snapshots can be retrieved from https://github.com/commercialhaskell/stackage-snapshots. Preliminary snapshots can be generated by running relevant parts of `automated/build.sh`, at the time of writing:
522Existing snapshots can be retrieved from https://github.com/commercialhaskell/stackage-snapshots. Preliminary snapshots can be generated by running relevant parts of `automated/build.sh`, at the time of writing:
@@ -535,7 +531,7 @@ TARGET=nightly-2021-01-14 \ # the date doesn't matter
536#### Finding disabled packages with lots of dependents
532#### Finding disabled packages with lots of dependents
538−`commenter disabled` prints the number of transitive dependents a disabled package has. Low hanging fruit to get a lot of packages included again.
534+`./commenter disabled` prints the number of transitive dependents a disabled package has. Low hanging fruit to get a lot of packages included again.
540Example output:
536Example output: