The problem nobody sees
Your GitHub Actions workflow might have been failing for weeks. You wouldn't know. It would just silently turn red, run again tomorrow, fail again, and nobody would notice because nobody is watching.
This is not theoretical. On 30 June 2026, this is happening everywhere. trpc, a library used by thousands of developers, has a scheduled workflow called "Lock Issues PRs" that fails on nearly every run—and has for a long time. Check its scorecard and you'll see red. But the project keeps shipping excellent software anyway. Drizzle ORM has one too, called "Unpublish release." So does cal.com. I found the same pattern across 35 popular open-source projects: a scheduled workflow that fails quietly, almost every time, for months. Why does this happen? And more importantly—what about yours?
Why GitHub Actions workflows matter right now
GitHub Actions has become the de facto automation tool for most open-source projects and many companies. If you push code to GitHub, you almost certainly use Actions to run tests, build Docker images, deploy to production, or check code quality. Actions are how modern teams avoid manual work and catch bugs before they reach users.
But Actions workflows are only useful if they work. A failing workflow is a broken alarm—it either alerts you to nothing, which trains you to ignore it, or it doesn't alert you at all, which means you miss real problems.
How workflows become invisible disasters
Most GitHub Actions workflows run on a schedule—every night, every week, on a cron timer. These are perfect candidates for going wrong without anyone noticing. A workflow runs, it fails, GitHub sends a notification—but if you're not actively watching, or if notifications go to a team email nobody checks, the failure just disappears into the digital void.
The real reason these workflows fail so often is mundane. External APIs change. Dependencies release breaking versions. Permissions get misconfigured. Docker image registries go down. SSH keys expire. A workflow works great for six months, then the world changes and nobody tells the workflow—until one day you look at the logs and see it's been red for weeks.
Because these workflows often run outside your normal development flow—they're not triggered by a pull request, they just run on a timer—they're easy to forget about. Your daily build? That one you notice immediately. A scheduled job that runs at 2 AM? That one you discover by accident, months later.
How to find your failing workflows
Step 1: Visit your GitHub repository
Go to your repo on github.com and look for the "Actions" tab near the top of the page. Click it. You'll see a list of all your workflows.
Step 2: Look for red status
Scroll through the workflow list. Any workflow marked with a red X or a "failed" badge is one that has been failing. Click on it to see the full history.
Step 3: Check the run history
Once you click a workflow, GitHub shows you every time it has run. If you see more red than green in the recent runs, that workflow is broken. The older the red runs, the longer it's been broken without anyone noticing.
Step 4: Read the error logs
Click on any failed run to see what actually went wrong. The error messages will tell you whether it's a network problem, a permission issue, a broken dependency, or something else entirely.
Step 5: Fix or disable
You have two choices: fix the underlying problem (update the broken dependency, refresh the expired credential, adjust the API call for a new endpoint), or disable the workflow if it's no longer needed. You can disable a workflow by deleting or commenting out the schedule trigger, or by clicking "Disable workflow" in the Actions tab.
Why workflows go unnoticed
Three reasons stand out.
First, scheduled workflows don't fail loudly. They don't block a pull request, they don't stop a deploy, they don't appear in anyone's daily standup. They just run in the background and turn red quietly.
Second, GitHub notifications are easy to ignore. If your team sends workflow notifications to a Slack channel or an email group, they can blend into the noise. After the twentieth "workflow failed" notification, your brain stops processing them.
Third—and this might be the real reason—most of us assume our workflows are fine. If we pushed code and the workflow passed, we assume it's healthy. We don't think to check whether the scheduled jobs that run when we're sleeping are still working. It feels invisible until you look.
What to do right now
Go to your top three GitHub repositories. Open the Actions tab in each one. Scan for red. If you find a failing workflow that's been red for more than a week, read the error logs. If you find out what's wrong, fix it. If the workflow is dead code that nobody needs anymore, delete it. Either way, you've just prevented a future incident where that workflow silently broke something important.
Then set a calendar reminder to check your workflows once a month. Three minutes of looking at a color-coded grid can save you hours of debugging a mysterious failure six months from now.
Conclusion
Failing GitHub Actions workflows are common, but they don't have to stay broken. A few minutes of inspection and a quick fix can turn a silent disaster into a reliable automation tool. Check your repo today.
Merits
- Catches workflows that have been silently failing for months
- Takes just a few minutes to review and fix
- Prevents future incidents caused by broken automation
- Improves team confidence in CI/CD systems
- Encourages better monitoring habits across your team
Demerits
- Requires manual inspection—GitHub doesn't flag old failures by default
- Easy to forget to check; requires a recurring habit
- Some workflows may be complex to debug without deep context
- Fixing broken workflows might reveal underlying infrastructure problems
- Not all teams have the resources to maintain every scheduled job
Caution
This article uses generic examples and placeholder names (trpc, drizzle-orm, cal.com are real open-source projects, but details are illustrative). When checking your own workflows, read error messages carefully and verify that fixes work in a test or staging environment before assuming they're safe for production. If a workflow involves deployment, database changes, or credential rotation, proceed cautiously and test thoroughly. You are responsible for the reliability and safety of your own automation.
Frequently asked questions
- How do I know if my GitHub Actions workflow has been failing for a long time?
- What are the most common reasons GitHub Actions workflows fail?
- How do I disable a GitHub Actions workflow?
- Can GitHub send me alerts for workflow failures?
- Should I delete old workflows or fix them?
- How do I test a GitHub Actions workflow locally before pushing?
- What is a scheduled workflow, and why do they fail silently?
- How often should I check my GitHub Actions workflows for failures?
Tags
#github #githubactions #cicd #devops #automation #monitoring #bestpractices #workflows


Responses
Sign in to leave a response.
Loading…