Releases: gautamkrishnar/keepalive-workflow
2.0.8
What's Changed
- added the ability to skip timeElapsed check by simply setting it to
0
Full Changelog: 2.0.7...2.0.8
2.0.7
What's Changed
- replace the default elapsed time value of 50 with 45 by @Han-Joon-Hyeok in #45
New Contributors
- @Han-Joon-Hyeok made their first contribution in #45
Full Changelog: 2.0.6...2.0.7
2.0.6
2.0.5
What's Changed
- Fixes: Action does not complete and causes the parent workflow to fail. (triggered by pull request from fork) #42
- Fixed warnings
Full Changelog: 2.0.4...2.0.5
2.0.4
2.0.3
What's Changed
- Bug fix: Support yml and yaml by matching before @ (#37) by @AlexanderOMara
- Reduced time_elapsed to 45 days to avoid GitHub from sending notification emails. Thanks to @rfay (#36) and @julienloizelet
Full Changelog: 2.0.2...2.0.3
2.0.2
2.0.1
What's Changed
Added multi workflow keepalive
Now you can keep multiple Github actions alive using a single keepalive workflow. Previously you had to add separate keepalive workflow to all the cronjob-triggered Github actions for this to happen.
Example
Let's assume that you have some build workflows:
.github/workflows/build1.yml
name: Build 20
on:
schedule:
- cron: "0 0 * * *"
jobs:
publish-npm:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: "20"
cache: "yarn"
- run: yarn install --frozen-lockfile
- run: yarn build
.github/workflows/build2.yml
name: Build 19
on:
schedule:
- cron: "0 0 * * *"
jobs:
publish-npm:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: "19"
cache: "yarn"
- run: yarn install --frozen-lockfile
- run: yarn build
You can now keep both of these workflows active using the following keepalive workflow code:
.github/workflows/keepalive.yml
name: Keepalive Workflow
on:
schedule:
- cron: "0 0 * * *"
permissions:
actions: write
jobs:
cronjob-based-github-action:
name: Keepalive Workflow
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: gautamkrishnar/keepalive-workflow@v2
with:
workflow_files: "build1.yml, build2.yml"
time_elapsed: "0"
Other changes
- Fix readme to have permissions in correct place by @rfay in #26
- fix: typo in dummy commit config by @shihyuho in #28
New Contributors
Full Changelog: 2.0.0...2.0.1
2.0.0
Version 2 🎉 ✨
For a long time, this workflow was using a dummy commit approach to keep the repositories active, this method was effective but came with a side effect. It automatically creates a dummy commit every 50 days, which makes this workflow un-usable for many serious open-source projects, since they heavily rely on commit history. To keep the repository active, this was the only option when I created this workflow.
GitHub made some changes recently, now simply calling the GitHub Action API's enable API Call will keep the workflow active indefinitely. This feature was added to this workflow as an opt-in feature for people to use. Version 2 will make this method the default method for the keep-alive workflow.
People who are using v1
and master
tags of this workflow will continue using the dummy commit method since the newly added API-based method requires explicit permission for the API Keys for it to function.
Migrating from v1 to v2
If you are an existing user which used this workflow's v1 version, you can easily migrate to v2 by simply updating the permissions key in your workflow:
Change:
permissions:
contents: write
to
permissions:
actions: write
And change the workflow's version from gautamkrishnar/keepalive-workflow@v1
or gautamkrishnar/keepalive-workflow@master
to gautamkrishnar/keepalive-workflow@v2
. This will automatically start using the workflow's API based method. No more dummy commits 🕺 .
What's Changed
- Updated the workflow to v2 to make use of API keepalive method by default instead of dummy commit based method
Full Changelog: v1...2.0.0
1.2.6
What's Changed
- Some doc changes
- Minor code fixes
Special thanks to @liskin for his suggestions to improve the workflow
Full Changelog: 1.2.5...1.2.6