diff --git a/.github/workflows/build_base_alpine_dev.yaml b/.github/workflows/build_base_alpine_dev.yaml index 47a05b14..56836e10 100644 --- a/.github/workflows/build_base_alpine_dev.yaml +++ b/.github/workflows/build_base_alpine_dev.yaml @@ -75,7 +75,7 @@ jobs: build-args: | BUILD_IMAGE=${{ env.OS_NAME }}:${{ env.OS_VERSION }} GOLANG_IMAGE=${{ env.GOLANG_IMAGE }} - platforms: linux/amd64 + platforms: linux/amd64,linux/arm64,linux/arm/v7 push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} diff --git a/.github/workflows/build_bundle-rpi_dev.yaml b/.github/workflows/build_bundle-rpi_dev.yaml new file mode 100644 index 00000000..3139d622 --- /dev/null +++ b/.github/workflows/build_bundle-rpi_dev.yaml @@ -0,0 +1,69 @@ +name: 'Build datarhei/core:rpi-dev' + +on: + workflow_dispatch: + workflow_call: + push: + branches-ignore: + - '**' + +jobs: + docker: + runs-on: [self-hosted] + steps: + - name: Checkout + uses: actions/checkout@v2 + + - uses: cardinalby/export-env-action@v1 + with: + envFile: '.github_build/Build.alpine.env' + export: 'true' + expandWithJobEnv: 'true' + expand: 'true' + + - uses: cardinalby/export-env-action@v1 + with: + envFile: '.github_build/Build.bundle.rpi.env' + export: 'true' + expandWithJobEnv: 'true' + expand: 'true' + + - name: Set up QEMU + uses: docker/setup-qemu-action@master + with: + platforms: all + + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@master + + - name: Cache Docker layers + uses: actions/cache@v2 + with: + path: /tmp/.buildx-cache + key: ${{ runner.os }}-buildx-${{ github.sha }} + restore-keys: | + ${{ runner.os }}-buildx- + + - name: Login to DockerHub + if: github.event_name != 'pull_request' + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Build Multi-Arch + uses: docker/build-push-action@v2 + with: + builder: ${{ steps.buildx.outputs.name }} + context: . + file: ./Dockerfile.bundle + build-args: | + CORE_IMAGE=datarhei/base:${{ env.OS_NAME }}-core-dev + FFMPEG_IMAGE=datarhei/base:${{ env.OS_NAME }}-ffmpeg-rpi-${{ env.OS_VERSION }}-${{ env.FFMPEG_VERSION }} + platforms: linux/arm64,linux/arm/v7 + push: true + tags: | + datarhei/core:rpi-dev + cache-from: type=local,src=/tmp/.buildx-cache + cache-to: type=local,dest=/tmp/.buildx-cache-new