[
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)