runner-images/.forgejo/workflows/ci.yml
Marc Cataford 3d890d7e2f
Some checks failed
/ post-run (push) Has been skipped
/ pre-run (push) Successful in 51s
/ build-images (debian-12.6-slim) (push) Failing after 1m35s
ci: use imagefactory runner
2024-11-06 19:31:22 -05:00

61 lines
2.3 KiB
YAML

on:
push:
tags:
- "*-v*"
env:
REGISTRY_ENDPOINT: host.containers.internal:5000
jobs:
pre-run:
runs-on: imagefactory-latest
steps:
- uses: https://forge.karnov.club/marc/push-status-to-discord-action@main
with:
webhook-url: ${{secrets.DISCORD_WEBHOOK_URL}}
status: "Started"
init: true
build-images:
needs: [pre-run]
runs-on: imagefactory-latest
strategy:
matrix:
image-name: ['debian-12.6-slim']
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: 3.12
- name: Login to Registry
run: podman login -u ${{ secrets.REGISTRY_USER }} -p ${{ secrets.REGISTRY_TOKEN }} ${{ env.REGISTRY_ENDPOINT }}
- name: Set image metadata
id: image-metadata
run: |
echo "image-tag=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
echo "full-image-name=${{ matrix.image-name }}:$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
- name: Build image
run: python ./build_image.py ${{ steps.image-metadata.outputs.full-image-name }} ./images/${{ matrix.image-name }}/Dockerfile
- name: Tag image as latest
run: podman tag ${{ steps.image-metadata.outputs.full-image-name }} ${{ matrix.image-name }}:latest
- name: List images
run: podman image ls
- name: Push tagged image to registry
run: |
podman push ${{ steps.image-metadata.outputs.full-image-name }} ${{ env.REGISTRY_ENDPOINT }}/forge-runners/${{ steps.image-metadata.outputs.full-image-name }}
podman push ${{ steps.image-metadata.outputs.full-image-name }} ${{ env.REGISTRY_ENDPOINT }}/forge-runners/${{ matrix.image-name }}:latest
post-run:
runs-on: imagefactory-latest
needs: [build-images]
steps:
- uses: https://forge.karnov.club/marc/push-status-to-discord-action@main
if: ${{success()}}
with:
webhook-url: ${{secrets.DISCORD_WEBHOOK_URL}}
status: "Success"
variant: "success"
- uses: https://forge.karnov.club/marc/push-status-to-discord-action@main
if: ${{failure()}}
with:
webhook-url: ${{secrets.DISCORD_WEBHOOK_URL}}
status: "Failure"
variant: "failure"