name: Build and Test on: push: branches: - "main" pull_request: branches: - "main" jobs: build: runs-on: k8s-runner-00 env: REGISTRY: registry.staging IMAGE_NAME: ${{ gitea.repository }} IMAGE_TAG: ${{ gitea.sha }} steps: - name: "Checkout repository" uses: actions/checkout@v4 - name: "Generate Dockerfile" run: curl -o Dockerfile https://n8n.mceasy.cloud/webhook/generator/manifest?type=docker - name: "Generate K8s" run: curl -o k8s.yml https://n8n.mceasy.cloud/webhook/generator/manifest?type=k8s - name: "Replace APP_NAME" run: | NAME=$(echo "$IMAGE_NAME" | sed 's/\//-/g') sed -i "s|APP_NAME|$NAME|g" k8s.yml sed -i "s|IMAGE_NAME|$REGISTRY/$IMAGE_NAME:$IMAGE_TAG|g" k8s.yml cat k8s.yml - name: "Create buildkitd.toml" run: | cat < buildkitd.toml [registry."registry.staging"] 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