* 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>
* 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
* 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
* 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>
* chore(logs): add logs for the milestones
* chore(errors): use actions error instead of throw errors
* chore(logs): enhance the logs and add some colors
tl;dr: blue for values, megenta for options, white for messages, yellow light for warnings, yellow for milestones and green for success
still a WIP but I wish to confirm this before continuing
@hross is it ok for you?
* chore(index): update the index
* chore(ci): use npm ci instead of npm i
* chore(logs): removed some useless logs
* refactor(issues): remove useless check
* chore(statistics): show the real count of fetched issues
* refactor(operations): use a class to handle the operations left
closes#361
* chore(logs): include the total number of issues in the log for a batch
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* docs(readme): add a small precision about the operations-per-run
closes#230
* chore(lint): ignore the lib folder for prettier
* chore(date): add a function to check if a date is valid
* chore(date): add a function to get a humanized date
* chore(date): add a function to check if the date is more recent than
* feat(date): add a start date to ignore old issues and PRs
closes#174
* docs(readme): change the date to match the description
* chore(date): add a better type for the date
* docs(date): add missing JSDoc about the return type
* chore(rebase): fix issues due to rebase
* docs(readme): fix table formatting issues
* docs(readme): add new options in the documentation
* chore: update the action schema
* chore: parse the new arguments
* feat(stale-and-close): add new options to change the days before close
to avoid a breaking change and simplify the configuration the old options 'daysBeforeStale' and 'daysBeforePrClose' are kept and new options are available to override them with 'daysBeforeIssueStale', 'daysBeforePrStale', 'daysBeforeIssueClose' and 'daysBeforePrClose'
* chore: rename the issue type enum to remove the enum suffix
* chore: add missing dependency for eslint and typescript
also upgrade the parser
* chore: fix an issue with the linter for the shadow rules
it was not configured properly for TypeScript
* chore: use camelCase for constants
* chore: use camelCase for enum members
* chore: fix the tests
* chore: enhance prettier to also lint other kind of files
it was configured to only work with ts and it was not working well to be honest
also now the lint scripts will also run prettier