You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@thrift.apache.org by "Jens Geyer (Jira)" <ji...@apache.org> on 2026/09/03 20:38:00 UTC

[jira] [Resolved] (THRIFT-6171) Add a GitHub Actions CI job for the Erlang library

     [ https://issues.apache.org/jira/browse/THRIFT-6171?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jens Geyer resolved THRIFT-6171.
--------------------------------
    Fix Version/s: 0.25.0
         Assignee: Jens Geyer
       Resolution: Fixed

> Add a GitHub Actions CI job for the Erlang library
> --------------------------------------------------
>
>                 Key: THRIFT-6171
>                 URL: https://issues.apache.org/jira/browse/THRIFT-6171
>             Project: Thrift
>          Issue Type: New Feature
>          Components: Build Process, Erlang - Library
>            Reporter: Jens Geyer
>            Assignee: Jens Geyer
>            Priority: Major
>             Fix For: 0.25.0
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> No CI job builds or tests the Erlang binding.
> .github/workflows/build.yml has jobs for php, go, java-kotlin, netstd, haxe, rust, python, nodejs, cpp and ruby, but none for Erlang, and both build.yml and sca.yml pass --without-erlang in their shared CONFIG_ARGS_FOR_LIBS. The docker.yml workflow only builds and validates the official images; it runs no language test suite. So a change to lib/erl gets no automated coverage at all.
> lib/erl ships enabled by default in the release tarball (lib/Makefile.am, configure.ac), so this is code that reaches users with no regression coverage behind it. THRIFT-6163 and THRIFT-6164 both had to be verified by running rebar3 eunit by hand.
> Most of what a job needs already exists:
> * build/docker/ubuntu-{focal,jammy,noble}/Dockerfile already install Erlang/OTP (ERLANG_OTP_VERSION 25.3.2.9) and rebar3 (ERLANG_REBAR_VERSION 3.18.0), so the toolchain is provisioned and pinned.
> * lib/erl/Makefile.am already has "check: .generated" followed by "$(REBAR) eunit", so the entry point exists and works. It ran 327 eunit tests with 0 failures when THRIFT-6163 was verified, and THRIFT-6164 has added more since.
> * configure.ac already gates the binding behind --with-erlang and locates erl/erlc.
> So the work is roughly: a lib-erl job that installs Erlang/OTP and rebar3 the way the docker images do, runs ./bootstrap.sh, configures with --with-erlang and the other bindings off, and runs make -C lib/erl check. Whether to also run the Erlang cross tests can be decided when it is written.
> Worth settling at the same time: LANGUAGES.md declares the tested OTP ceiling as 22.0, while the docker images provision 25.3.2.9. Whichever a CI job pins should be what that table says.
> Compare THRIFT-6002 (netstd), THRIFT-6003 (haxe) and THRIFT-6170 (D), which are the same gap in other bindings.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)