Skip to content

Releases: gautamkrishnar/keepalive-workflow

2.0.8

24 Nov 03:33
Compare
Choose a tag to compare

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

22 Aug 07:28
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 2.0.6...2.0.7

2.0.6

11 Jul 09:03
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 2.0.5...2.0.6

2.0.5

24 May 11:49
Compare
Choose a tag to compare

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

19 May 09:28
Compare
Choose a tag to compare

What's Changed

  • NPM Package bug fixes

Full Changelog: 2.0.3...2.0.4

2.0.3

18 May 18:17
Compare
Choose a tag to compare

What's Changed

Full Changelog: 2.0.2...2.0.3

2.0.2

17 May 21:45
Compare
Choose a tag to compare

What's Changed

  • Adding parent workflow name to the output

Full Changelog: 2.0.1...2.0.2

2.0.1

09 Apr 07:23
Compare
Choose a tag to compare

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"

Result:
result

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

09 Mar 22:54
Compare
Choose a tag to compare

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

22 Feb 15:56
Compare
Choose a tag to compare

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