* 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(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>
* 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(remove-stale-when-updated): add 2 options for issues and prs
closes#377
also I closed the stale process once the stale label is removed since the following process is regarding the closing and it should simply not occur if no longer stale
* chore(logs): add more logs to understand the process
* chore(logs): highlights more logs and humanize a bit more
* chore(index): update it
* refactor(checks): simplify if complexity
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* 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>
* 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>
* test: add more coverage
* docs: reorder and enhance typo
* docs(contributing): add more information about the npm scripts
* feat(statistics): add simple statistics
* feat(statistics): add more stats
* refactor(issues-processor): remove some options from the constructor
it should have been only useful for the tests
* feat(statistics): add stats for new stale or undo stale issues
* chore(rebase): handle rebase conflicts
* feat(assignees): add new option to avoid stale for assignees
closes#271
* test: add more coverage
* docs: fix readme format issue
* docs: reorder and enhance typo
* docs(contributing): add more information about the npm scripts
* feat(only-labels): add new options to customize it for issues and PR
closes#308
* feat(assignees): add new option to avoid stale for assignees
closes#271
* test: add more coverage
* docs: fix readme format issue
* docs: reorder and enhance typo
* docs(contributing): add more information about the npm scripts
* refactor: move and rename the interfaces/classes
closes#272
* docs: update the readme and action to describe the new options for milestones
* refactor: split the tests into multiple files
* feat(milestones): add new options to exempt all milestones
* test: add coverage for the default values
* test(milestones): add more coverage (wip)
* test(milestones): add more coverage for the multiple exempt milestones
* test: reduce duplicated code
* test: change some describes
* test: add more coverage
* test: add more coverage
* test: add final coverage
* build(tsc): add missing project flag to build with the right tsconfig
* test(milestones): use each to reduce the complexity of the tests
* chore: fix an eslint issue with prettier on windows
the end of line was wrong each time the os process the files
* docs: move the contribution section to a dedicated file
add more content to help the debug
* chore: make sure the rebase is ok