[
https://issues.apache.org/jira/browse/THRIFT-6172?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jens Geyer resolved THRIFT-6172.
--------------------------------
Fix Version/s: 0.25.0
Assignee: Jens Geyer
Resolution: Fixed
> Dart tests are not run by make check, and no CI job builds the binding
> ----------------------------------------------------------------------
>
> Key: THRIFT-6172
> URL: https://issues.apache.org/jira/browse/THRIFT-6172
> Project: Thrift
> Issue Type: New Feature
> Components: Build Process, Dart - 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 Dart binding, and `make check` does not run its
> tests either. The second half is the part that has to be fixed first.
> .github/workflows/build.yml has jobs for php, go, java-kotlin, netstd, haxe,
> rust, python, nodejs, cpp and ruby, but none for Dart, and both build.yml and
> sca.yml pass --without-dart in their shared CONFIG_ARGS_FOR_LIBS.
> Two prerequisites, both concrete and both checkable today:
> 1. `make check` runs no Dart tests. lib/dart/Makefile.am has "check-local:
> all", and "all-local" is "dart pub get". There are eight test files under
> lib/dart/test (transport, protocol, serializer, t_application_error), and
> nothing in the build system ever invokes "dart test" on them. A CI job wired
> to "make -C lib/dart check" today would resolve dependencies and report
> success without executing a single test.
> 2. The Dart SDK pinned in the docker images is older than the library's own
> minimum. build/docker/ubuntu-{focal,jammy,noble}/Dockerfile set
> DART_VERSION=2.7.2-1, while lib/dart/pubspec.yaml requires environment sdk
> ">=2.12.0 <4.0.0". "dart pub get" cannot satisfy that constraint in the
> project's own images. LANGUAGES.md also records the tested Dart language
> levels as 2.0.0 to 2.4.0, which matches the image pin and not the pubspec.
> See THRIFT-5712 (Add Dart 3 compatibility) and THRIFT-5372.
> So this is not the same shape as THRIFT-6170 (D) or the Erlang equivalent,
> where the toolchain is provisioned and the test entry point already works.
> Here the ordering is: raise the SDK pin, make check-local actually run "dart
> test", then add the job. The first two are worth doing on their own merits
> even if the CI job never follows, because until they are done the eight test
> files in the tree are decorative.
> Compare THRIFT-6002 (netstd), THRIFT-6003 (haxe) and THRIFT-6170 (D).
--
This message was sent by Atlassian Jira
(v8.20.10#820010)