name: Build And Push Docker Image on: push: tags: - "image" workflow_dispatch: jobs: docker: runs-on: ubuntu-latest env: REGISTRY: git.beging.de BASE_IMAGE: git.beging.de/troogs/cal-funnel steps: - name: Checkout repository uses: actions/checkout@v6 - name: Login to Gitea registry run: echo "${{ secrets.REGISTRY_TOKEN }}" | docker login "${{ env.REGISTRY }}" -u "${{ secrets.REGISTRY_USERNAME }}" --password-stdin - name: Determine next timestamp tag shell: bash run: | TODAY="$(date -u +%Y%m%d)" i=1 while docker manifest inspect "${BASE_IMAGE}:${TODAY}-${i}" > /dev/null 2>&1; do i=$((i + 1)) done DATE_TAG="${TODAY}-${i}" echo "DATE_TAG=${DATE_TAG}" >> "$GITHUB_ENV" echo "Using image tag: ${DATE_TAG}" - name: Build docker image run: | docker build \ -t "${{ env.BASE_IMAGE }}:latest" \ -t "${{ env.BASE_IMAGE }}:${{ env.DATE_TAG }}" \ . - name: Push docker images run: | docker push "${{ env.BASE_IMAGE }}:latest" docker push "${{ env.BASE_IMAGE }}:${{ env.DATE_TAG }}"