Post

Pin GitHub Actions versions for stability.

Pin GitHub Actions versions for stability.

Change Summary

This git diff outlines changes to the GitHub Actions workflows for deploying and planning infrastructure changes. Specifically, it updates the versions of several GitHub Actions used in the workflows.

Technical Details

  • Workflows Affected: .github/workflows/deploy.yml and .github/workflows/plan.yml
  • Changes Made:
    • Updated actions/checkout from v4 to commit 34e1148.
    • Updated gruntwork-io/terragrunt-action from v3 to commit 95fc057.
    • Updated aws-actions/configure-aws-credentials from v5.1.1 to commit 61815dc.
    • Updated tailscale/github-action from v4 to commit 53acf82.

Key Learnings & Insights

  • Version Pinning: The changes demonstrate the practice of pinning GitHub Actions to specific commits instead of tags. This approach provides more control over the Actions used, ensuring that the workflows are not unexpectedly broken by future updates to the Action versions.
  • Consistency: By updating the same Actions across multiple workflows (deploy.yml and plan.yml), the changes ensure consistency in the deployment and planning processes.
  • Dependency Management: The updates highlight the importance of regularly reviewing and updating dependencies to benefit from the latest features and security patches while maintaining control over the deployment environment.

Impact Assessment

  • Performance: There should be no noticeable performance impact from these changes, as they primarily affect the versioning of external Actions.
  • Security: Pinning to specific commits can enhance security by preventing the introduction of potentially vulnerable versions of Actions.
  • Maintainability: While pinning to commits offers more control, it also requires more diligent maintenance to ensure that the pinned versions are kept up-to-date with security patches and features.

Developer Notes

  • Gotchas: Be mindful that pinning to specific commits means manual updates will be required to benefit from future improvements or security patches in the Actions.
  • Future Improvements: Consider implementing a process to regularly review and update the pinned commits to balance stability with the benefits of newer versions.
  • Context for Future Developers: These changes were made to enhance control over the Actions used in our CI/CD pipelines, ensuring stability and security in our deployment and planning workflows.
This post is licensed under CC BY 4.0 by the author.