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