name: Build and Push Docker Image on: push: branches: [main] workflow_dispatch: env: REGISTRY: forgejo.khoavo.myds.me IMAGE_NAME: vndangkhoa/monochrome jobs: build-and-push: runs-on: synology-runner timeout-minutes: 30 steps: - name: Checkout code run: | if [ -d "/workspace/monochrome" ]; then rm -rf /workspace/monochrome fi git clone --depth 1 https://git.khoavo.myds.me/vndangkhoa/monochrome.git /workspace/monochrome - name: Set up Docker Buildx run: | docker buildx create --name mybuilder --use 2>/dev/null || docker buildx use mybuilder - name: Login to Forgejo Container Registry run: | echo "${{ secrets.FORGEJO_TOKEN }}" | docker login ${{ env.REGISTRY }} -u "${{ secrets.FORGEJO_USERNAME }}" --password-stdin - name: Build and push Docker image run: | cd /workspace/monochrome COMMIT_SHA=$(git rev-parse HEAD) TAG="${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${COMMIT_SHA:0:8}" docker buildx build --platform linux/amd64 -t $TAG -t ${{ env.REGISTRY }}/${{ env.IMAGE_NAME}}:latest -f docker/Dockerfile --push .