Skip to content

chore: migrate from Drone CI to GitHub Actions#147

Merged
DeepDiver1975 merged 5 commits into
masterfrom
chore/migrate-to-github-actions
Jun 10, 2026
Merged

chore: migrate from Drone CI to GitHub Actions#147
DeepDiver1975 merged 5 commits into
masterfrom
chore/migrate-to-github-actions

Conversation

@DeepDiver1975

Copy link
Copy Markdown
Contributor

Summary

  • Replace .drone.star with a GitHub Actions workflow (.github/workflows/docker.yml) using a 7-version matrix (latest, 24, 22, 20, 18, 16, 14)
  • Each matrix job builds a native multi-arch manifest (linux/amd64 + linux/arm64/v8) via docker/build-push-action with buildx + QEMU — no separate manifest step needed
  • All actions pinned to release commit SHAs (actions/checkout, docker/setup-qemu-action, docker/setup-buildx-action, docker/login-action, docker/build-push-action)
  • Consolidate per-arch Dockerfiles (Dockerfile.amd64 / Dockerfile.arm64v8) into a single Dockerfile.multiarch per version using BuildKit TARGETARCH/TARGETVARIANT to select the correct base image
  • Chrome install is guarded with an x86_64 check (no arm64 .deb available from Google)
  • Arch-specific tags (amd64, 24-amd64, etc.) are dropped — buildx produces the multi-arch manifest directly
  • Slack/RocketChat notification is dropped

Test plan

  • Open this PR → verify the workflow triggers and build steps run without pushing (no Docker Hub login)
  • Add DOCKER_USERNAME and DOCKER_PASSWORD secrets to repo settings before merging
  • Merge to master → verify images are pushed to Docker Hub with correct tags (latest, 24, 22, 20, 18, 16, 14)
  • Confirm each tag on Docker Hub shows both linux/amd64 and linux/arm64/v8 platforms in the manifest

🤖 Generated with Claude Code

DeepDiver1975 and others added 5 commits June 10, 2026 00:09
Replace .drone.star with a GitHub Actions workflow that builds
multi-arch Docker images (linux/amd64 + linux/arm64/v8) using
docker/build-push-action with buildx. All actions are pinned to
their release SHAs.

Consolidate the per-arch Dockerfiles (Dockerfile.amd64 /
Dockerfile.arm64v8) into a single Dockerfile.multiarch per
version, using BuildKit TARGETARCH/TARGETVARIANT to select the
correct base image. Chrome installation is guarded behind an
x86_64 check since no arm64 .deb is available.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com>
TARGETVARIANT is not set by buildx for linux/arm64/v8 on GitHub-hosted
runners, so \${TARGETARCH}\${TARGETVARIANT} expanded to 'arm64' instead
of 'arm64v8', causing the build to fail with 'image not found'.

Replace the single parametric FROM with two named base stages and select
between them using TARGETARCH (which is reliably set to 'amd64' or
'arm64').

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com>
Remove version directories and workflow matrix entries for EOL Node.js
versions 14, 16, and 18.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com>
@DeepDiver1975 DeepDiver1975 merged commit 550c806 into master Jun 10, 2026
5 of 6 checks passed
@DeepDiver1975 DeepDiver1975 deleted the chore/migrate-to-github-actions branch June 10, 2026 10:18
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.

1 participant