Skip to content

Build & Push

Build & Push #14

Workflow file for this run

name: "Build & Push"
on:
workflow_dispatch:
inputs:
tag_version:
description: "Image tag versions (comma-separated)"
required: true
jobs:
build-push:
name: "[${{ matrix.app }}] Build & Push"
runs-on: ubuntu-latest
env:
IMAGE_TAG_BASE: "ghcr.io/david-lor/${{ matrix.app }}-gui"
IMAGE_TAG_INTERNAL: "${{ matrix.app }}-gui"
permissions:
packages: write
contents: read
strategy:
fail-fast: false
matrix:
app:
- nautilus
- thunar
- dolphin
steps:
# Setup
- name: "Checkout"
uses: actions/checkout@master
with:
fetch-depth: 1
# Registry login
- name: "Login to GitHub Container Registry"
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
# Build & Push
- name: "Docker build"
working-directory: ${{ matrix.app }}
run: docker build . -t ${{ env.IMAGE_TAG_INTERNAL }}
- name: "Docker push tags"
run: |
for image_tag_version in $(echo "${{ github.event.inputs.image_tag_version }}" | sed "s/,/ /g")
do
IMAGE_TAG_FULL="${{ env.IMAGE_TAG_BASE }}:$image_tag_version"
echo "Tagging & Pushing image tag: $IMAGE_TAG_FULL"
docker tag "${{ env.IMAGE_TAG_INTERNAL }}" "$IMAGE_TAG_FULL"
docker push "$IMAGE_TAG_FULL"
done