feat(selkies-base): consume streamspace-dev/selkies fork; enable arm64#37
Open
JoshuaAFerguson wants to merge 1 commit into
Open
feat(selkies-base): consume streamspace-dev/selkies fork; enable arm64#37JoshuaAFerguson wants to merge 1 commit into
JoshuaAFerguson wants to merge 1 commit into
Conversation
Switch the GStreamer / gst-web / js-interposer artifacts to the streamspace-dev/selkies fork release at v1.6.2-streamspace.1, which adds linux/arm64 to the build matrix using GitHub's native arm64 runners. Upstream selkies-project/selkies only ships amd64 (per their META issue #50, blocked on the QEMU-vs-6h-Actions-limit problem the fork side-steps). The Python wheel still pulls from upstream — the fork didn't change any Python source, only the build pipeline. Adds linux/arm64 to images/selkies-base/PLATFORMS so the multi-arch build workflow picks it up. Bumps the image LABEL to 1.6.4. The fork tag is parameterized as SELKIES_FORK_TAG so the image can be rebuilt against future fork releases without further code change.
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.
Summary
images/selkies-baseto consume the GStreamer / gst-web / js-interposer artifacts from the streamspace-dev/selkies fork at tagv1.6.2-streamspace.1, which builds those artifacts for both linux/amd64 and linux/arm64. Upstream selkies-project/selkies only ships amd64 (see their meta issue #50).linux/arm64toimages/selkies-base/PLATFORMSso the build workflow produces multi-arch manifests.SELKIES_FORK_TAG(defaultv1.6.2-streamspace.1) so future fork releases can be consumed without further code changes.1.6.4.The Python wheel (
selkies_gstreamer-1.6.2-py3-none-any.whl) still pulls from upstream — the fork only changed the build pipeline, not the Python source.Why a fork?
Upstream selkies-project/selkies uses QEMU-emulated arm64 builds on
ubuntu-latestrunners. A full GStreamer compile under QEMU emulation routinely exceeds the 6-hour GitHub Actions job limit (per upstream issue #50), so they don't ship arm64. The fork uses GitHub's nativeubuntu-24.04-armrunner image (free for public repos since Jan 2025), which builds arm64 in ~30 minutes natively.Test plan
images/selkies-basesucceeds for bothlinux/amd64andlinux/arm64docker run --rm --shm-size=2g -p 8080:8080 ghcr.io/streamspace-dev/selkies-base:1.6.4opens a desktop athttp://localhost:8080Selkies fork release assets
The new release at https://github.com/streamspace-dev/selkies/releases/tag/v1.6.2-streamspace.1 publishes:
gstreamer-selkies_gpl_v1.6.2-streamspace.1_ubuntu{22,24}.04_{amd64,arm64}.tar.gz(4 artifacts)selkies-gstreamer-web_v1.6.2-streamspace.1.tar.gzselkies-js-interposer_v1.6.2-streamspace.1_ubuntu{20,22,24}.04_{amd64,arm64}.{deb,tar.gz}(12 artifacts)This image consumes the ubuntu24.04 GStreamer + js-interposer entries for both arches and the gst-web tarball.