All technologies

GitHub Actions

31 painsavg 6.6/10
deploy 5config 4dx 4security 3performance 3architecture 2debug 2migration 2other 2dependency 1docs 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 poor support for specialized workloads (AI/ML, testing, data pipelines)

8

GitHub Actions operates as a general-purpose platform lacking optimizations for domain-specific tasks. AI workflows need GPUs and long-running checkpointed jobs; testing needs centralized reporting and test-specific diagnostics; data pipelines require specialized optimization—all missing from the generalist platform.

architectureGitHub ActionsAI agentsmachine learning

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 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

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

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

CI/CD pipeline configuration changes lack versioning and visibility

7

Pipeline files (GitHub Actions, GitLab CI, etc.) change without version control, making it impossible to track or debug regressions. Pipeline logic is not treated as critical code, causing unpredictable behavior and deployment failures.

configGitHub ActionsGitLab CI

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

Deployment & CI/CD Pipeline Complexity

7

Modern deployment has evolved from simple 'push to main' workflows into complex orchestration involving Docker, Kubernetes, GitHub Actions, preview environments, and rollback strategies. Developers must manage multiple moving parts, making deployment an engineering discipline itself.

deployDockerKubernetesGitHub 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

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 queue delays and concurrency bottlenecks

7

Teams experience significant delays in build start times during peak hours, with queue times blocking development velocity. Concurrency limits prevent larger organizations from running multiple projects efficiently, creating major productivity losses.

deployGitHub Actions

CI/CD Tool Migration Takes Months or Years

7

Companies struggle with prolonged CI/CD tool migrations, often running legacy pipelines (Jenkins, Azure DevOps) alongside new ones (GitHub Actions, GitLab CI) for extended periods. The time investment required to set up and migrate pipelines is so significant that some organizations abandon migration plans entirely.

migrationJenkinsAzure DevOpsGitHub Actions+2

Excessive setup complexity for simple deployments

7

Deploying a basic webapp to AWS requires navigating IAM Identity Center, SSO, permission sets, IAM roles, GitHub Actions/CodeBuild integration, OIDC setup, and service selection (Amplify vs CodeCatalyst vs others) before any code runs. Without pre-existing CI/CD infrastructure, the process is prohibitively complex compared to platforms like Vercel.

deployAWSIAM Identity CenterGitHub Actions+1

CI/CD pipeline complexity with build and permission failures

7

Implementing solid CI/CD pipelines in Azure DevOps or GitHub Actions is complicated, with frequent failures due to build agent issues, variable management problems, and incorrect pipeline permissions.

deployAzure DevOpsGitHub 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

Vendor lock-in through deeply integrated GitHub-specific features

7

The tight integration of GitHub-specific features, particularly GitHub Actions, creates dependencies that make migration to alternative platforms challenging and costly.

migrationGitHubGitHub 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 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 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

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 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

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

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

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

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

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