Skip to content

Update and harden GitHub Actions workflows - #247

Merged
RoadRunnr merged 3 commits into
masterfrom
update/pin-github-actions
Apr 1, 2026
Merged

Update and harden GitHub Actions workflows#247
RoadRunnr merged 3 commits into
masterfrom
update/pin-github-actions

Conversation

@RoadRunnr

@RoadRunnr RoadRunnr commented Apr 1, 2026

Copy link
Copy Markdown
Member

Summary

Modernise all GitHub Actions workflow files: pin actions to commit SHAs for supply-chain security, update runner images, and expand the OTP test matrix.

Changes

Actions — version updates + SHA pinning

File Action Old New Commit SHA
main.yml, hex.yaml actions/checkout v3 v6.0.2 de0fac2e4500dabe0009e67214ff5f5447ce83dd
main.yml 8398a7/action-slack v3 v3.19.0 77eaa4f1c608a7d68b38af4e3f739dcd8cba273e

All uses: references are now pinned to their exact commit SHA with the version tag as a comment. This prevents a compromised or force-pushed tag from silently swapping the action code.

Runner images

File Job Old New
main.yml slack ubuntu-20.04 (EOL) ubuntu-latest
hex.yaml publish ubuntu-20.04 (EOL) ubuntu-latest

Erlang/OTP container versions

File Old New Notes
main.yml matrix [22, 23, 24, 25] [22, 23, 24, 25, 26, 27, 28] Added OTP 26–28; OTP 29 is still RC
hex.yaml container erlang:23.2.5.0-alpine erlang:27-alpine Updated to latest proven-stable series

Current latest patch per major (as of 2026-04):
22.3.4.27 · 23.3.4.20 · 24.3.4.16 · 25.3.2.11 · 26.2.5 · 27.3.4 · 28.4.1

OTP 27 is used for the hex publish workflow as the latest well-established series. OTP 28 can be promoted once it has broader ecosystem adoption.

Test plan

  • CI workflow triggers on push and all 7 OTP matrix jobs pass
  • Hex publish workflow triggers on a tag push and completes successfully
  • Slack notification is delivered after CI completes

🤖 Generated with Claude Code

RoadRunnr and others added 3 commits April 1, 2026 08:50
Update actions/checkout v3 → v6.0.2 and 8398a7/action-slack v3 → v3.19.0,
pinning both to their exact commit SHAs to prevent supply chain attacks.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
ubuntu-20.04 is EOL; switch slack and hex publish jobs to ubuntu-latest
(currently ubuntu-24.04) to stay on a supported runner.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- CI matrix: add OTP 26, 27, 28 (latest stable; OTP 29 is still RC)
- hex publish: update pinned image from erlang:23.2.5.0-alpine to erlang:27-alpine

Current latest patch per major (as of 2026-04):
  22 → 22.3.4.27, 23 → 23.3.4.20, 24 → 24.3.4.16
  25 → 25.3.2.11, 26 → 26.2.5, 27 → 27.3.4, 28 → 28.4.1

OTP 27 is used for hex publish as the latest proven-stable series;
OTP 28 can be promoted once the ecosystem has wider adoption.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@RoadRunnr RoadRunnr changed the title Pin GitHub Actions to commit SHAs (security hardening) Update and harden GitHub Actions workflows Apr 1, 2026
@RoadRunnr
RoadRunnr marked this pull request as ready for review April 1, 2026 07:01
@RoadRunnr
RoadRunnr requested a review from a team as a code owner April 1, 2026 07:01
@RoadRunnr
RoadRunnr requested a review from 0xAX April 1, 2026 07:02
@RoadRunnr
RoadRunnr merged commit 343daab into master Apr 1, 2026
8 checks passed
@RoadRunnr
RoadRunnr deleted the update/pin-github-actions branch April 1, 2026 09:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants