Better container image creation/upload workflow

This commit is contained in:
Emmanuel Engelhart 2023-02-10 10:15:38 +01:00 committed by Kelson
parent b977392446
commit c1b8ff5d86
1 changed files with 16 additions and 14 deletions

View File

@ -8,7 +8,7 @@ on:
types: [published]
env:
IMAGE_PREFIX: kiwix/kiwix-build_ci_
IMAGE_PREFIX: ghcr.io/kiwix/kiwix-build_ci_
jobs:
Container:
@ -22,19 +22,21 @@ jobs:
- name: Retrieve the code
uses: actions/checkout@v3
- name: Build & upload dev container image
env:
IMAGE_NAME: ${{ env.IMAGE_PREFIX }}${{ matrix.variant }}:dev
- name: Setup container image name
id: env
run: |
docker build -t ${IMAGE_NAME} - < ${GITHUB_WORKSPACE}/ci_images/${{matrix.variant}}_builder.dockerfile
echo "${{ secrets.GHCR_TOKEN }}" | docker login -u "${{ secrets.GHCR_USERNAME }}" --password-stdin
docker push ${IMAGE_NAME}
echo "IMAGE_NAME=${{ env.IMAGE_PREFIX }}${{ matrix.variant }}" >> $GITHUB_OUTPUT
- name: Build & upload release container image
if: github.event.action == 'published'
env:
IMAGE_NAME: ${{ env.IMAGE_PREFIX }}${{ matrix.variant }}:${{ env.GITHUB_REF_NAME }}
- name: Build container image
run: |
docker build -t ${IMAGE_NAME} - < ${GITHUB_WORKSPACE}/ci_images/${{matrix.variant}}_builder.dockerfile
echo "${{ secrets.GHCR_TOKEN }}" | docker login -u "${{ secrets.GHCR_USERNAME }}" --password-stdin
docker push --all-tags ${IMAGE_NAME}
docker build -t ${{ steps.env.outputs.IMAGE_NAME }}:dev - < ci_images/${{ matrix.variant }}_builder.dockerfile
- name: Tag release container image
if: github.event.action == 'published'
run: |
docker tag ${{ steps.env.outputs.IMAGE_NAME }} ${{ env.GITHUB_REF_NAME }}
- name: Upload container image
run: |
echo "${{ secrets.GHCR_TOKEN }}" | docker login ghcr.io -u "${{ secrets.GHCR_USERNAME }}" --password-stdin
docker push --all-tags ${{ steps.env.outputs.IMAGE_NAME }}