name: Build and Publish TVJ EPG Image on: push: branches: [ main ] workflow_dispatch: jobs: build: runs-on: ubuntu-latest steps: - name: Checkout repository uses: gitea/checkout@v4 - name: Install Podman run: | sudo apt-get update sudo apt-get install -y podman - name: Read version id: version run: | VERSION="$(cat VERSION | tr -d ' \n')" echo "version=$VERSION" >> $GITHUB_OUTPUT - name: Registry login env: REGISTRY: ${{ vars.REGISTRY }} REGISTRY_USER: ${{ secrets.REGISTRY_USER }} REGISTRY_TOKEN: ${{ secrets.REGISTRY_TOKEN }} run: | echo "$REGISTRY_TOKEN" | podman login "$REGISTRY" \ -u "$REGISTRY_USER" \ --password-stdin - name: Build image (multi-tag) env: REGISTRY: ${{ vars.REGISTRY }} IMAGE: ${{ vars.IMAGE }} VERSION: ${{ steps.version.outputs.version }} run: | SHORT_SHA="${GITHUB_SHA::7}" FULL_IMAGE="$REGISTRY/$IMAGE" podman build \ -f Containerfile \ -t "$FULL_IMAGE:latest" \ -t "$FULL_IMAGE:v$VERSION" \ -t "$FULL_IMAGE:sha-$SHORT_SHA" \ . - name: Push all tags env: REGISTRY: ${{ vars.REGISTRY }} IMAGE: ${{ vars.IMAGE }} VERSION: ${{ steps.version.outputs.version }} run: | SHORT_SHA="${GITHUB_SHA::7}" FULL_IMAGE="$REGISTRY/$IMAGE" podman push "$FULL_IMAGE:latest" podman push "$FULL_IMAGE:v$VERSION" podman push "$FULL_IMAGE:sha-$SHORT_SHA"