Skip to content

Run 3: Validation

#CriterionVerification CommandExpected Output
1All three workflow files exist on demo branchgh api repos/Arda-cards/arda-frontend-app/contents/.github/workflows/deploy.yaml?ref=demo --jq .namedeploy.yaml
2deploy.yaml has succeeded at least oncegh run list -R Arda-cards/arda-frontend-app -w "Deploy Frontend" --branch demo --status success -L 1 --json conclusion -q '.[0].conclusion'success
3Demo site accessiblecurl -s -o /dev/null -w "%{http_code}" https://demo.alpha001.app.arda.cards200
4GitHub environments configuredgh api repos/Arda-cards/arda-frontend-app/environments --jq '.environments[].name'Includes dev, stage, demo, prod
5At least two distinct commits on demo branchgh api repos/Arda-cards/arda-frontend-app/commits?sha=demo&per_page=2 --jq 'length'2
ArtifactPathFormatDescription
GO/NO-GO decisionrun-3-validation/go-no-go.mdMarkdownDocuments validation results and cutover decision
#TaskPersonaDepends OnStatusAcceptance Criteria
3.1Deploy via deploy.yaml and verify demo siteOperatorPendingWorkflow succeeds; demo.alpha001.app.arda.cards loads; no console errors
3.2Functional verification of demo siteOperator3.1PendingUser signs in; navigation works; no NEXT_PUBLIC_* configuration errors
3.3Redeploy a specific older commit SHAOperator3.1Pendingredeploy.yaml succeeds; Amplify Console shows the specified commit; site reflects older version
3.4Restore latest version after redeploy testOperator3.3Pendingredeploy.yaml with latest SHA; site restored
3.5Document GO/NO-GO decisionOperator3.1–3.4Pendinggo-no-go.md written with pass/fail for each criterion

Who: Operator

  1. Trigger deploy.yaml on the demo branch via GitHub Actions UI:
    • Go to: https://github.com/Arda-cards/arda-frontend-app/actions/workflows/deploy.yaml
    • Click “Run workflow” → select demo branch → “Run workflow”
  2. Monitor the workflow run. Confirm in the logs:
    • Purpose-configuration fetch succeeded
    • OIDC role assumption succeeded
    • StartJob returned a jobId
    • GetJob polling reached SUCCEED
  3. Visit demo.alpha001.app.arda.cards:
    • Page loads without errors
    • Open browser DevTools Console — no JavaScript errors related to NEXT_PUBLIC_* variables
  4. Confirm dev/stage/prod sites are unchanged: check the Amplify Console for each app — no new builds should have been triggered.

Who: Operator (manual sign-in required)

  1. Navigate to demo.alpha001.app.arda.cards
  2. Sign in with test credentials (available to the user — not documented here for security)
  3. Verify navigation:
    • Items page loads
    • Order Queue page loads
    • Other key pages load without errors
  4. Check browser console for errors — none expected
  5. Document results (pass/fail per page)

Who: Operator

  1. Identify an older commit SHA from the demo branch:

    Terminal window
    gh api repos/Arda-cards/arda-frontend-app/commits?sha=demo&per_page=3 \
    --jq '.[].sha'

    Pick the second or third commit (not HEAD).

  2. Trigger redeploy.yaml on the demo branch:

    • Go to: https://github.com/Arda-cards/arda-frontend-app/actions/workflows/redeploy.yaml
    • Click “Run workflow” → select demo branch
    • Partition: demo
    • Commit SHA: the older SHA from step 1
    • “Run workflow”
  3. Monitor the workflow run. Confirm:

    • The StartJob call includes --commit-id {sha}
    • GetJob reaches SUCCEED
  4. Verify in the Amplify Console:

    • Open the demo app → build history
    • The most recent build shows the specified commit SHA (not HEAD)
  5. Visit demo.alpha001.app.arda.cards — the site should reflect the older version. If the versions are visually identical, verify via the Amplify Console build log that the correct commit was built.

Who: Operator

  1. Get the latest commit SHA on demo:

    Terminal window
    gh api repos/Arda-cards/arda-frontend-app/commits?sha=demo&per_page=1 \
    --jq '.[0].sha'
  2. Trigger redeploy.yaml with this SHA for partition demo.

  3. Verify the site is restored to the latest version.

Who: Operator

Create run-3-validation/go-no-go.md with the following structure:

# GO/NO-GO Decision: Frontend Pipeline Cutover
**Date**: YYYY-MM-DD
**Decision**: GO / NO-GO
## Validation Results
| # | Test | Result | Notes |
|---|------|--------|-------|
| 1 | deploy.yaml triggers Amplify build | PASS/FAIL | |
| 2 | Demo site loads after deployment | PASS/FAIL | |
| 3 | User can sign in | PASS/FAIL | |
| 4 | Page navigation works (Items, Order Queue) | PASS/FAIL | |
| 5 | No NEXT_PUBLIC_* configuration errors | PASS/FAIL | |
| 6 | redeploy.yaml deploys specific SHA | PASS/FAIL | |
| 7 | Amplify Console shows correct commit | PASS/FAIL | |
| 8 | Latest version restored after redeploy test | PASS/FAIL | |
| 9 | Existing partitions unaffected | PASS/FAIL | |
## Conditions for GO
All tests must pass. Any FAIL requires investigation before proceeding.
## Open Issues
(List any issues found during validation that should be resolved before cutover)
## Approver
(Name and date)

This is the GO/NO-GO checkpoint. Run 4 does not begin until this document exists, all tests show PASS, and the decision is explicitly GO.

3.1 (Deploy + verify) ──→ 3.2 (Functional verification)
──→ 3.3 (Redeploy older SHA) ──→ 3.4 (Restore latest)
All above ──→ 3.5 (GO/NO-GO document)

Tasks 3.2 and 3.3 can be done in parallel after 3.1.

#CriterionVerification CommandExpected Output
1deploy.yaml succeeded during validationCheck workflow run historyAt least one successful run during this validation session
2redeploy.yaml succeeded with specific SHACheck workflow run historyAt least one successful run with a non-HEAD commit SHA
3Demo site functional after deploymentManual verification documentedSign-in and navigation confirmed
4Existing partitions unaffectedCheck Amplify Console for dev/stage/prodNo new builds triggered
5GO/NO-GO document existstest -f run-3-validation/go-no-go.mdFile exists
6Decision is GOgrep -q "Decision: GO" run-3-validation/go-no-go.mdMatch found
ArtifactSource RunPath/Location
deploy.yamlRun 2arda-frontend-app/.github/workflows/deploy.yaml
redeploy.yamlRun 2arda-frontend-app/.github/workflows/redeploy.yaml
reusable_deployment.yamlRun 2arda-frontend-app/.github/workflows/reusable_deployment.yaml
GitHub environmentsRun 2arda-frontend-app GitHub settings
Demo Amplify appRun 1AWS (Alpha001)
ArtifactConsumer RunPath/Location
GO/NO-GO decisionRun 4 (gate)run-3-validation/go-no-go.md