From c4d282a77ef7701d79db2226136bfbd8e147d95d Mon Sep 17 00:00:00 2001
From: vharseko <vharseko@3a-systems.ru>
Date: Tue, 17 May 2022 07:40:14 +0000
Subject: [PATCH] Docker refactoring (#229)

---
 .github/workflows/release.yml |   69 +++++++++++++++++++++++-----------
 1 files changed, 47 insertions(+), 22 deletions(-)

diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index b5155eb..0c3d434 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -1,4 +1,4 @@
-name: Release Maven
+name: Release
 
 on:
   workflow_dispatch:
@@ -12,8 +12,7 @@
         required: true
         default: "X.Y.Z-SNAPSHOT"
 jobs:
-  release:
-    name: Maven release
+  release-maven:
     runs-on: 'ubuntu-latest'
     steps:
       - name: Print github context
@@ -113,14 +112,14 @@
     name: Docker release
     runs-on: 'ubuntu-latest'
     needs:
-      - release
+      - release-maven
     steps:
       - uses: actions/checkout@v3
         with:
           ref: ${{ github.event.inputs.releaseVersion }}
           fetch-depth: 1
           submodules: recursive
-      - name: Docker meta (default)
+      - name: Docker meta
         id: meta
         uses: docker/metadata-action@v3
         with:
@@ -130,8 +129,46 @@
           tags: |
             type=raw,value=latest
             type=raw,value=${{ github.event.inputs.releaseVersion }}
-      - name: Docker meta (alpine)
-        id: meta_alpine
+      - name: Set up QEMU
+        uses: docker/setup-qemu-action@v1
+      - name: Set up Docker Buildx
+        uses: docker/setup-buildx-action@v1
+      - name: Login to DockerHub
+        uses: docker/login-action@v1
+        with:
+          username: ${{ secrets.DOCKER_USERNAME }}
+          password: ${{ secrets.DOCKER_PASSWORD }}
+      - name: Login to GHCR
+        uses: docker/login-action@v1
+        with:
+          registry: ghcr.io
+          username: ${{ github.repository_owner }}
+          password: ${{ secrets.GITHUB_TOKEN }}
+      - name: Build and push image
+        uses: docker/build-push-action@v2
+        continue-on-error: true
+        with:
+          context: ./opendj-packages/opendj-docker
+          file: ./opendj-packages/opendj-docker/Dockerfile
+          build-args: |
+            VERSION=${{ github.event.inputs.releaseVersion }}
+          platforms: linux/amd64,linux/arm64/8
+          push: true
+          tags: ${{ steps.meta.outputs.tags }}
+          labels: ${{ steps.meta.outputs.labels }}
+  release-docker-alpine:
+    name: Docker release
+    runs-on: 'ubuntu-latest'
+    needs:
+      - release-maven
+    steps:
+      - uses: actions/checkout@v3
+        with:
+          ref: ${{ github.event.inputs.releaseVersion }}
+          fetch-depth: 1
+          submodules: recursive
+      - name: Docker meta
+        id: meta
         uses: docker/metadata-action@v3
         with:
           images: |
@@ -155,19 +192,7 @@
           registry: ghcr.io
           username: ${{ github.repository_owner }}
           password: ${{ secrets.GITHUB_TOKEN }}
-      - name: Build and push image (default)
-        uses: docker/build-push-action@v2
-        continue-on-error: true
-        with:
-          context: ./opendj-packages/opendj-docker
-          file: ./opendj-packages/opendj-docker/Dockerfile
-          build-args: |
-            VERSION=${{ github.event.inputs.releaseVersion }}
-          platforms: linux/amd64,linux/arm64/8
-          push: true
-          tags: ${{ steps.meta.outputs.tags }}
-          labels: ${{ steps.meta.outputs.labels }}
-      - name: Build and push image (alpine)
+      - name: Build and push image
         continue-on-error: true
         uses: docker/build-push-action@v2
         with:
@@ -177,5 +202,5 @@
             VERSION=${{ github.event.inputs.releaseVersion }}
           platforms: linux/amd64,linux/arm64/8, linux/s390x, linux/386, linux/arm/v7, linux/arm/v6, linux/ppc64le
           push: true
-          tags: ${{ steps.meta_alpine.outputs.tags }}
-          labels: ${{ steps.meta_alpine.outputs.labels }}
+          tags: ${{ steps.meta.outputs.tags }}
+          labels: ${{ steps.meta.outputs.labels }}

--
Gitblit v1.10.0