runner-images/.forgejo/workflows/ci.yml

62 lines
2.3 KiB
YAML
Raw Normal View History

on:
push:
tags:
2024-07-20 20:57:13 +00:00
- "*-v*"
env:
REGISTRY_ENDPOINT: host.containers.internal:5000
jobs:
2024-07-21 17:25:34 +00:00
pre-run:
2024-11-07 00:31:22 +00:00
runs-on: imagefactory-latest
2024-07-21 17:25:34 +00:00
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]
2024-11-07 00:31:22 +00:00
runs-on: imagefactory-latest
strategy:
matrix:
2024-07-30 03:27:49 +00:00
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
2024-07-21 17:25:34 +00:00
post-run:
2024-11-07 00:31:22 +00:00
runs-on: imagefactory-latest
2024-07-21 17:25:34 +00:00
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"