name: Build Docker Image on: push: branches: - main workflow_dispatch: env: IMAGE_NAME: wdw-sitemap-and-importer REGISTRY: ${{ secrets.REGISTRY_URL }} REGISTRY_USERNAME: ${{ secrets.REGISTRY_USERNAME }} REGISTRY_PASSWORD: ${{ secrets.REGISTRY_PASSWORD }} jobs: docker: runs-on: ubuntu-latest steps: - name: Check out repository uses: actions/checkout@v4 - name: Build image run: docker build -t "${IMAGE_NAME}:${{ gitea.sha }}" . - name: Tag latest image run: docker tag "${IMAGE_NAME}:${{ gitea.sha }}" "${IMAGE_NAME}:latest" - name: Log in and push image run: | if [ -z "${REGISTRY}" ] || [ -z "${REGISTRY_USERNAME}" ] || [ -z "${REGISTRY_PASSWORD}" ]; then echo "Registry secrets are not fully configured. Skipping registry login and push." echo "Expected secrets: REGISTRY_URL, REGISTRY_USERNAME, REGISTRY_PASSWORD" exit 0 fi echo "${REGISTRY_PASSWORD}" | docker login "${REGISTRY}" -u "${REGISTRY_USERNAME}" --password-stdin docker tag "${IMAGE_NAME}:${{ gitea.sha }}" "${REGISTRY}/${IMAGE_NAME}:${{ gitea.sha }}" docker tag "${IMAGE_NAME}:latest" "${REGISTRY}/${IMAGE_NAME}:latest" docker push "${REGISTRY}/${IMAGE_NAME}:${{ gitea.sha }}" docker push "${REGISTRY}/${IMAGE_NAME}:latest"