Skip to main content

Posts

Showing posts with the label GitHub Actions

Automating Chrome Lighthouse CI Audits in GitHub Actions for Core Web Vitals

  A silent frontend performance regression is one of the most difficult issues to debug in production. A developer ships a new interactive component or a heavy third-party tracking script, unit tests pass, and the pull request is merged. Days later, search rankings drop because production users are experiencing spikes in Cumulative Layout Shift (CLS) or Largest Contentful Paint (LCP). By the time monitoring tools flag the degradation, the damage to search engine visibility and user experience is already done. To prevent this, teams must automate Core Web Vitals testing directly within the pull request workflow. This guide details how to integrate Lighthouse CI GitHub Actions into an enterprise CI/CD pipeline to strictly enforce performance budgets and block regressions before they are merged. The Root Cause of Uncaught Performance Regressions Frontend performance regressions typically slip into production due to a mismatch between local development environments and real-world execu...

Troubleshooting 'OIDC Token Validation Failed' in GitHub Actions

  Few things halt a deployment pipeline faster than an opaque IAM error. If you are migrating from long-lived Service Account JSON keys to Keyless Authentication (Workload Identity Federation) on Google Cloud, you have likely encountered the infamous   OpenID Connect token validation failed   or   Issuer URI mismatch   error. These errors are notoriously difficult to debug because they occur at the intersection of two massive systems: GitHub's OIDC Provider and Google Cloud's Security Token Service (STS). The error messages often obscure the actual root cause: a mismatch between the claims in the JWT (JSON Web Token) generated by GitHub and the attribute mappings configured in your cloud provider. This guide details the root cause of OIDC validation failures, provides a method to inspect the raw token on the fly, and offers the Terraform and CLI configurations to resolve the issue permanently. The Anatomy of a Federation Failure To fix the error, you must unders...