name: "Build & Push" on: push: branches: - main pull_request: jobs: build: runs-on: [k8s-runner-01] env: REGISTRY: registry.staging:5000 IMAGE_NAME: ${{ gitea.repository }} IMAGE_TAG: ${{ gitea.sha }} steps: - name: "Checkout code" uses: actions/checkout@v4 - id: generator name: "Generate Dockerfile & Manifest K8S" uses: ardipc/devops-generator@v1.0.2 with: name: "hello-app" language: "node" - name: "Print Output Docker" id: output run: | echo "${{ steps.generator.outputs.docker }}" > Dockerfile echo "${{ steps.generator.outputs.k8s }}" > k8s.yml - name: "Get namespace" run: | mkdir -p .kube echo "${{ vars.KUBECONFIG_PA_DEVOPS }}" > .kube/config cat .kube/config kubectl get deployment -n staging - name: "Create buildkitd.toml" run: | cat < buildkitd.toml [registry."registry.staging:5000"] http = true insecure = true EOF - name: "Set up Buildx builder" run: | BUILDER_NAME="builder-$(date +%s)" echo "BUILDER_NAME=$BUILDER_NAME" >> $GITEA_ENV docker buildx create \ --use \ --name $BUILDER_NAME \ --driver docker-container \ --config buildkitd.toml - name: "Build & Push Docker" run: | docker buildx build \ --builder $BUILDER_NAME \ -t $REGISTRY/$IMAGE_NAME:$IMAGE_TAG \ --push . - name: "Cleanup builder" if: always() run: docker buildx rm $BUILDER_NAME || true