Files
metadata/.gitea/workflows/build-container.yaml
2026-01-18 20:14:05 +01:00

73 lines
2.0 KiB
YAML

# Gitea Actions workflow for building the Zola build container
# This workflow builds and pushes the container image to Gitea's container registry
#
# Place this file and Dockerfile in the metadata repository:
# .gitea/workflows/build-container.yaml
# Dockerfile (in repo root)
#
# Triggers:
# - When Dockerfile changes
# - Manual dispatch
#
# The built image will be available at:
# <gitea-url>/<owner>/<repo>/zola-pwsh-s3:latest
name: Build Container Image
on:
push:
branches:
- main
paths:
- "Dockerfile"
workflow_dispatch:
env:
IMAGE_NAME: zola-pwsh-s3
REGISTRY_URL: ${{ gitea.server_url }}
REGISTRY_HOST: ${{ replace(replace(gitea.server_url, 'https://', ''), 'http://', '') }}
jobs:
build-container:
runs-on: ubuntu-latest
steps:
- name: Debug registry variables
run: |
echo "REGISTRY_HOST=${{ env.REGISTRY_HOST }}"
echo "REGISTRY_URL=${{ env.REGISTRY_URL }}"
echo "gitea.server_url=${{ gitea.server_url }}"
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Docker Build
uses: docker/setup-buildx-action@v3
- name: Login to Gitea Container Registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY_URL }}
username: ${{ gitea.actor }}
password: ${{ secrets.CONTAINER_TOKEN }}
- name: Extract metadata for Docker
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.REGISTRY_HOST }}/${{ gitea.repository }}/${{ env.IMAGE_NAME }}
tags: |
type=raw,value=latest
type=sha,prefix=
- name: Build and push container image
uses: docker/build-push-action@v5
with:
context: .
file: ./Dockerfile
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max