name: Build & Deploy on: push: branches: [main] env: REGISTRY: 192.168.1.212:1180/library jobs: build: runs-on: self-hosted steps: - name: Install build tools run: | apk add --no-cache curl git nodejs npm docker-cli 2>/dev/null || true - name: Generate demo content + Dockerfile run: | WORK=/root/.cache/demo-frontend mkdir -p $WORK cd $WORK [ -d .git ] || git clone http://joe:${GITEA_TOKEN}@192.168.1.212:3000/joe/demo-frontend.git . git pull SHORT_SHA=${GITHUB_SHA::8} cat > package.json <

Demo Frontend

Build: ${SHORT_SHA}

Commit: ${GITHUB_SHA}

Time: \$(date)

' > dist/index.html"} } EOF cat > Dockerfile </dev/null; then kubectl -n argocd patch application demo-frontend --type merge \ -p "{\"spec\":{\"source\":{\"helm\":{\"parameters\":[{\"name\":\"image.tag\",\"value\":\"${SHORT}\"}]}}}}" echo "✓ ArgoCD app patched" fi env: GITHUB_SHA: ${{ github.sha }}