UNCLASSIFIED - NO CUI

Skip to content

Resolve "ArgoCD cypress tests looping" | SKIP UPDATE CHECK

Daniel Pritchett requested to merge 221-argocd-cypress-tests-looping into main

General MR

Summary

  • 🏗 Moved helm tests for application create and delete from Cypress-based testing to shell-script based testing.
    • This will allow us to more quickly and reliably confirm that Argo's key featureset is working post-deploy.
    • Argo's UI changes its own URL with nearly every keystroke in the "create new application" form and this has proven very difficult to get Cypress to play along with.
  • added a tests/wait.sh to confirm the argo CRDs are established and that the argocd web server deployment rollout is complete before proceeding to our helm tests.
    • this script makes heavy use of curl retries as the argocd-server web service has been refusing connections left and right in CI despite being pretty good at eventually fulfilling requests.
  • 🔧 added a top-priority Service at chart/tests/templates that sits in front of argocd-argocd-server for the duration of our helm tests.

Relevant logs/screenshots

Successful wait.sh Run

image

Failing wait.sh run if I specify a nonexistent CRD to wait on

image

Successful Cypress Run

Now with only a simple "can we log in?" test, but it still takes about 30 seconds locally. image

Successful tests/scripts/test.sh run

Creates an API token, creates an application, waits for that application to reach Healthy status, and destroys that application. Elapsed time: 30 seconds.

image

Upgrade Notices

N/A

Closes #221 (closed)

Edited by Daniel Pritchett

Merge request reports