Better container image creation/upload workflow
This commit is contained in:
parent
b977392446
commit
c1b8ff5d86
|
@ -8,7 +8,7 @@ on:
|
||||||
types: [published]
|
types: [published]
|
||||||
|
|
||||||
env:
|
env:
|
||||||
IMAGE_PREFIX: kiwix/kiwix-build_ci_
|
IMAGE_PREFIX: ghcr.io/kiwix/kiwix-build_ci_
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
Container:
|
Container:
|
||||||
|
@ -22,19 +22,21 @@ jobs:
|
||||||
- name: Retrieve the code
|
- name: Retrieve the code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
- name: Build & upload dev container image
|
- name: Setup container image name
|
||||||
env:
|
id: env
|
||||||
IMAGE_NAME: ${{ env.IMAGE_PREFIX }}${{ matrix.variant }}:dev
|
|
||||||
run: |
|
run: |
|
||||||
docker build -t ${IMAGE_NAME} - < ${GITHUB_WORKSPACE}/ci_images/${{matrix.variant}}_builder.dockerfile
|
echo "IMAGE_NAME=${{ env.IMAGE_PREFIX }}${{ matrix.variant }}" >> $GITHUB_OUTPUT
|
||||||
echo "${{ secrets.GHCR_TOKEN }}" | docker login -u "${{ secrets.GHCR_USERNAME }}" --password-stdin
|
|
||||||
docker push ${IMAGE_NAME}
|
|
||||||
|
|
||||||
- name: Build & upload release container image
|
- name: Build container image
|
||||||
if: github.event.action == 'published'
|
|
||||||
env:
|
|
||||||
IMAGE_NAME: ${{ env.IMAGE_PREFIX }}${{ matrix.variant }}:${{ env.GITHUB_REF_NAME }}
|
|
||||||
run: |
|
run: |
|
||||||
docker build -t ${IMAGE_NAME} - < ${GITHUB_WORKSPACE}/ci_images/${{matrix.variant}}_builder.dockerfile
|
docker build -t ${{ steps.env.outputs.IMAGE_NAME }}:dev - < ci_images/${{ matrix.variant }}_builder.dockerfile
|
||||||
echo "${{ secrets.GHCR_TOKEN }}" | docker login -u "${{ secrets.GHCR_USERNAME }}" --password-stdin
|
|
||||||
docker push --all-tags ${IMAGE_NAME}
|
- 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 }}
|
||||||
|
|
Loading…
Reference in New Issue