Skip to content

Add CI: OTP/Elixir test matrix#1

Merged
mhsdef merged 3 commits into
mainfrom
ci/test-matrix-and-pin-actions
Jun 29, 2026
Merged

Add CI: OTP/Elixir test matrix#1
mhsdef merged 3 commits into
mainfrom
ci/test-matrix-and-pin-actions

Conversation

@mhsdef

@mhsdef mhsdef commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds two GitHub Actions workflows, with every action pinned to a full commit SHA (with version comment) for supply-chain safety.

ci.yaml — test matrix

  • Tests across OTP 27/28/29 × Elixir 1.18/1.19/1.20, excluding incompatible pairs per Elixir's compatibility table (1.18+28, 1.18+29, 1.19+29) → 6 jobs.
  • fail-fast: false so one combo failing doesn't cancel the rest.
  • Each job runs mix compile, mix format --check-formatted, and mix test, all with --warnings-as-errors.
  • Jobs named Elixir x / OTP y for legible check status.

Effective matrix:

Elixir OTP
1.18 27
1.19 27, 28
1.20 27, 28, 29

osv-scanner.yaml — dependency scanning

  • Runs on PRs, pushes, and weekly schedule; uploads SARIF to the Security tab.

Pinned action versions

Action Version
actions/checkout v7.0.0
erlef/setup-beam v1.24.1
google/osv-scanner-action v2.3.8
github/codeql-action/upload-sarif v4.36.2

Notes

  • actions/checkout is at v7 (latest major); behavior-neutral for a plain checkout on ubuntu-latest.
  • --warnings-as-errors on the newest Elixir (1.20) may surface deprecation warnings older versions don't — that's an intentional signal.

- ci.yaml: test matrix over OTP 27/28/29 × Elixir 1.18/1.19/1.20 with
  incompatible pairs excluded (6 jobs), fail-fast disabled; runs
  compile/format/test with --warnings-as-errors via setup-beam.
- osv-scanner.yaml: scheduled + PR dependency vulnerability scanning,
  uploading SARIF to the Security tab.
- All actions pinned to full commit SHAs with version comments:
  checkout v7.0.0, setup-beam v1.24.1, osv-scanner-action v2.3.8,
  codeql-action upload-sarif v4.36.2.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@mhsdef mhsdef changed the title Add CI: OTP/Elixir test matrix + SHA-pinned actions Add CI: OTP/Elixir test matrix Jun 29, 2026
@mhsdef mhsdef self-assigned this Jun 29, 2026
mix format --check-formatted failed because no .formatter.exs existed —
and .gitignore was actively ignoring it. Track the file with the standard
config/lib/test inputs, stop ignoring it, and apply the formatting it
surfaces in sender_test.exs (multi-line anonymous functions).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@mhsdef mhsdef requested review from ahlatimer and rangen June 29, 2026 23:24
config.exs imports "#{config_env()}.exs" unconditionally, but no dev.exs
existed, so every mix task in the default dev env crashed reading a
missing file. Add a minimal dev config that defaults :send_to_http to
false, so local development uses the no-op adapter instead of hitting
Segment.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@mhsdef mhsdef requested a review from Christopher-Shea June 29, 2026 23:30
@mhsdef mhsdef merged commit eaca6d3 into main Jun 29, 2026
6 checks passed
@mhsdef mhsdef deleted the ci/test-matrix-and-pin-actions branch June 29, 2026 23:43
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.

2 participants