Repository navigation
Split release preparation from tag-scoped publication - #393
Merged
Merged
Conversation
SendableMetatype
added a commit
to EduGeyser/webrtc-java
that referenced
this pull request
Oct 18, 2026
Ports upstream's split (devopvoid#391 to devopvoid#393) to the Gradle build. Prepare release commits the changelog and the versions, pushes main and the tag in one atomic push, and dispatches Publish release on the tag. Publish release checks that the tag points to the triggering commit, that the commit is on main and that its version matches gradle.properties, then builds and tests every platform, publishes the Maven Central bundle and drafts the GitHub release. A failed publication can be retried on the same tag, without preparing a new version. Every platform job builds the commit that triggered the caller, so the ref input of the platform and test workflows is gone. A dry run builds, tests and bundles with the release version, which -Pversion sets, so the jars and the bundle are named as in a release. Unlike upstream's, a dry run can check a branch other than main.
SendableMetatype
added a commit
to EduGeyser/webrtc-java
that referenced
this pull request
Oct 18, 2026
Brings in the work upstream added from October 15 to 17: temporal layers in the VA-API encoders and VP9 spatial layers in the VA-API decoder (devopvoid#379 to devopvoid#381, devopvoid#383, devopvoid#388); a standalone voice activity detector, and checks against using a disposed one (devopvoid#394); the removal of Logging.logThreads (devopvoid#395); upstream's 0.20.0 release and its release workflow changes (devopvoid#391 to devopvoid#393); and docs (devopvoid#378, devopvoid#382, devopvoid#384 to devopvoid#386, devopvoid#389, devopvoid#390). Fork-side adaptations: - Logging keeps this fork's design, in which thread IDs and timestamps come from system properties read at load time. devopvoid#395's thread IDs that are always on and its runtime Logging.logTimestamps are left out. Its logging test change, which logs at INFO, is taken. - The common WebRTC patches of devopvoid#394 are applied on every platform, as upstream does. The data channels desktop capture patch joins the patch list before it is recorded, so the build record covers it too. - The data channels variant leaves out the standalone voice activity detector, and its test carries the media tag. - The release workflow stays this fork's Gradle one. Upstream's Maven-based split into preparation and tag-scoped publication (release-publish.yml and the publish action) is left out, and so is its release notes link to jrtc.dev, which documents upstream's packages. - The Maven files stay deleted, and the README and the docs' version stay this fork's own.
SendableMetatype
added a commit
to EduGeyser/webrtc-java
that referenced
this pull request
Oct 18, 2026
Ports upstream's split (devopvoid#391 to devopvoid#393) to the Gradle build. Prepare release commits the changelog and the versions, pushes main and the tag in one atomic push, and dispatches Publish release on the tag. Publish release checks that the tag points to the triggering commit, that the commit is on main and that its version matches gradle.properties, then builds and tests every platform, publishes the Maven Central bundle and drafts the GitHub release. A failed publication can be retried on the same tag, without preparing a new version. Every platform job builds the commit that triggered the caller, so the ref input of the platform and test workflows is gone. A dry run builds, tests and bundles with the release version, which -Pversion sets, so the jars and the bundle are named as in a release. Unlike upstream's, a dry run can check a branch other than main.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Platform builds accepted a caller-supplied checkout ref, which CodeQL flags as a cache-poisoning path in alerts #25–#27. Replacing it with github.sha inside the existing release run would build the pre-release commit rather than the tag created during preparation.
Split preparation from publication so the publishing run is triggered on the release tag itself:
Validation: actionlint passed across all workflows; 14 temporary-repository behavioral cases passed, including annotated tags, main advancing after release, branch dispatch rejection, moved or unmerged tags, version mismatch, and preparation input validation. Workflow structure checks verified fixed-SHA checkouts, dependency gates, dispatch permissions, and dry-run isolation. Whitespace checks passed. GitHub Actions and CodeQL results are pending; no release was run.