Add CI for supported and latest stable Elixir/Erlang - #28
Open
jeregrine wants to merge 1 commit into
Open
Conversation
This was referenced Sep 9, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Durable Server has no build/test CI, so pull requests are not checked for compatibility with supported or current Elixir/Erlang releases, formatting drift, or compiler warnings.
Fix
Add GitHub Actions CI for pull requests, pushes to main, manual runs, and a weekly schedule. The matrix covers the Elixir 1.19 series on OTP 26 and the latest stable Elixir 1.x / OTP pair. Version ranges pick up stable releases automatically without opting into release candidates.
Both jobs compile and run the default suite with warnings as errors, using a health-checked LocalStack service with S3 and IAM enabled. Formatting is checked on the latest stable pair. Dependency/build caches are separated by resolved runtime versions and the lockfile.
Use the current checkout, setup-beam, and cache releases pinned to commit SHAs, with weekly Dependabot updates for GitHub Actions. Jobs have read-only repository permissions, a timeout, and cancellation of superseded runs.
Supporting information
The existing integration and stress exclusions remain in place; no real cloud credentials are needed. LocalStack is pinned to 4.14.0 rather than a moving image tag. Warnings-as-errors applies to project compilation and test files; Mix does not promote dependency compilation warnings to errors.