* chore(assignees): add logs
* docs(stale-issue-comment): update the docs to remove that omitting will not send a message
To be sure, what would be even better is to add a test using the default config (because the main issue is that the default options of the specs are not matching the ones from the action).
Closes#521
* test(comment): add more coverage to test the stale issue message
* docs(readme): improve the wording
Co-authored-by: Luke Tomlinson <luketomlinson@github.com>
* refactor: simplify the code to use the stats for the specs
* chore(rebase): fix rebase issue
* chore(statistics): fix issue due to rebase
Co-authored-by: Luke Tomlinson <luketomlinson@github.com>
* chore(assignees): add logs
* feat(draft-pr): add new option to not process PRs which are in draft
* refactor(draft-pr): create a dedicated class to handle the logic
* chore(index): update index file
* chore(assignees): add logs
* docs(readme): use the override syntax to simplify the reading
* docs(readme): add missing default options
* docs(readme): add 3 new options to ignore activity before stale
* chore(action): add 3 new options
* fix(removeStaleWhenUpdated): use the value of the action config as expected
Fixes#451
* chore(main): add 3 new options
* feat(ignore): add new class to ignore all activities before stale
* feat(option): add new options to ignore all activities before stale
* chore(index): update index file
* docs(readme): fix typo
* docs(readme): add missing empty row
* chore(rebase): fix logger issues due to rebase
* chore: aplly changes due to rebase
* refactor(naming): change the name of the options as suggested
* chore(logs): reverse the logs as well
* docs(readme): format the table of options
* refactor(naming): rename the the options
* style(rename): rename more updates wording to activities
* build(ci): run the test step as expected for a CI
instead of using a real linter with auto fix and the tests verbose as fuck
* chore: handle breaking changes due to new changes
* refactor(naming): rename and reverse the options
* style(tests): use plural for some describe
* docs(days-before-stale): list the new option
* chore(index): update index file
* chore: keep static methods on top
* chore(logs): remove useless log
* docs(readme): add branch hint
* using english words
Co-authored-by: Luke Tomlinson <luketomlinson@github.com>
Co-authored-by: Luke Tomlinson <luketomlinson@github.com>
* feat(options): add new options to avoid stale based on comments
Helping to close#441, #470, #435?
Closes#390 due to no activity
BREAKING CHANGES: the options related to remove-stale-when-updated will only check the updates, not the comment. It is only impactint the configurations using the value at false
* style(readme): fix table syntax due to rebase
* docs(readme): add permissions only for the new options
* Add support for adding & removing labels when no longer stale
* Add remove/addLabelsWhenUpdatedFromStale to relevant spec files. Modify arguments to remove ambiguity in 'labels' var & parameter
* Change parameters for clarity, let autoformat do its thing
* PR feedback: More useful logging when removing labels
* Wrap client calls in try catches
* Use Unstale in variable names
* Don't run add label logic under debug
* Add test for labels added to unstale issues
* PR Feedback: logging
* Update README
* Rename vars to labels-to-add/remove-when-unstale
* Apply doc suggestions from code review
Co-authored-by: Geoffrey Testelin <geoffrey.testelin@gmail.com>
* PR Feedback
Co-authored-by: Geoffrey Testelin <geoffrey.testelin@gmail.com>
* fix(operations): fail fast the current batch to respect the operations limit
Instead of processing an entire batch of 100 issues before checking the operations left, simply do it before processing an issue so that we respect as expected the limitation of the operations per run
Fixes#466
* test(debug): disable the dry-run for the test by default
we will be able to test the operations per run and have more complete logs that could help us debug the workflow
* chore(logs): also display the stats when the operations per run stopped the workflow
* chore(stats): fix a bad stats related to the consumed operations
* test(operations-per-run): add coverage
* chore: update index
* feat(logs): improve the logs when removing the close label
A log was missing when the option was configured but the close label was not present on the issue/PR
Change the log about not removing the close label to explicitly mention that this behaviour occur because the option is not configured
Fixes#462
* feat(dry-run): display the logs and count the operations
the dry-run checks were cancelling way sooner the workflow
the logs and the count of operations could not occur in dry run due to this
the goal of the dry run is just to skip some logic regarding the api calls to avoid altering the repos but the goal IMO is to also make them reflect the real world run so this change allow this
BTW it also allow now to test the consumed operations
Fixes#461
* feat(logs): add more logs to debug the stale label removal
* chore(index): update index
* chore(dry-run): fix bad dry-run conditions
* docs(contributing): add information to update the changelog
* docs(changelog): add a first draft
it needs to contain the new PRs and only contains a not very nice version of the previous release to have an example
* chore(release): propose a way to locally generate a release
* refactor(logs): replace chalk by ansi-styles
* test(logs): fix the failing tests due to ansi styles
I was not able to disable or mock ansi-styles so instead I found a way to make the tests pass
it's not perfect but it's still nice because the logs will keep their trustful colour when running through the tests
* refactor(logs): simplify the syntax to colour the logs
* chore(rebase): update files due to rebase
* refactor(logger): reduce code duplication
* feat(options): simplify config by removing skip stale message options
Closes#405Closes#455
BREAKING CHANGES: remove skip-stale-issue-message and skip-stale-pr-message options. If you used this option, replace it by an empty message for the options stale-issue-message and stale-pr-message
* build(dist): update dist
also lint some files
* docs(readme): update the docs by removing the skip options
* feat(logs): add a new log when an issue consumed at least one operation (#386)
* docs(only-labels): enhance the docs and fix duplicate (#341)
* docs(only-labels): remove duplicated option and improve descriptions
a bad rebase happend
* docs(readme): use a multi-line array and remove the optional column
the option column was not helpful since each value is optional
the multi-line array will allow to have a better UI in small devices and basically in GitHub too due to the max-width
* style(readme): break line for the statistics
* docs(readme): add a better description for the ascending option
* docs(action): add missing punctuation
* build(deps-dev): bump @typescript-eslint/eslint-plugin (#342)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 4.15.2 to 4.16.1.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v4.16.1/packages/eslint-plugin)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump @octokit/rest from 18.3.0 to 18.3.2 (#350)
Bumps [@octokit/rest](https://github.com/octokit/rest.js) from 18.3.0 to 18.3.2.
- [Release notes](https://github.com/octokit/rest.js/releases)
- [Commits](https://github.com/octokit/rest.js/compare/v18.3.0...v18.3.2)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* test: add more coverage for the stale label behaviour (#352) (#15)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* test: add more coverage for the stale label behaviour (#352) (#17)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* test: add more coverage for the stale label behaviour (#352) (#18)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* docs(operations-per-run): improve the doc for this option
* feat(logs): add a new log when an issue consumed at least one operation
the log will be visible as the last row of the processing of the given issue
closes#348
* chore(readme): improve the operations per run
Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com>
* chore(readme): improve the operations per run
Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com>
* chore(readme): improve the operations per run
Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com>
* chore(readme): improve the operations per run
Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com>
* chore(readme): improve the operations per run
Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com>
* chore(readme): improve the operations per run
Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com>
* Typo in how to perform check for specific labels (#357)
Not tests but feels like a typo.
Or if we keep the title it `exempt` feels more approriate:
exempt-issue-labels: 'roadmap'
exempt-pr-labels: 'roadmap'
* feat(any-of-labels): add 2 new options to customize for issues/PRs (#380)
* docs(only-labels): enhance the docs and fix duplicate (#341)
* docs(only-labels): remove duplicated option and improve descriptions
a bad rebase happend
* docs(readme): use a multi-line array and remove the optional column
the option column was not helpful since each value is optional
the multi-line array will allow to have a better UI in small devices and basically in GitHub too due to the max-width
* style(readme): break line for the statistics
* docs(readme): add a better description for the ascending option
* docs(action): add missing punctuation
* build(deps-dev): bump @typescript-eslint/eslint-plugin (#342)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 4.15.2 to 4.16.1.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v4.16.1/packages/eslint-plugin)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump @octokit/rest from 18.3.0 to 18.3.2 (#350)
Bumps [@octokit/rest](https://github.com/octokit/rest.js) from 18.3.0 to 18.3.2.
- [Release notes](https://github.com/octokit/rest.js/releases)
- [Commits](https://github.com/octokit/rest.js/compare/v18.3.0...v18.3.2)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* test: add more coverage for the stale label behaviour (#352) (#15)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* test: add more coverage for the stale label behaviour (#352) (#17)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* test: add more coverage for the stale label behaviour (#352) (#18)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(any-of-labels): add 2 new options to customize for issues/PRs
closes#371
change this option and only-labels to have tree-logs
* chore(index): update it
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(logs): enhance the logs for assignees and milestones (#382)
* docs(only-labels): enhance the docs and fix duplicate (#341)
* docs(only-labels): remove duplicated option and improve descriptions
a bad rebase happend
* docs(readme): use a multi-line array and remove the optional column
the option column was not helpful since each value is optional
the multi-line array will allow to have a better UI in small devices and basically in GitHub too due to the max-width
* style(readme): break line for the statistics
* docs(readme): add a better description for the ascending option
* docs(action): add missing punctuation
* build(deps-dev): bump @typescript-eslint/eslint-plugin (#342)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 4.15.2 to 4.16.1.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v4.16.1/packages/eslint-plugin)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump @octokit/rest from 18.3.0 to 18.3.2 (#350)
Bumps [@octokit/rest](https://github.com/octokit/rest.js) from 18.3.0 to 18.3.2.
- [Release notes](https://github.com/octokit/rest.js/releases)
- [Commits](https://github.com/octokit/rest.js/compare/v18.3.0...v18.3.2)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* test: add more coverage for the stale label behaviour (#352) (#15)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* test: add more coverage for the stale label behaviour (#352) (#17)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* test: add more coverage for the stale label behaviour (#352) (#18)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(logs): enhance the logs for assignees and milestones
closes#381
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* style(typo): fix typo plural issue
* style(naming): rename two methods
* chore(error): remove a potential useless throw of error
* style(naming): rename one method
* refactor(issue): change the way to count the operations
* refactor(operations): create a method to reduce code duplication
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com>
Co-authored-by: Romain Rigaux <romain.rigaux@gmail.com>
* chore(logs): final overhaul of the logs
display more values in cyan
display all the options the same way (with links pointing to the readme so that with anchors we could find them easily later
make them a little more humanized
add more logs especially for the stale conditions
* style(logs): fix typos
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com>
Co-authored-by: Romain Rigaux <romain.rigaux@gmail.com>