Files
katenary/.gitea/workflows/build-oci.yaml
Patrice Ferlet a17d35df03 chore(oci): Enhance OCI build
There were too many `${IMAGE_NAME,,}` to always do a lower case
operation. I now export the variable in the first step.
2025-09-16 13:49:11 +02:00

65 lines
1.8 KiB
YAML

name: Build and push OCI image
on:
push:
tags:
- "releases/*"
env:
REGISTRY: repo.katenary.io
IMAGE_NAME: ${{ gitea.repository }}
STORAGE_DRIVER: vfs
VERSION: ${{ gitea.ref_name }}
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Extract version
run: |
# remove "releases/"
VERSION="${VERSION#releases/}"
# set image name to lower case
IMAGE_NAME="${IMAGE_NAME,,}"
echo "Exporting variable VERSION=$VERSION"
echo "Exporting variable IMAGE_NAME=$IMAGE_NAME"
echo "VERSION=$VERSION" >> $GITEA_OUTPUT
echo "IMAGE_NAME=$IMAGE_NAME" >> $GITEA_OUTPUT
echo "VERSION=$VERSION" >> $GITEA_ENV
echo "IMAGE_NAME=$IMAGE_NAME" >> $GITEA_ENV
- name: Install Buildah
run: |-
env
if ! command -v buildah 2>/dev/null; then
echo "Install Buildah"
sudo apt-get update
sudo apt-get install -y buildah
else
echo "Buildah already installed"
fi
- name: Login to repository
run: |
buildah login $REGISTRY -u ${{ gitea.actor }} -p ${{ secrets.ACCESS_TOKEN }}
- name: Checkout repository
uses: actions/checkout@v4
- name: Build and tag
run: |-
echo "Building image ${REGISTRY}/${IMAGE_NAME}:${VERSION} / latest"
buildah build --isolation=chroot --build-arg VERSION=${VERSION} -t katenary -f ./oci/katenary/Containerfile .
buildah tag katenary ${REGISTRY}/${IMAGE_NAME}:${VERSION}
buildah tag katenary ${REGISTRY}/${IMAGE_NAME}:latest
- name: Push image
run: |-
buildah push ${REGISTRY}/${IMAGE_NAME}:${VERSION}
buildah push ${REGISTRY}/${IMAGE_NAME}:latest