https://github.com/andry81-devops/gh-action--accum-gh-rate-limits
GitHub composite action to request and accumulate an account rate limits. • :page_with_curl: https://github.com/andry81-stats/gh-action--accum-gh-rate-limits--gh-stats :page_with_curl:
https://github.com/andry81-devops/gh-action--accum-gh-rate-limits
action composite-action devops github github-action github-statistic insights rate-limit traffic
Last synced: about 2 months ago
JSON representation
GitHub composite action to request and accumulate an account rate limits. • :page_with_curl: https://github.com/andry81-stats/gh-action--accum-gh-rate-limits--gh-stats :page_with_curl:
- Host: GitHub
- URL: https://github.com/andry81-devops/gh-action--accum-gh-rate-limits
- Owner: andry81-devops
- License: mit
- Created: 2022-02-17T16:10:04.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2025-02-03T01:04:51.000Z (4 months ago)
- Last Synced: 2025-03-06T05:37:20.366Z (3 months ago)
- Topics: action, composite-action, devops, github, github-action, github-statistic, insights, rate-limit, traffic
- Homepage: https://github.com/andry81-devops/github-accum-stats
- Size: 33.2 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: changelog.txt
- Funding: .github/FUNDING.yml
- License: license.txt
Awesome Lists containing this project
README
---
Userlog
• Changelog
• Dependencies
• Known issues
•Copyright and License
GitHub composite action to request and accumulate an account rate limits.
Tutorial to use with: https://github.com/andry81-devops/github-accum-stats
All tutorials: https://github.com/andry81/index#tutorials
##
# gh-action--accum-gh-rate-limits@master
## Features:
* You may directly point the statistic as commits list:
`https://github.com/{{REPO_OWNER}}/{{REPO}}--gh-stats/commits/master/traffic/rate/limits`* Workflow is used [accum-rate-limits.sh](https://github.com/andry81-devops/gh-workflow/tree/HEAD/bash/github/accum-rate-limits.sh) bash script to accumulate rate limits statistic
* The script accumulates statistic both into a single file and into a set of files grouped by year and allocated per day:
`traffic/rate/limits/by_year/YYYY/YYYY-MM-DD.json`## Functionality of the script:
* `CONTINUE_ON_INVALID_INPUT=1`, `CONTINUE_ON_EMPTY_CHANGES=1`:
Treats invalid input or empty changes as not an error as by default.* `ENABLE_GENERATE_CHANGELOG_FILE=1`, `CHANGELOG_FILE=".../changelog.txt"`:
Generates a textual changelog file with notes about changes per commit including the changes absence in case of skipped errors.* `ENABLE_COMMIT_MESSAGE_DATE_WITH_TIME=1`:
Inserts the time string in format `HH:MMZ` additionally after the date in each commit message (by default inserts only a date for shorter commit messages).* `ENABLE_COMMIT_MESSAGE_WITH_WORKFLOW_RUN_NUMBER=1`:
Inserts the workflow run number after date/time prefix in each commit message (by default does not insert for shorter commit messages).* `ENABLE_GITHUB_ACTIONS_RUN_URL_PRINT_TO_CHANGELOG=1`:
Prints GitHub Actions Run URL (with or without workflow run number) into the changelog file to reference the log on the GitHub from the changelog file.* `ENABLE_REPO_STATS_COMMITS_URL_PRINT_TO_CHANGELOG=1`:
Prints Statistic Output Repository commit URL into the changelog file to reference the commit from being committed changelog file.> [!NOTE]
> The actual hash of the commit can not be know on the moment of the commit. So instead of the commit hash, an approximate date of the commit is used (~ +5 min ahead) in format of:
> `https://github.com/{{REPO_OWNER}}/{{REPO}}--gh-stats/commits?branch={{BRANCH}}&time_zone=utc&until=YYYY-MM-DD`# USAGE
> [!WARNING]
> You must replace all placeholder into respective values:* `{{REPO_OWNER}}` -> repository owner
* `{{REPO}}` -> your repository
* `{{BRANCH}}` -> your repository branch or reference## Examples:
`.github/workflows/accum-gh-rate-limits.yml`:
```yml
name: GitHub rate limits at every 8 hours accumulatoron:
schedule:
- cron: "0 */8 * * *"
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:jobs:
accum-gh-rate-limits:
runs-on: ubuntu-lateststeps:
- uses: {{REPO_OWNER}}/gh-action--accum-gh-rate-limits@master
with:
deps_repo_owner: {{REPO_OWNER}}
deps_repo_branch: master
deps_repo_read_token: ${{ github.token }}stat_owner: {{REPO_OWNER}}
stat_entity: rate_limit
stat_read_token: ${{ secrets.READ_STATS_TOKEN }}#commit_msg_entity: rt
curl_flags: >-
-H 'Cache-Control: no-cache'output_repo_owner: {{REPO_OWNER}}
output_repo: {{REPO}}--gh-stats
output_repo_branch: master
output_repo_dir: traffic/rate/limits
output_repo_write_token: ${{ secrets.WRITE_STATS_TOKEN }}flags: >-
ENABLE_PRINT_INITIAL_ENV_INTO_STDOUT=1env: >-
CONTINUE_ON_INVALID_INPUT=1
CONTINUE_ON_EMPTY_CHANGES=1
ENABLE_GENERATE_CHANGELOG_FILE=1
ENABLE_COMMIT_MESSAGE_DATE_WITH_TIME=1 # insert the time string in format HH:MMZ additionally after the date in each commit message
ENABLE_COMMIT_MESSAGE_WITH_WORKFLOW_RUN_NUMBER=1 # insert the workflow run number after date/time prefix in each commit message
ENABLE_GITHUB_ACTIONS_RUN_URL_PRINT_TO_CHANGELOG=1
ENABLE_REPO_STATS_COMMITS_URL_PRINT_TO_CHANGELOG=1
# CHANGELOG_FILE=changelog.txt
```> You can use `secrets.READ_STATS_TOKEN` instead of `secrets.WRITE_STATS_TOKEN` as long as there is the same owner.
> [!WARNING]
> You must use different values for `deps_repo_owner`, `stat_owner` and `output_repo_owner` if there is actually different owners.> [!NOTE]
> See REUSE section for details if you have multiple repositories and want to store all GitHub workflow scripts (`.github/workflows/*.yml`) in a single repository.## Dependencies
* https://github.com/andry81-devops/gh-workflow
## Known Issues
https://github.com/andry81-devops/gh-known-issues#known-issues
## Last known issues updates
https://github.com/andry81-devops/gh-known-issues#last-known-issues-updates
## Copyright and License
Code and documentation copyright 2022 Andrey Dibrov. Code released under [MIT License](https://github.com/andry81-devops/gh-action--accum-gh-rate-limits/tree/HEAD/license.txt)