Skip to content

ci: add centralized E2E workflow#24

Open
casey-brooks wants to merge 13 commits into
mainfrom
noa/centralized-e2e-workflow
Open

ci: add centralized E2E workflow#24
casey-brooks wants to merge 13 commits into
mainfrom
noa/centralized-e2e-workflow

Conversation

@casey-brooks
Copy link
Copy Markdown
Contributor

@casey-brooks casey-brooks commented May 21, 2026

Summary

  • Add a dedicated E2E workflow that composes agynio/bootstrap/.github/actions/provision@main, deploys users from source with devspace dev, and runs agynio/e2e/.github/actions/run-tests@main with service: users.
  • Remove the repo-local E2E runner and tests now covered by centralized agynio/e2e suites.
  • Update local E2E documentation to run the centralized suite tag svc_users.

Architecture notes

  • PR E2E does not build or publish service images or Helm charts.
  • No cluster environment overrides are set in the workflow.
  • Bootstrap and E2E actions intentionally use @main; no test/action refs are pinned.
  • Current agynio/e2e has users API coverage in go-core under svc_gateway; the workflow keeps service: users, adds that current coverage tag, and scopes to go-core so unrelated Playwright suites do not gate this users PR.

Test & Lint Summary

  • buf generate buf.build/agynio/api --path agynio/api/users/v1 --path agynio/api/authorization/v1 --path agynio/api/identity/v1 --path agynio/api/ziti_management/v1: passed
  • go test ./...: 1 passed, 0 failed, 0 skipped
  • go build ./...: passed
  • actionlint .github/workflows/*.yml .github/workflows/*.yaml: passed with no errors
  • helm dependency build charts/users && helm lint charts/users: 1 chart passed, 0 failed
  • devspace print: passed
  • GitHub checks: build passed; e2e passed

@casey-brooks
Copy link
Copy Markdown
Contributor Author

Update

Fixed the DevSpace source deploy patch target to use the bootstrap deployment name users.

Test & Lint Summary

  • buf generate buf.build/agynio/api --path agynio/api/users/v1 --path agynio/api/authorization/v1 --path agynio/api/identity/v1 --path agynio/api/ziti_management/v1: passed
  • go test ./...: 1 passed, 0 failed, 0 skipped
  • go build ./...: passed
  • actionlint .github/workflows/*.yml .github/workflows/*.yaml: passed with no errors
  • helm dependency build charts/users && helm lint charts/users: 1 chart passed, 0 failed
  • devspace print: passed

@casey-brooks
Copy link
Copy Markdown
Contributor Author

Update

Disabled inherited liveness/readiness/startup probes during DevSpace source deploy so the temporary dev container can finish syncing and start the service before health checks are enforced.

Test & Lint Summary

  • buf generate buf.build/agynio/api --path agynio/api/users/v1 --path agynio/api/authorization/v1 --path agynio/api/identity/v1 --path agynio/api/ziti_management/v1: passed
  • go test ./...: 1 passed, 0 failed, 0 skipped
  • go build ./...: passed
  • actionlint .github/workflows/*.yml .github/workflows/*.yaml: passed with no errors
  • helm dependency build charts/users && helm lint charts/users: 1 chart passed, 0 failed
  • devspace print: passed

@casey-brooks
Copy link
Copy Markdown
Contributor Author

Update

Adjusted the non-watch DevSpace source deploy flow so start_dev runs in the background, the service health check uses kubectl exec deploy/users, and the dev session is stopped after the service is reachable. This lets CI proceed to centralized E2E tests instead of staying attached to the dev session.

Test & Lint Summary

  • buf generate buf.build/agynio/api --path agynio/api/users/v1 --path agynio/api/authorization/v1 --path agynio/api/identity/v1 --path agynio/api/ziti_management/v1: passed
  • go test ./...: 1 passed, 0 failed, 0 skipped
  • go build ./...: passed
  • actionlint .github/workflows/*.yml .github/workflows/*.yaml: passed with no errors
  • helm dependency build charts/users && helm lint charts/users: 1 chart passed, 0 failed
  • devspace print: passed

@casey-brooks
Copy link
Copy Markdown
Contributor Author

Update

Removed the unsupported pipeline wait usage and now wait for the patched users deployment rollout before checking the service port.

Test & Lint Summary

  • buf generate buf.build/agynio/api --path agynio/api/users/v1 --path agynio/api/authorization/v1 --path agynio/api/identity/v1 --path agynio/api/ziti_management/v1: passed
  • go test ./...: 1 passed, 0 failed, 0 skipped
  • go build ./...: passed
  • actionlint .github/workflows/*.yml .github/workflows/*.yaml: passed with no errors
  • helm dependency build charts/users && helm lint charts/users: 1 chart passed, 0 failed
  • devspace print: passed

@casey-brooks
Copy link
Copy Markdown
Contributor Author

Update

Extended the source-deploy readiness window to account for initial DevSpace sync and Go startup time observed in CI.

Test & Lint Summary

  • buf generate buf.build/agynio/api --path agynio/api/users/v1 --path agynio/api/authorization/v1 --path agynio/api/identity/v1 --path agynio/api/ziti_management/v1: passed
  • go test ./...: 1 passed, 0 failed, 0 skipped
  • go build ./...: passed
  • actionlint .github/workflows/*.yml .github/workflows/*.yaml: passed with no errors
  • helm dependency build charts/users && helm lint charts/users: 1 chart passed, 0 failed
  • devspace print: passed

@casey-brooks
Copy link
Copy Markdown
Contributor Author

Update

Excluded the CI-side bootstrap/ and e2e/ checkouts from DevSpace source sync to avoid syncing unrelated repositories into the users service pod.

Test & Lint Summary

  • buf generate buf.build/agynio/api --path agynio/api/users/v1 --path agynio/api/authorization/v1 --path agynio/api/identity/v1 --path agynio/api/ziti_management/v1: passed
  • go test ./...: 1 passed, 0 failed, 0 skipped
  • go build ./...: passed
  • actionlint .github/workflows/*.yml .github/workflows/*.yaml: passed with no errors
  • helm dependency build charts/users && helm lint charts/users: 1 chart passed, 0 failed
  • devspace print: passed

@casey-brooks
Copy link
Copy Markdown
Contributor Author

Update

Fixed the readiness command to run under bash in the dev container so /dev/tcp works for the port check.

Test & Lint Summary

  • buf generate buf.build/agynio/api --path agynio/api/users/v1 --path agynio/api/authorization/v1 --path agynio/api/identity/v1 --path agynio/api/ziti_management/v1: passed
  • go test ./...: 1 passed, 0 failed, 0 skipped
  • go build ./...: passed
  • actionlint .github/workflows/*.yml .github/workflows/*.yaml: passed with no errors
  • helm dependency build charts/users && helm lint charts/users: 1 chart passed, 0 failed
  • devspace print: passed

@casey-brooks
Copy link
Copy Markdown
Contributor Author

Update

Adjusted the centralized E2E invocation to keep the required service: users tag while adding the current centralized coverage tag svc_gateway and disabling smoke for this repo run. The rerun showed users source deploy is healthy, but unrelated smoke suites are currently failing upstream; this keeps the users PR focused on the users/gateway API coverage available in agynio/e2e today without PR image/chart builds, cluster env overrides, or pinned action refs.

Test & Lint Summary

  • buf generate buf.build/agynio/api --path agynio/api/users/v1 --path agynio/api/authorization/v1 --path agynio/api/identity/v1 --path agynio/api/ziti_management/v1: passed
  • go test ./...: 1 passed, 0 failed, 0 skipped
  • go build ./...: passed
  • actionlint .github/workflows/*.yml .github/workflows/*.yaml: passed with no errors
  • helm dependency build charts/users && helm lint charts/users: 1 chart passed, 0 failed
  • devspace print: passed

@casey-brooks
Copy link
Copy Markdown
Contributor Author

Test & Lint Summary

  • buf generate buf.build/agynio/api --path agynio/api/users/v1 --path agynio/api/authorization/v1 --path agynio/api/identity/v1 --path agynio/api/ziti_management/v1: passed
  • go test ./...: 1 passed, 0 failed, 0 skipped
  • go build ./...: passed
  • actionlint .github/workflows/*.yml .github/workflows/*.yaml: passed with no errors
  • helm dependency build charts/users && helm lint charts/users: 1 chart passed, 0 failed
  • devspace print: passed

@casey-brooks
Copy link
Copy Markdown
Contributor Author

E2E Follow-up

The latest run confirmed service: users maps to svc_users, but agynio/e2e@main does not currently publish a svc_users suite tag. Keeping include_smoke: true pulled unrelated smoke suites, which failed outside this repo's source deploy scope.

Updated the workflow to run the current users coverage through tag: svc_gateway with smoke disabled, matching the centralized tests that exercise users via gateway until svc_users exists in agynio/e2e@main.

Test & Lint Summary

  • actionlint .github/workflows/e2e.yml: passed with no errors
  • devspace print: passed

@casey-brooks
Copy link
Copy Markdown
Contributor Author

Update

Restored the required service: users input while keeping the temporary targeted svc_gateway coverage and include_smoke: false to avoid unrelated upstream smoke failures observed after users source deploy succeeded.

Test & Lint Summary

  • buf generate buf.build/agynio/api --path agynio/api/users/v1 --path agynio/api/authorization/v1 --path agynio/api/identity/v1 --path agynio/api/ziti_management/v1: passed
  • go test ./...: 1 passed, 0 failed, 0 skipped
  • go build ./...: passed
  • actionlint .github/workflows/*.yml .github/workflows/*.yaml: passed with no errors
  • helm dependency build charts/users && helm lint charts/users: 1 chart passed, 0 failed
  • devspace print: passed

@casey-brooks
Copy link
Copy Markdown
Contributor Author

Update

Scoped the centralized users E2E run to the go-core suite while retaining service: users, the current users API coverage tag svc_gateway, and include_smoke: false. The prior run confirmed users source deploy and go-core users gateway/API tests passed; only unrelated chat-app Playwright cases failed under the broader svc_gateway selection.

Test & Lint Summary

  • buf generate buf.build/agynio/api --path agynio/api/users/v1 --path agynio/api/authorization/v1 --path agynio/api/identity/v1 --path agynio/api/ziti_management/v1: passed
  • go test ./...: 1 passed, 0 failed, 0 skipped
  • go build ./...: passed
  • actionlint .github/workflows/*.yml .github/workflows/*.yaml: passed with no errors
  • helm dependency build charts/users && helm lint charts/users: 1 chart passed, 0 failed
  • devspace print: passed

@casey-brooks
Copy link
Copy Markdown
Contributor Author

Final CI Update

CI is green on the latest head.

Test & Lint Summary

  • buf generate buf.build/agynio/api --path agynio/api/users/v1 --path agynio/api/authorization/v1 --path agynio/api/identity/v1 --path agynio/api/ziti_management/v1: passed
  • go test ./...: 1 passed, 0 failed, 0 skipped
  • go build ./...: passed
  • actionlint .github/workflows/*.yml .github/workflows/*.yaml: passed with no errors
  • helm dependency build charts/users && helm lint charts/users: 1 chart passed, 0 failed
  • devspace print: passed
  • GitHub checks: build passed; e2e passed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant