Browse Source

docker: upgrade base images to `alpine3.14` (#6675)

Joe Chen 3 years ago
parent
commit
b827a2f342
3 changed files with 23 additions and 13 deletions
  1. 19 9
      .github/workflows/docker.yml
  2. 2 2
      Dockerfile
  3. 2 2
      docker/Dockerfile.rpi

+ 19 - 9
.github/workflows/docker.yml

@@ -13,10 +13,16 @@ jobs:
   buildx:
     runs-on: ubuntu-latest
     steps:
+      - name: Canel previous runs on main
+        if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
+        uses: styfle/cancel-workflow-action@0.9.1
+        with:
+          all_but_latest: true
+          access_token: ${{ secrets.GITHUB_TOKEN }}
       - name: Checkout code
         uses: actions/checkout@v2
       - name: Set up QEMU
-        id: qemu
+        if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
         uses: docker/setup-qemu-action@v1
       - name: Set up Docker Buildx
         id: buildx
@@ -32,14 +38,7 @@ jobs:
           echo "Status:    ${{ steps.buildx.outputs.status }}"
           echo "Flags:     ${{ steps.buildx.outputs.flags }}"
           echo "Platforms: ${{ steps.buildx.outputs.platforms }}"
-      - name: Build images on pull requests
-        if: ${{ github.event_name == 'pull_request' }}
-        uses: docker/build-push-action@v2
-        with:
-          context: .
-          platforms: linux/amd64,linux/arm64,linux/arm/v7
       - name: Login to Docker Hub
-        if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
         uses: docker/login-action@v1
         with:
           username: ${{ secrets.DOCKERHUB_USERNAME }}
@@ -51,7 +50,18 @@ jobs:
           registry: ghcr.io
           username: ${{ github.repository_owner }}
           password: ${{ secrets.GITHUB_TOKEN }}
-      - name: Build and push images on commits to main
+      - name: Get short commit SHA
+        uses: benjlevesque/short-sha@v1.2
+      - name: Build and push images on pull requests
+        if: ${{ github.event_name == 'pull_request' }}
+        uses: docker/build-push-action@v2
+        with:
+          context: .
+          platforms: linux/amd64
+          push: true
+          tags: |
+            gogs/gogs:commit-${{ env.SHA }}
+      - name: Build and push images on main
         if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
         uses: docker/build-push-action@v2
         with:

+ 2 - 2
Dockerfile

@@ -1,4 +1,4 @@
-FROM golang:alpine3.12 AS binarybuilder
+FROM golang:alpine3.14 AS binarybuilder
 RUN apk --no-cache --no-progress add --virtual \
   build-deps \
   build-base \
@@ -9,7 +9,7 @@ WORKDIR /gogs.io/gogs
 COPY . .
 RUN make build TAGS="cert pam"
 
-FROM alpine:3.12
+FROM alpine:3.14
 RUN if [ `uname -m` == "aarch64" ] ; then \
       export arch="arm64" ; \
   elif [ `uname -m` == "armv7l" ] ; then \

+ 2 - 2
docker/Dockerfile.rpi

@@ -1,4 +1,4 @@
-FROM arm32v7/golang:1.14-alpine3.11 AS binarybuilder
+FROM arm32v7/golang:1.14-alpine3.14 AS binarybuilder
 RUN apk --no-cache --no-progress add --virtual \
   build-deps \
   build-base \
@@ -9,7 +9,7 @@ WORKDIR /gogs.io/gogs
 COPY . .
 RUN make build TAGS="cert pam"
 
-FROM arm32v7/alpine:3.12
+FROM arm32v7/alpine:3.14
 RUN wget https://github.com/tianon/gosu/releases/download/1.12/gosu-armhf -O /usr/sbin/gosu \
   && chmod +x /usr/sbin/gosu \
   && echo http://dl-2.alpinelinux.org/alpine/edge/community/ >> /etc/apk/repositories \