A GitHub Action to install OTP and Elixir for CI/CD workflows, enabling testing across multiple versions.
setup-elixir is a GitHub Action that automatically installs and configures OTP (Erlang/OTP) and Elixir environments within GitHub Actions workflows. It solves the problem of setting up consistent Elixir development environments for continuous integration and testing, allowing developers to specify exact or flexible version requirements.
Elixir developers and teams using GitHub Actions for CI/CD who need to test their applications across multiple OTP and Elixir versions in automated workflows.
Developers choose this action because it provides a reliable, officially-supported method to install Elixir tooling in CI environments, with support for complex version specifications and matrix testing strategies that ensure compatibility across different runtime configurations.
Set up your GitHub Actions workflow with OTP and Elixir
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports exact and flexible version specifiers like '22.x' for OTP and Elixir, enabling easy testing across different releases as shown in the matrix examples.
Seamlessly integrates with GitHub Actions matrix strategies for comprehensive compatibility testing, demonstrated in the README with multi-version job configurations.
Includes adapted problem matchers that improve CI log readability by highlighting errors, sourced from vscode-elixir for better diagnostics.
Provides ready-to-use configurations for Phoenix applications, including PostgreSQL service setup and authentication tips for CI environments.
Currently only supports Actions' Ubuntu runtimes, as admitted in the README, which restricts cross-platform CI setups and forces workarounds for other systems.
The repository is unmaintained by GitHub and moved to erlef/setup-elixir, leading to potential confusion, outdated documentation, and delayed updates for users.
OTP release version specification is complex and pre-release versions require full specifiers, adding setup overhead and risk of misconfiguration.