From c2059c839d516c2ee56570d1d636c97a9c807278 Mon Sep 17 00:00:00 2001 From: Mickael Kerjean Date: Sat, 17 Jun 2023 15:04:03 +1000 Subject: [PATCH] feature (arch): multi arch build --- .github/workflows/ci.yml | 50 ++++++++++++++++++++++++++++++++++------ docker/Dockerfile | 2 +- 2 files changed, 44 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c79cc811..501d529b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -168,13 +168,30 @@ jobs: node servers/webdav.js > /dev/null & npm test - release_docker: + release_docker_amd64: if: github.ref == 'refs/heads/master' needs: [ test_e2e, test_backend, test_frontend ] runs-on: ubuntu-latest steps: - name: Init - uses: actions/checkout@v3 + uses: actions/checkout@v3 + - name: Setup + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Run + run: | + docker build -t machines/filestash:latest-amd64 ./docker/ + docker push machines/filestash:latest-amd64 + + release_docker_arm64: + if: github.ref == 'refs/heads/master' + needs: [ test_e2e, test_backend, test_frontend ] + runs-on: ubuntu-latest + steps: + - name: Init + uses: actions/checkout@v3 - name: Setup uses: docker/login-action@v2 with: @@ -183,13 +200,32 @@ jobs: - name: Set up QEMU uses: docker/setup-qemu-action@v2 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 + uses: docker/setup-buildx-action@v2 - name: Run run: | - export COMMIT_SHA=`git rev-parse --short HEAD` - docker buildx build --platform linux/arm/v7,linux/arm64,linux/amd64 \ - -t machines/filestash:latest -t machines/filestash:$COMMIT_SHA \ - --push ./docker/ + uname -m + uname -a + docker version + # docker build -t machines/filestash:latest-arm64 ./docker/ + # echo "DONE" + + release_docker: + needs: [ release_docker_amd64, release_docker_arm64 ] + runs-on: ubuntu-latest + steps: + - name: Init + uses: actions/checkout@v3 + - name: Setup + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Run + run: | + docker manifest create machines/filestash:latest \ + --amend machines/filestash:latest-amd64 \ + --amend machines/filestash:latest-arm64v8 + docker manifest push machines/filestash:latest deploy: if: github.ref == 'refs/heads/master' diff --git a/docker/Dockerfile b/docker/Dockerfile index b07f2eeb..1c789a36 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -9,7 +9,7 @@ FROM node:18-alpine AS builder_frontend WORKDIR /home/ COPY --from=builder_prepare /home/filestash/ ./ RUN apk add make git && \ - npm install --silent --legacy-peer-deps && \ + npm install --legacy-peer-deps && \ make build_frontend # STEP3: BUILD THE BACKEND