name: CI/CD on: push: branches: [main] jobs: build-and-deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Login to Gitea Registry run: echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login gitea.inouter.com -u "${{ secrets.REGISTRY_USERNAME }}" --password-stdin - name: Build and push Docker image run: | IMAGE=gitea.inouter.com/kaffa/bunnycdn-mcp TAG=${GITHUB_SHA::8} docker build \ --tag ${IMAGE}:${TAG} \ --tag ${IMAGE}:latest \ . docker push ${IMAGE}:${TAG} docker push ${IMAGE}:latest - name: Deploy to K8s run: | mkdir -p ~/.kube echo "${{ secrets.KUBECONFIG }}" | base64 -d > ~/.kube/config chmod 600 ~/.kube/config IMAGE=gitea.inouter.com/kaffa/bunnycdn-mcp TAG=${GITHUB_SHA::8} kubectl apply -f k8s/ kubectl set image deployment/bunnycdn-mcp \ bunnycdn-mcp=${IMAGE}:${TAG} \ -n default kubectl rollout status deployment/bunnycdn-mcp \ -n default --timeout=120s