All technologies

GitHub Actions

23 painsavg 6.5/10
dx 4security 3config 3performance 3debug 2other 2dependency 1deploy 1docs 1architecture 1onboarding 1ecosystem 1

GitHub Actions lacks lockfile dependency management

9

GitHub Actions has no lockfile system to pin exact versions of third-party actions. Every workflow run re-resolves dependencies from the manifest without recording what was actually chosen, creating non-deterministic builds and enabling supply chain attacks. This is a fundamental gap compared to mature package managers.

dependencyGitHub Actions

GitHub Actions log viewer crashes on large logs

8

The GitHub Actions log viewer is unreliable and crashes browsers when viewing long build logs or searching through them. Developers report that Chrome crashes repeatedly when trying to debug failed builds, making it the only major CI system with this critical usability issue.

debugGitHub Actions

GitHub Actions UX limitations break production deployments with breaking changes

8

GitHub applies breaking changes to Actions with insufficient notice (e.g., self-hosted runner version rejections). When production deployments depend on Actions, forced updates can require hours of investigation and testing to fix stable workflows, with no option to skip upgrades.

dxGitHub Actions

Over-privileged GitHub Actions workflows

8

99.8% of GitHub Actions workflows are over-privileged, meaning repositories grant excessive permissions that increase vulnerability to attacks. Secrets are scoped at repository or organization level, flowing broadly by default in reusable workflows without fine-grained controls to bind credentials to specific execution contexts.

securityGitHub Actions

Required checks cannot dynamically match triggered workflows in monorepos

8

GitHub Actions requires explicitly naming required status checks, but in monorepos with dynamic pipelines, only relevant checks should be mandatory. If a PR only touches `api1` but `web-app1` checks aren't triggered, the PR cannot merge even though all relevant checks passed. This forces developers to run unnecessary pipelines just to satisfy merge requirements.

configGitHub Actions

GitHub Actions ecosystem has security vulnerability issues in Marketplace

8

Security Vulnerability is the most prevalent issue reported in the GitHub Actions ecosystem according to empirical analysis of GitHub Discussions and Stack Overflow. The Marketplace contains actions of varying quality and security posture, posing risks to users who rely on community-maintained code.

securityGitHub ActionsGitHub Actions Marketplace

Self-hosted GitHub Actions runners lack parity with public runners

7

GitHub does not release Docker containers matching the public runner images. Self-hosted runners have poor support for rootless Docker-in-Docker and other standard configurations. GitHub expects users to do 90% of the work to maintain self-hosted infrastructure, yet charges for the service.

configGitHub ActionsDocker

GitHub Actions security model is obscure with many pitfalls and exceptions

7

The security architecture contains too many edge cases and inconsistencies (e.g., not recommending self-hosted runners in public repos). This expanded attack surface makes it easy to introduce vulnerabilities inadvertently while setting up workflows.

securityGitHub Actions

GitHub Actions complexity leads to unmaintainable CI/CD spaghetti code

7

GitHub Actions encourages poor practices because common tasks (e.g., sending Slack messages) have convoluted official solutions. Developers end up hand-rolling scripts, creating an undocumented black box system that becomes unmaintainable at scale without external tooling like NX.

dxGitHub Actions

GitHub Actions control plane reliability and infrastructure issues

7

GitHub Actions suffers from recurring control plane problems including broker/backend message relay failures, hung logs, unexplained outages, and unsafe default behaviors (e.g., safe_sleep). These are long-standing issues that undermine trust in CI/CD reliability.

deployGitHub Actions

GitHub Actions pricing changes break enterprise budgets with short notice

7

GitHub suddenly introduced additional per-minute charges for GitHub Actions minutes in December, breaking established budgets across enterprise teams. No per-second billing option exists, and the announcement left no time for departments to adjust fiscal budgets, creating surprise costs mid-fiscal-year.

otherGitHub Actions

Slow debugging workflow and high friction in GitHub Actions UI

7

Debugging failed builds in GitHub Actions requires multiple page loads and clicks, each with significant loading spinners. Navigation is unreliable—the back button behaves unpredictably, forcing developers to memorize URLs or search browser history. The entire debugging experience is described as navigating bureaucratic forms.

debugGitHub Actions

Difficult troubleshooting with no comprehensive debugging guide

6

Debugging issues in GitHub Actions is time-consuming because there is no single comprehensive troubleshooting guide. Developers face delays when errors occur, and the slow feedback loop compounds the difficulty. Documentation is insufficient for complex scenarios.

docsGitHub Actions

GitHub Actions architectural flaws spread to alternative platforms

6

Forgejo and Codeberg maintain GitHub Actions compatibility for user migration, but this locks them into reproducing the same broken architecture (missing lockfiles, no registry, poor security model). The fundamental design flaws are baked into the compatibility layer and cannot be fixed without breaking compatibility.

architectureGitHub ActionsForgejo

GitHub Actions cache limit causes repeated dependency downloads in monorepos

6

The previous 10GB cache limit forced teams with large dependencies or multi-language monorepos to have build dependencies evicted before the next workflow run, requiring repeated downloads and slowing builds. While recently increased, this was a long-standing pain point.

performanceGitHub Actions

Stateless GitHub Actions prevent efficient caching and computation reuse

6

GitHub Actions are stateless, making it difficult to reuse computation within VMs without relying on external tools like Make or Just. Even with caching layers, developers cannot reliably persist state between runs, forcing redundant rebuilds and slowing feedback loops.

performanceGitHub ActionsMakeJust

Workflow maintainability degrades with complex conditional logic and file proliferation

6

As pipelines grow, developers must add numerous `if` statements to handle different triggers (push, manual, etc.). Reusing workflows requires boilerplate duplication and managing 30+ YAML files. This creates maintenance burden and makes it difficult to refactor without breaking `needs` clauses.

configGitHub Actions

GitHub Actions lacks early validation of workflow syntax and job dependencies

5

Workflow syntax errors and broken `needs` clauses are only discovered after pushing code. Linters exist but are imperfect. Developers cannot validate workflows locally before commit, forcing a push-and-wait debugging cycle.

dxGitHub Actions

GitHub Actions steep learning curve and complexity for new users

5

GitHub Actions feels overwhelming for new users due to the range of features, options, and complexity of setting up workflows. The platform's learning curve is especially steep for those new to version control or CI/CD concepts.

onboardingGitHub Actions

Free GitHub Actions hosted runners are significantly slower than local infrastructure

5

Free GitHub-hosted runners perform 4-5x slower than comparable local hardware (e.g., i7-13700H mini-PC). This forces teams running Jenkins locally to accept longer build times (30 min to 40 min) even after parallelization, impacting developer velocity.

performanceGitHub Actions

Difficult workflow re-run and testing experience

5

GitHub Actions provides no simple way to re-run workflows against the tip of a branch, making it difficult to handle transient failures and test workflow changes. Developers must work around this limitation by adding additional triggers, which is unintuitive and slows development velocity.

dxGitHub Actions

Environmental impact from GitHub Actions CI/CD

4

GitHub Actions workflows generated between 150.5 and 994.9 million tons of CO₂ equivalent in 2024, creating a significant environmental concern for companies mindful of their carbon footprint.

otherGitHub Actions

Difficulty using GitHub Actions Marketplace to find and evaluate actions

4

Users struggle to find suitable actions in the GitHub Actions Marketplace and evaluate their quality. A survey revealed that 7 out of 25 participants found it difficult to navigate and select appropriate actions, leading some teams to maintain their own local actions instead.

ecosystemGitHub ActionsGitHub Actions Marketplace