Skip to content

[elixir] Basic CI/CD for elixir#497

Open
fresh-borzoni wants to merge 2 commits intoapache:mainfrom
fresh-borzoni:feat/elixir-ci
Open

[elixir] Basic CI/CD for elixir#497
fresh-borzoni wants to merge 2 commits intoapache:mainfrom
fresh-borzoni:feat/elixir-ci

Conversation

@fresh-borzoni
Copy link
Copy Markdown
Contributor

@fresh-borzoni fresh-borzoni commented Apr 17, 2026

closes #459

The Elixir bindings have no CI. So this PR adds a GitHub Actions workflow for bindings/elixir/** that mirrors what Python and C++ already have: compile the NIF via mix compile --warnings-as-errors, run formatting and lint checks (mix format --check-formatted, mix credo), run unit tests via mix test, and run integration tests against a real Fluss cluster started through the shared fluss-test-cluster CLI binary. Path-ignore rules on the existing Rust/C++/Python workflows should be updated so Elixir-only changes don't trigger them.

Scope of this issue is the test pipeline only. Release-side concerns - precompiled NIF artifacts for linux/macOS and publishing to Hex are tracked separately in the follow-up release-pipeline issue.

Assumptions and limitations:

  • Linux-only (ubuntu-latest runner)
  • single OTP/Elixir version pair matching latest stable
  • serial integration tests against one cluster
  • erlef/setup-beam is not on the ASF action allowlist, so OTP is installed directly and we need to revisit once INFRA allowlists the action.

@fresh-borzoni
Copy link
Copy Markdown
Contributor Author

fresh-borzoni commented Apr 17, 2026

@luoyuxia @leekeiabstraction PTAL 🙏

filled jira for infra: https://issues.apache.org/jira/browse/INFRA-27826 and once it's resolved, follow up with standard action.

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.

[elixir] CI/CD pipeline

1 participant