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 steps: - name: Checkout code run: | git clone https://git.khoavo.myds.me/vndangkhoa/monochrome.git /workspace/monochrome cd /workspace/monochrome git checkout $GITHUB_SHA - name: Set up Docker Buildx run: docker buildx create --name mybuilder --use || 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 TAG="${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:$(echo $GITHUB_SHA | cut -c1-8)" if [ "$GITHUB_REF" = "refs/heads/main" ]; then TAG="$TAG ${{ env.REGISTRY }}/${{ env.IMAGE_NAME}}:latest" fi docker buildx build --platform linux/amd64 -t $TAG -f docker/Dockerfile --push .