From a61f103abdee352589758bfc34d8554538ff447a Mon Sep 17 00:00:00 2001 From: Jonas Gloning <34194370+jonasgloning@users.noreply.github.com> Date: Mon, 1 Apr 2024 19:55:23 +0200 Subject: [PATCH 1/4] feat: build Docker image for `arm64` --- .releaserc.json | 1 + 1 file changed, 1 insertion(+) diff --git a/.releaserc.json b/.releaserc.json index 15cd27911..11e7e578b 100644 --- a/.releaserc.json +++ b/.releaserc.json @@ -23,6 +23,7 @@ "{{version}}" ], "dockerImage": "peerjs-server", + "dockerPlatform": ["linux/amd64", "linux/arm64"], "dockerFile": "Dockerfile", "dockerProject": "peerjs" } From 41e48594f06fec0caa0b2c4e4418310dccefe288 Mon Sep 17 00:00:00 2001 From: Jonas Gloning <34194370+jonasgloning@users.noreply.github.com> Date: Mon, 1 Apr 2024 21:43:07 +0200 Subject: [PATCH 2/4] upgrade `@codedependant/semantic-release-docker` to version 5 This release includes support multi-platform builds --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index e54351eb7..c851caf4e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,7 +21,7 @@ "peerjs": "dist/bin/peerjs.js" }, "devDependencies": { - "@codedependant/semantic-release-docker": "^4.3.0", + "@codedependant/semantic-release-docker": "^5.0.3", "@parcel/core": "~2.12.0", "@parcel/packager-ts": "~2.12.0", "@parcel/transformer-typescript-types": "~2.12.0", @@ -656,9 +656,9 @@ "dev": true }, "node_modules/@codedependant/semantic-release-docker": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/@codedependant/semantic-release-docker/-/semantic-release-docker-4.5.1.tgz", - "integrity": "sha512-EfjnReyB80P+rSdxB0eHw+k8rvro6cNiE3rDV/NoY9IODVfdjxir+eiETaWwSDALCx3QOu3QdhlcAIuivYCzlA==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/@codedependant/semantic-release-docker/-/semantic-release-docker-5.0.3.tgz", + "integrity": "sha512-tm0uMS+HalwyCzNzFQppFxGDmAN+VG6C6e/hphjn426ba6HBB/hzFV8TuSyOMoXcv5mperpDuk9FXGByhPm44w==", "dev": true, "dependencies": { "@semantic-release/error": "^3.0.0", diff --git a/package.json b/package.json index 987c7112b..8cc229f83 100644 --- a/package.json +++ b/package.json @@ -82,7 +82,7 @@ "yargs": "^17.6.2" }, "devDependencies": { - "@codedependant/semantic-release-docker": "^4.3.0", + "@codedependant/semantic-release-docker": "^5.0.3", "@parcel/core": "~2.12.0", "@parcel/packager-ts": "~2.12.0", "@parcel/transformer-typescript-types": "~2.12.0", From 025c8ad86d769ee6bf8cff5382067a46e064a597 Mon Sep 17 00:00:00 2001 From: Jonas Gloning <34194370+jonasgloning@users.noreply.github.com> Date: Sat, 27 Apr 2024 18:56:42 +0200 Subject: [PATCH 3/4] Add Build builder to release flow --- .github/workflows/release.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index fd7c2d524..74f65af32 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -13,6 +13,8 @@ jobs: uses: actions/checkout@v4 with: fetch-depth: 0 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 - name: Setup Node.js uses: actions/setup-node@v4 with: From 712212c16225b9703f203d6c0c2f54f3c2764c8b Mon Sep 17 00:00:00 2001 From: Jonas Gloning <34194370+jonasgloning@users.noreply.github.com> Date: Sat, 4 May 2024 20:11:02 +0200 Subject: [PATCH 4/4] Cross compile Docker image --- Dockerfile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index b3fd03037..ec4c0679c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,6 @@ -FROM docker.io/library/node:18.20.0 as build +FROM --platform=$BUILDPLATFORM docker.io/library/node:18.20.0 as build +ARG TARGETPLATFORM +ARG BUILDPLATFORM RUN mkdir /peer-server WORKDIR /peer-server COPY package.json package-lock.json ./