Skip to content

Build with the logging-parent reusable workflows - #470

Merged
ppkarwasz merged 7 commits into
trunkfrom
feat/add-build-reusable-workflows
Jul 31, 2026
Merged

Build with the logging-parent reusable workflows#470
ppkarwasz merged 7 commits into
trunkfrom
feat/add-build-reusable-workflows

Conversation

@ppkarwasz

Copy link
Copy Markdown
Member

Replaces the hand-rolled build.yml with build.yaml, delegating to the logging-parent reusable workflows the way logging-log4j2 does.

What changes

  • build now calls build-reusable.yaml, replacing the local checkout / setup-java / mvnw verify steps.
  • New deploy-snapshot (on trunk) and deploy-release (on release/*) jobs.
  • New verify-reproducibility-snapshot and verify-reproducibility-release jobs.

Notes for reviewers

  • The build now runs on three operating systems. build-reusable.yaml hardcodes [macos-latest, ubuntu-latest, windows-latest] and exposes no input to narrow it, whereas the old workflow was Ubuntu-only. The comment blaming protobuf 2.x for the disabled macOS build was stale: Flume is on protobuf 4.35.0, which ships an osx-aarch_64 protoc. Windows is untested, and several modules depend on Hadoop, which commonly wants winutils.exe and HADOOP_HOME.

Flume no longer maintains its own checkout, JDK and Maven steps, and gains
snapshot/release deployment and reproducibility verification in exchange.

Assisted-By: Claude Fable 5 <noreply@anthropic.com>
@rgoers
rgoers self-requested a review July 28, 2026 21:53
ppkarwasz added a commit that referenced this pull request Jul 29, 2026
Removes the `build (ubuntu-latest)` required check temporarily.

#470 replaces the single build with a matrix, therefore we need to:

1. Remove `build (ubuntu-latest)` from the required checks,
2. Merge #470,
3. Add `build / build (ubuntu-latest)` to the required checks.
TaildirSource tracks files by inode, so its tests cannot pass when the
default file system lacks a `unix` attribute view (e.g. on Windows).
Document that requirement in the user guide.

Assisted-By: Claude Fable 5 <noreply@anthropic.com>
@ppkarwasz

Copy link
Copy Markdown
Member Author

The last commit disables tests that depend on a UNIX file system: TaildirSource tracks files by inode (unix:ino), so TestTaildirSource and TestTaildirEventReader are now skipped when the default file system does not provide a unix attribute view (notably on Windows). The Taildir section of the user guide now documents this requirement.

The test read from the channel immediately after closing the client
socket, but the source delivers events asynchronously, so the take
could return null on slow machines (first seen on Windows CI).

Wait for the source counter with Awaitility and close the TLS socket
gracefully, flushing before close.

Assisted-By: Claude Fable 5 <noreply@anthropic.com>
The Windows CI logs show the TLS handshake succeeding and the
connection aborting one millisecond later: the client never reads the
TLS 1.3 session tickets sent by the server, so close() aborts the
connection with a TCP RST, which on Windows discards the syslog record
before the server reads it.

Assisted-By: Claude Fable 5 <noreply@anthropic.com>
@ppkarwasz
ppkarwasz merged commit 7e82cd2 into trunk Jul 31, 2026
10 checks passed
@ppkarwasz
ppkarwasz deleted the feat/add-build-reusable-workflows branch July 31, 2026 20:31
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.

2 participants