Skip to content

Conversation

@jrfnl
Copy link
Member

@jrfnl jrfnl commented Nov 14, 2025

GitHub has the annoying habit of disabling workflows with a cron job after two months if the repo doesn't see any activity.

This is regularly the case for this repo and this creates the following problem:

  • If the same workflow is used for both the cron job as well as the push/pull_request CI checks...
  • ... and a repo doesn't have any activity in two months time...
  • ... the workflow gets disabled...
  • ... which then also means that CI checks will no longer be run for new PRs....
  • ... which means new PRs can't be merged as (in most cases) the repo has branch protection in place and requires that the CI checks pass before a PR can be merged.

This commit basically changes the original workflow to a reusable workflow and then creates two new workflows, with different on targets, which each trigger the reusable workflow.

  • One workflow will be triggered via cron.
  • One workflow will have all the other triggers (push/pull_request/workflow_dispatch).

This way, if the cron job workflow gets disabled, the workflow which is used for the other triggers will continue to function.

The downside of this, is that it may go unnoticed that the cron job has stopped running, but so be it.

GitHub has the annoying habit of disabling workflows with a cron job after two months if the repo doesn't see any activity.

This is regularly the case for this repo and this creates the following problem:
* If the same workflow is used for both the cron job as well as the push/pull_request CI checks...
* ... and a repo doesn't have any activity in two months time...
* ... the workflow gets disabled...
* ... which then also means that CI checks will no longer be run for new PRs....
* ... which means new PRs can't be merged as (in most cases) the repo has branch protection in place and requires that the CI checks pass before a PR can be merged.

This commit basically changes the original workflow to a reusable workflow and then creates two new workflows, with different `on` targets, which each trigger the reusable workflow.
* One workflow will be triggered via `cron`.
* One workflow will have all the other triggers (`push`/`pull_request`/`workflow_dispatch`).

This way, if the cron job workflow gets disabled, the workflow which is used for the other triggers will continue to function.

The downside of this, is that it may go unnoticed that the cron job has stopped running, but so be it.
@jrfnl jrfnl added this to the 2.0.0-alpha2 milestone Nov 14, 2025
@jrfnl jrfnl merged commit 5d01861 into master Nov 14, 2025
5 checks passed
@jrfnl jrfnl deleted the feature/ghactions-split-workflow branch November 14, 2025 04:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants