dooris/.forgejo/workflows/container.yml
lilly 5c34a89bf0
All checks were successful
Build Container / Build Container (push) Successful in 42s
fix CI not being allowed to push container image
2026-05-14 20:12:04 +02:00

44 lines
1.7 KiB
YAML

name: Build Container
on:
workflow_dispatch: {}
push: {}
jobs:
build-container:
name: Build Container
runs-on: docker
container:
image: ghcr.io/osscontainertools/kaniko:alpine
steps:
- name: Install required system packages compatibility
run: apk add --no-cache nodejs skopeo
- name: Checkout source code
uses: actions/checkout@v6
# - name: Login to container registry (prod only)
# if: ${{ forgejo.ref_name == 'main' }}
# run: /kaniko/executor login --username="forgejo-actions" --password="${{ secrets.PACKAGES_TOKEN }}" git.hamburg.ccc.de
- name: Build Container
# env:
# KANIKO_NO_PUSH: ${{ forgejo.ref_name != 'main' }}
run: /kaniko/executor
--dockerfile="${{forgejo.workspace }}/Containerfile"
--context="dir://${{ forgejo.workspace }}"
--destination=git.hamburg.ccc.de/ccchh/dooris:latest
--tar-path=${{ forgejo.workspace }}/image.tar
--no-push
--no-push-cache
--annotation=org.opencontainers.image.ref.name=dooris
--annotation=org.opencontainers.image.url=${{ forgejo.server_url }}/${{ forgejo.repository }}
--annotation=org.opencontainers.image.source=${{ forgejo.server_url }}/${{ forgejo.repository }}
--annotation=org.opencontainers.image.licenses=AGPL-3.0
- name: Push Container (prod-only)
if: ${{ forgejo.ref_name == 'main' }}
run: |
apk add --no-cache skopeo
skopeo copy "docker-archive:${{ forgejo.workspace }}/image.tar" docker://git.hamburg.ccc.de/ccchh/dooris:latest --dest-creds="forgejo-actions:${{ secrets.PACKAGES_TOKEN }}"