build ARM64 docker image + caching + alpine 3.14

This commit is contained in:
Emilien Devos 2021-07-15 23:35:40 +02:00
parent 1954869a0e
commit b04fd1d28f
2 changed files with 36 additions and 3 deletions

View File

@ -17,6 +17,8 @@ jobs:
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
with:
platforms: arm64
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
@ -28,12 +30,43 @@ jobs:
username: ${{ secrets.QUAY_USERNAME }}
password: ${{ secrets.QUAY_PASSWORD }}
- name: Build and push for Push Event
- name: Cache Docker layers
if: github.ref == 'refs/heads/master'
uses: actions/cache@v2
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}-multi-buildx-${{ github.sha }}
restore-keys: |
${{ runner.os }}-multi-buildx
- name: Build and push Docker AMD64 image for Push Event
if: github.ref == 'refs/heads/master'
uses: docker/build-push-action@v2
with:
context: .
file: docker/Dockerfile
platforms: linux/amd64
labels: quay.expires-after=12w
push: true
tags: quay.io/invidious/invidious:${{ github.sha }},quay.io/invidious/invidious:latest
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,mode=max,dest=/tmp/.buildx-cache-new
- name: Build and push Docker ARM64 image for Push Event
if: github.ref == 'refs/heads/master'
uses: docker/build-push-action@v2
with:
context: .
file: docker/Dockerfile.arm64
platforms: linux/arm64/v8
labels: quay.expires-after=12w
push: true
tags: quay.io/invidious/invidious:${{ github.sha }}-arm64,quay.io/invidious/invidious:latest-arm64
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,mode=max,dest=/tmp/.buildx-cache-new
- name: Override old Docker cache
if: github.ref == 'refs/heads/master'
run: |
rm -rf /tmp/.buildx-cache
mv /tmp/.buildx-cache-new /tmp/.buildx-cache

View File

@ -1,4 +1,4 @@
FROM alpine:edge AS liblsquic-builder
FROM alpine:3.14 AS liblsquic-builder
WORKDIR /src
RUN apk add --no-cache build-base git apk-tools abuild cmake go perl linux-headers
@ -29,7 +29,7 @@ RUN mkdir tmp && cd tmp && \
cd .. && rm -rf tmp
FROM alpine:edge AS builder
FROM alpine:3.14 AS builder
RUN apk add --no-cache 'crystal<2' shards sqlite-static yaml-static yaml-dev libxml2-dev zlib-static openssl-libs-static openssl-dev musl-dev
WORKDIR /invidious