incr/.forgejo/workflows/docker-build.yml

43 lines
1.6 KiB
YAML
Raw Normal View History

2025-07-13 12:18:58 +02:00
name: Build and Push Docker Image
on:
push:
tags: [v*]
2025-07-13 12:21:01 +02:00
workflow_dispatch:
2025-07-13 12:18:58 +02:00
jobs:
build:
2025-07-13 12:24:29 +02:00
runs-on: codeberg-small
2025-07-13 12:18:58 +02:00
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Log in to Codeberg Container Registry
2025-07-13 12:31:07 +02:00
run: |
echo "${{ secrets.CODEBERG_TOKEN }}" | podman login --username "${{ secrets.CODEBERG_USERNAME }}" --password-stdin codeberg.org
2025-07-13 12:18:58 +02:00
2025-07-13 12:31:07 +02:00
- name: Extract version
id: version
run: |
if [[ "${{ github.ref }}" == refs/tags/* ]]; then
VERSION=${GITHUB_REF#refs/tags/v}
echo "version=$VERSION" >> $GITHUB_OUTPUT
echo "major_minor=$(echo $VERSION | cut -d. -f1-2)" >> $GITHUB_OUTPUT
else
echo "version=latest" >> $GITHUB_OUTPUT
echo "major_minor=latest" >> $GITHUB_OUTPUT
fi
2025-07-13 12:18:58 +02:00
- name: Build and push Docker image
2025-07-13 12:31:07 +02:00
run: |
if [[ "${{ github.ref }}" == refs/tags/* ]]; then
podman build -f docker/Dockerfile -t codeberg.org/lvl0/incr:${{ steps.version.outputs.version }} .
podman build -f docker/Dockerfile -t codeberg.org/lvl0/incr:${{ steps.version.outputs.major_minor }} .
podman build -f docker/Dockerfile -t codeberg.org/lvl0/incr:latest .
podman push codeberg.org/lvl0/incr:${{ steps.version.outputs.version }}
podman push codeberg.org/lvl0/incr:${{ steps.version.outputs.major_minor }}
podman push codeberg.org/lvl0/incr:latest
else
podman build -f docker/Dockerfile -t codeberg.org/lvl0/incr:latest .
podman push codeberg.org/lvl0/incr:latest
fi