From 0842c364957013f39cb24fa22487c9633d6e19fc Mon Sep 17 00:00:00 2001 From: Julius Zeidler Date: Wed, 2 Apr 2025 16:15:26 +0200 Subject: [PATCH] publish step --- .forgejo/workflows/publish.yaml | 59 ++++++++++++++++++++++++++++----- 1 file changed, 50 insertions(+), 9 deletions(-) diff --git a/.forgejo/workflows/publish.yaml b/.forgejo/workflows/publish.yaml index 5631bea..94938c2 100644 --- a/.forgejo/workflows/publish.yaml +++ b/.forgejo/workflows/publish.yaml @@ -1,19 +1,60 @@ -name: ci +name: Build images + on: push: + branches: + - main + # Uncomment to run only when specific files change + # paths: + # - '**/ansible-navigator.yaml' + # - '**/execution-environment.yml' + +env: + # Set this to the public IP or hostname of your registry, + # whichever you use to reach it from your desktop/laptop + FORGEJO_HOST: code.zeidler.dev + CONTAINER_NAME: homelab-ee-single + jobs: - docker: + build-and-push-arch: runs-on: catthehacker + environment: deploy steps: + - name: Prepare environment variables + run: | + echo "$HOME/.local/bin" >> "$GITHUB_PATH" + echo REGISTRY=${{ env.FORGEJO_HOST }} >> $GITHUB_ENV + + - name: Checkout the repo + uses: actions/checkout@v4 + + - name: Install requirements + run: | + pip install -r requirements.txt + + - name: Generate the Ansible Builder context + run: | + ansible-builder create -v 3 + + - name: Login to the registry + uses: docker/login-action@v3 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.PACKAGE_TOKEN }} + - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 + with: + config-inline: | + [registry."${{ env.REGISTRY }}"] + ca=["/usr/local/share/ca-certificates/homelab-ca.crt"] - - name: Get Git commit timestamps - run: echo "TIMESTAMP=$(git log -1 --pretty=%ct)" >> $GITHUB_ENV - - - name: Build + - name: Build and push uses: docker/build-push-action@v6 with: - tags: user/app:latest - env: - SOURCE_DATE_EPOCH: ${{ env.TIMESTAMP }} + context: context + push: true + provenance: false + platforms: linux/amd64, linux/arm64 + tags: ${{ env.REGISTRY }}/${{ github.actor }}/${{ env.CONTAINER_NAME }}:latest