Yuki Takei 3 лет назад
Родитель
Сommit
c74f7a601d

+ 20 - 1
.github/workflows/release-rc.yml

@@ -37,7 +37,7 @@ jobs:
           type=raw,value=${{ steps.package-json.outputs.packageVersion }}.{{sha}}
           type=raw,value=${{ steps.package-json.outputs.packageVersion }}.{{sha}}
 
 
 
 
-  publish-image-rc:
+  build-image-rc:
     needs: determine-tags
     needs: determine-tags
 
 
     uses: weseek/growi/.github/workflows/reusable-app-build-image.yml@rc/6.0.3-with-codebuild
     uses: weseek/growi/.github/workflows/reusable-app-build-image.yml@rc/6.0.3-with-codebuild
@@ -49,3 +49,22 @@ jobs:
       AWS_ROLE_TO_ASSUME_FOR_OIDC: ${{ secrets.AWS_ROLE_TO_ASSUME_FOR_OIDC }}
       AWS_ROLE_TO_ASSUME_FOR_OIDC: ${{ secrets.AWS_ROLE_TO_ASSUME_FOR_OIDC }}
       DOCKER_REGISTRY_PASSWORD: ${{ secrets.DOCKER_REGISTRY_PASSWORD }}
       DOCKER_REGISTRY_PASSWORD: ${{ secrets.DOCKER_REGISTRY_PASSWORD }}
       DOCKER_REGISTRY_ON_GITHUB_PASSWORD: ${{ secrets.DOCKER_REGISTRY_ON_GITHUB_PASSWORD }}
       DOCKER_REGISTRY_ON_GITHUB_PASSWORD: ${{ secrets.DOCKER_REGISTRY_ON_GITHUB_PASSWORD }}
+
+
+  publish-image-rc:
+    needs: build-image-rc
+
+    strategy:
+      matrix:
+        registry: [docker.io, ghcr.io]
+
+    uses: weseek/growi/.github/workflows/reusable-app-create-manifests.yml@rc/6.0.3-with-codebuild
+    with:
+      tags: ${{ needs.determine-tags.outputs.TAGS }}
+      registry: ${{ matrix.registry }}
+      image-name: weseek/growi-codebuild-test
+      tag-temporary: latest-rc
+    secrets:
+      AWS_ROLE_TO_ASSUME_FOR_OIDC: ${{ secrets.AWS_ROLE_TO_ASSUME_FOR_OIDC }}
+      DOCKER_REGISTRY_PASSWORD: ${{ secrets.DOCKER_REGISTRY_PASSWORD }}
+      DOCKER_REGISTRY_ON_GITHUB_PASSWORD: ${{ secrets.DOCKER_REGISTRY_ON_GITHUB_PASSWORD }}

+ 0 - 47
.github/workflows/reusable-app-build-image.yml

@@ -3,9 +3,6 @@ name: Reusable build app container image workflow
 on:
 on:
   workflow_call:
   workflow_call:
     inputs:
     inputs:
-      tags:
-        type: string
-        required: true
       image-name:
       image-name:
         type: string
         type: string
         default: weseek/growi
         default: weseek/growi
@@ -15,10 +12,6 @@ on:
     secrets:
     secrets:
       AWS_ROLE_TO_ASSUME_FOR_OIDC:
       AWS_ROLE_TO_ASSUME_FOR_OIDC:
         required: true
         required: true
-      DOCKER_REGISTRY_PASSWORD:
-        required: true
-      DOCKER_REGISTRY_ON_GITHUB_PASSWORD:
-        required: true
 
 
 
 
 
 
@@ -58,43 +51,3 @@ jobs:
       env:
       env:
         IMAGE_TAG: docker.io/${{ inputs.image-name }}:${{ inputs.tag-temporary }}-${{ matrix.platform }}
         IMAGE_TAG: docker.io/${{ inputs.image-name }}:${{ inputs.tag-temporary }}-${{ matrix.platform }}
         IMAGE_TAG_GHCR: ghcr.io/${{ inputs.image-name }}:${{ inputs.tag-temporary }}-${{ matrix.platform }}
         IMAGE_TAG_GHCR: ghcr.io/${{ inputs.image-name }}:${{ inputs.tag-temporary }}-${{ matrix.platform }}
-
-
-  create-manifest:
-    needs: [build-image]
-    runs-on: ubuntu-latest
-
-    strategy:
-      matrix:
-        registry: [docker.io, ghcr.io]
-
-    steps:
-    - uses: actions/checkout@v3
-
-    - name: Retrieve information from package.json
-      uses: myrotvorets/info-from-package-json-action@1.2.0
-      id: package-json
-
-    - name: Docker meta for extra-images
-      id: meta-extra-images
-      uses: docker/metadata-action@v4
-      with:
-        images: ${{ matrix.registry }}/${{ inputs.image-name }}
-        sep-tags: ','
-        tags: |
-          type=raw,value=${{ inputs.tag-temporary }}-amd64
-          type=raw,value=${{ inputs.tag-temporary }}-arm64
-
-    - name: Login to Container Registry
-      uses: docker/login-action@v2
-      with:
-        registry: ${{ matrix.registry }}
-        username: wsmoogle
-        password: ${{ (startsWith(matrix.registry, 'docker') && secrets.DOCKER_REGISTRY_PASSWORD) || secrets.DOCKER_REGISTRY_ON_GITHUB_PASSWORD }}
-
-    - name: Create and push manifest images for ${{ matrix.registry }}
-      uses: Noelware/docker-manifest-action@master
-      with:
-        base-image: ${{ inputs.tags }}
-        extra-images: ${{ steps.meta-extra-images.outputs.tags }}
-        push: true

+ 56 - 0
.github/workflows/reusable-app-create-manifests.yml

@@ -0,0 +1,56 @@
+name: Reusable create app container image manifests workflow
+
+on:
+  workflow_call:
+    inputs:
+      tags:
+        type: string
+        required: true
+      registry:
+        type: string
+        default: 'docker.io'
+      image-name:
+        type: string
+        default: weseek/growi
+      tag-temporary:
+        type: string
+        default: latest
+    secrets:
+      DOCKER_REGISTRY_PASSWORD:
+        required: true
+      DOCKER_REGISTRY_ON_GITHUB_PASSWORD:
+        required: true
+
+
+
+jobs:
+
+  create-manifest:
+    runs-on: ubuntu-latest
+
+    steps:
+    - uses: actions/checkout@v3
+
+    - name: Docker meta for extra-images
+      id: meta-extra-images
+      uses: docker/metadata-action@v4
+      with:
+        images: ${{ inputs.registry }}/${{ inputs.image-name }}
+        sep-tags: ','
+        tags: |
+          type=raw,value=${{ inputs.tag-temporary }}-amd64
+          type=raw,value=${{ inputs.tag-temporary }}-arm64
+
+    - name: Login to Container Registry
+      uses: docker/login-action@v2
+      with:
+        registry: ${{ inputs.registry }}
+        username: wsmoogle
+        password: ${{ (startsWith(matrix.registry, 'docker') && secrets.DOCKER_REGISTRY_PASSWORD) || secrets.DOCKER_REGISTRY_ON_GITHUB_PASSWORD }}
+
+    - name: Create and push manifest images
+      uses: Noelware/docker-manifest-action@master
+      with:
+        base-image: ${{ inputs.tags }}
+        extra-images: ${{ steps.meta-extra-images.outputs.tags }}
+        push: true