46 lines
1.7 KiB
YAML
46 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
|
|
run: |
|
|
apk add --no-cache nodejs
|
|
apk add --no-cache 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 }}"
|
|
|