Explorar o código

Companion: build an ARM64 container (#3841)

Stuart Auld %!s(int64=2) %!d(string=hai) anos
pai
achega
2934e31293
Modificáronse 2 ficheiros con 8 adicións e 3 borrados
  1. 5 3
      .github/workflows/companion-deploy.yml
  2. 3 0
      Dockerfile

+ 5 - 3
.github/workflows/companion-deploy.yml

@@ -25,17 +25,19 @@ jobs:
           tag-sha: true
           tag-match: |
             \d{1,3}.\d{1,3}.\d{1,3}
-      - uses: docker/setup-buildx-action@v1
+      - uses: docker/setup-qemu-action@v2
+      - uses: docker/setup-buildx-action@v2
       - name: Log in to DockerHub
-        uses: docker/login-action@v1
+        uses: docker/login-action@v2
         with:
           username: ${{secrets.DOCKER_USERNAME}}
           password: ${{secrets.DOCKER_PASSWORD}}
       - name: Build and push
-        uses: docker/build-push-action@v2
+        uses: docker/build-push-action@v3
         with:
           push: true
           context: .
+          platforms: linux/amd64,linux/arm64
           file: Dockerfile
           tags: ${{ steps.docker_meta.outputs.tags }}
           labels: ${{ steps.docker_meta.outputs.labels }}

+ 3 - 0
Dockerfile

@@ -1,5 +1,8 @@
 FROM node:16.13.0-alpine as build
 
+# Create link to node on amd64 so that corepack can find it
+RUN if [ "$(uname -m)" == "aarch64" ]; then mkdir -p /usr/local/sbin/ && ln -s /usr/local/bin/node /usr/local/sbin/node; fi
+
 WORKDIR /app
 
 COPY package.json .yarnrc.yml /app/