diff --git a/.github/ISSUE_TEMPLATE/urgent-deploy-workflows.md b/.github/ISSUE_TEMPLATE/urgent-deploy-workflows.md new file mode 100644 index 0000000..f64b24e --- /dev/null +++ b/.github/ISSUE_TEMPLATE/urgent-deploy-workflows.md @@ -0,0 +1,43 @@ +--- +name: "🚨 URGENT: Cross-Repo Workflow Deployment & Indexing" +about: Track deployment of CI/CD workflows, Stripe, and Clerk integrations across all BlackRoad-OS-Inc repositories +title: "URGENT: Deploy workflows + indexing to all BlackRoad-OS-Inc repos" +labels: ["urgent", "deployment", "blackroad-os"] +assignees: [] +--- + +## Priority: 🔴 CRITICAL + +All CI/CD workflows, Stripe integration, and Clerk auth must be deployed across +**every** repository in the [BlackRoad-OS-Inc](https://github.com/BlackRoad-OS-Inc) organization. + +## Workflows to deploy + +- [ ] `core-ci.yml` — lint and test guardrails +- [ ] `deploy.yml` — Cloudflare deploy (via `BlackRoad-OS-Inc/blackroad-deploy`) +- [ ] `e2e-blackroad.yml` — Stripe + Clerk E2E tests +- [ ] `auto-label.yml` — PR auto-labeling +- [ ] `failure-issue.yml` — CI failure tracker +- [ ] `project-sync.yml` — project board sync (BlackRoad-OS-Inc org project) + +## Secrets required per repo + +| Secret | Purpose | +|--------|---------| +| `STRIPE_SECRET_KEY` | Stripe API (server) | +| `NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY` | Stripe API (client) | +| `CLERK_SECRET_KEY` | Clerk auth (server) | +| `NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY` | Clerk auth (client) | + +## Indexing + +- [ ] Enable repository indexing across all BlackRoad-OS-Inc repos +- [ ] Verify code search / semantic indexing is operational +- [ ] Confirm all repos appear in organization-level project boards + +## Acceptance criteria + +1. Every repo in BlackRoad-OS-Inc has the workflows listed above +2. Stripe and Clerk secrets are configured in each repo that needs them +3. E2E workflow passes on at least one representative repo +4. Organization-level indexing is enabled and verified diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index de357b2..c759c0f 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -6,6 +6,7 @@ on: jobs: deploy: - uses: blackboxprogramming/blackroad-deploy/.github/workflows/cloudflare-deploy.yml@main + permissions: {} + uses: BlackRoad-OS-Inc/blackroad-deploy/.github/workflows/cloudflare-deploy.yml@main with: project: blackroad-io diff --git a/.github/workflows/e2e-blackroad.yml b/.github/workflows/e2e-blackroad.yml new file mode 100644 index 0000000..149f0c6 --- /dev/null +++ b/.github/workflows/e2e-blackroad.yml @@ -0,0 +1,62 @@ +name: E2E BlackRoad.io + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + workflow_dispatch: + +jobs: + e2e: + runs-on: ubuntu-latest + permissions: + contents: read + env: + STRIPE_SECRET_KEY: ${{ secrets.STRIPE_SECRET_KEY }} + CLERK_SECRET_KEY: ${{ secrets.CLERK_SECRET_KEY }} + NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY: ${{ secrets.NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY }} + NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY: ${{ secrets.NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY }} + steps: + - uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '20' + + - name: Install dependencies + working-directory: blackroad_site + run: | + if [ -f package-lock.json ]; then npm ci; elif [ -f package.json ]; then npm install; else echo "No JS deps"; fi + + - name: Stripe CLI setup + run: | + curl -s https://packages.stripe.dev/api/security/keypair/stripe-cli-gpg/public | sudo gpg --dearmor -o /usr/share/keyrings/stripe.gpg + echo "deb [signed-by=/usr/share/keyrings/stripe.gpg] https://packages.stripe.dev/stripe-cli-debian-local stable main" | sudo tee /etc/apt/sources.list.d/stripe.list + sudo apt-get update && sudo apt-get install -y stripe || echo "Stripe CLI install skipped" + + - name: Run E2E tests + working-directory: blackroad_site + run: | + if [ -f package.json ] && grep -q '"test:e2e"' package.json; then + npm run test:e2e + else + echo "::warning::No E2E test script found — add test:e2e to blackroad_site/package.json" + fi + + - name: Verify Stripe webhook signatures + run: | + if [ -n "$STRIPE_SECRET_KEY" ]; then + echo "Stripe key configured — webhook verification ready" + else + echo "::warning::STRIPE_SECRET_KEY not set — add it in repo secrets" + fi + + - name: Verify Clerk auth + run: | + if [ -n "$CLERK_SECRET_KEY" ]; then + echo "Clerk key configured — auth verification ready" + else + echo "::warning::CLERK_SECRET_KEY not set — add it in repo secrets" + fi diff --git a/.github/workflows/project-sync.yml b/.github/workflows/project-sync.yml index 4236565..386015d 100644 --- a/.github/workflows/project-sync.yml +++ b/.github/workflows/project-sync.yml @@ -10,5 +10,5 @@ jobs: steps: - uses: actions/add-to-project@v1 with: - project-url: https://github.com/users/blackboxprogramming/projects/8 + project-url: https://github.com/orgs/BlackRoad-OS-Inc/projects/1 github-token: ${{ secrets.GITHUB_TOKEN }}