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: | VERSION="${VERSION#releases/}" echo "Exporting variable VERSION=$VERSION" echo "VERSION=$VERSION" >> $GITEA_OUTPUT echo "VERSION=$VERSION" >> $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