49 lines
1.7 KiB
YAML
49 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
|
|
|
|
- run: |
|
|
echo "--- cating file ---"
|
|
cat /root/.docker/config.json
|
|
echo "--- end of file ---"
|
|
|
|
- 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
|
|
if: ${{ forgejo.ref_name == 'main' }}
|
|
run: |
|
|
apk add --no-cache skopeo
|
|
skopeo copy "oci-archive:${{ forgejo.workspace }}/image.tar" git.hamburg.ccc.de/ccchh/dooris:latest --dest-authfile=/root/.docker/config.json
|
|
|