Skip to content

Commit 550c806

Browse files
chore: migrate from Drone CI to GitHub Actions (#147)
* chore: migrate from Drone CI to GitHub Actions 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> * fix: use multi-stage FROM to select base image per arch 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> * chore: drop Node.js v14, v16, v18 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> * chore: use DOCKERHUB_USERNAME var and DOCKERHUB_TOKEN secret Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com> * chore: drop latest version Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com> --------- Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 715c56c commit 550c806

23 files changed

Lines changed: 80 additions & 446 deletions

.github/workflows/docker.yml

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
name: Docker
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
tags:
8+
- "**"
9+
pull_request:
10+
branches:
11+
- master
12+
13+
jobs:
14+
build:
15+
runs-on: ubuntu-latest
16+
strategy:
17+
fail-fast: false
18+
matrix:
19+
version:
20+
- "24"
21+
- "22"
22+
- "20"
23+
steps:
24+
- name: Checkout
25+
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
26+
27+
- name: Set up QEMU
28+
uses: docker/setup-qemu-action@06116385d9baf250c9f4dcb4858b16962ea869c3 # v4.1.0
29+
30+
- name: Set up Docker Buildx
31+
uses: docker/setup-buildx-action@d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5 # v4.1.0
32+
33+
- name: Login to Docker Hub
34+
if: github.event_name != 'pull_request'
35+
uses: docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee # v4.2.0
36+
with:
37+
username: ${{ vars.DOCKERHUB_USERNAME }}
38+
password: ${{ secrets.DOCKERHUB_TOKEN }}
39+
40+
- name: Compute build context and tag
41+
id: meta
42+
run: |
43+
echo "context=v${{ matrix.version }}" >> "$GITHUB_OUTPUT"
44+
echo "tag=owncloudci/nodejs:${{ matrix.version }}" >> "$GITHUB_OUTPUT"
45+
46+
- name: Build and push
47+
uses: docker/build-push-action@f9f3042f7e2789586610d6e8b85c8f03e5195baf # v7.2.0
48+
with:
49+
context: ${{ steps.meta.outputs.context }}
50+
file: ${{ steps.meta.outputs.context }}/Dockerfile.multiarch
51+
platforms: linux/amd64,linux/arm64/v8
52+
push: ${{ github.event_name != 'pull_request' }}
53+
tags: ${{ steps.meta.outputs.tag }}

latest/Dockerfile.amd64

Lines changed: 0 additions & 37 deletions
This file was deleted.

latest/Dockerfile.arm64v8

Lines changed: 0 additions & 35 deletions
This file was deleted.

latest/manifest.tmpl

Lines changed: 0 additions & 11 deletions
This file was deleted.

latest/rootfs/.keep

Whitespace-only changes.

v14/Dockerfile.amd64

Lines changed: 0 additions & 37 deletions
This file was deleted.

v14/Dockerfile.arm64v8

Lines changed: 0 additions & 35 deletions
This file was deleted.

v14/manifest.tmpl

Lines changed: 0 additions & 11 deletions
This file was deleted.

v14/rootfs/.keep

Whitespace-only changes.

v16/Dockerfile.amd64

Lines changed: 0 additions & 37 deletions
This file was deleted.

0 commit comments

Comments
 (0)