-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Smoke tests for production releases #3585
Comments
Started testing a Form submission heartbeat with curl and had no luck with the following: curl \
--request GET \
--location \
--cookie-jar ./cookies \
--verbose \
https://forms-staging.cdssandbox.xyz/en/id/clx95fa1y00049c9wgmzyz2ee
curl \
--request POST \
--location \
--cookie ./cookies \
--header "Content-Type: application/json" \
--data '[{"1":"Yes","currentGroup":"start"},"en",{"id":"clx95fa1y00049c9wgmzyz2ee","updatedAt":"Mon Jun 10 2024 18:19:05 GMT+0000 (Coordinated Universal Time)","form":{"groups":{},"layout":[1],"titleEn":"Healthcheck","titleFr":"Contrôle de santé","elements":[{"id":1,"type":"radio","properties":{"choices":[{"en":"Yes","fr":"Oui"},{"en":"No","fr":"Non"}],"titleEn":"Things are working?","titleFr":"Les choses fonctionnent bien ?","validation":{"required":true},"subElements":[],"descriptionEn":"","descriptionFr":"","placeholderEn":"","placeholderFr":""}}],"confirmation":{"descriptionEn":"Form has been submitted!","descriptionFr":"Le formulaire a été soumis !","referrerUrlEn":"","referrerUrlFr":""},"introduction":{"descriptionEn":"Simple healthcheck form to confirm the system is able to handle submissions.","descriptionFr":"Formulaire simple de contrôle de santé pour confirmer que le système est en mesure de traiter les soumissions."},"privacyPolicy":{"descriptionEn":"No personal information will be collected as part of this form submission.","descriptionFr":"Aucune information personnelle ne sera collectée par le biais de ce formulaire."}},"isPublished":true,"securityAttribute":"Unclassified"}]' \
--verbose \
https://forms-staging.cdssandbox.xyz/en/id/clx95fa1y00049c9wgmzyz2ee Will start looking at Puppeteer next. |
Based on our chat after the App Router release, I'm going to start looking at the following:
Once that's taken care of, we can look at adding more metrics and alarms. |
A service health dashboard has been started in Staging to graph metrics: |
The service health dashboard and custom metrics were released today as part of v3.10.0. However after more investigation, it was realized that the custom metrics would end up being more expensive than they were worth. These metrics will be removed as part of the v3.10.2 release and the service health dashboard will be updated to generate its graphs via log insight queries. |
|
Proof-of-concept showing how a form submission can be triggered via a Lambda function using Playwright: |
After releasing the anomaly detection alarms to Prod as part of the v3.11.0 release, it is unlikely we'll be able to use AWS's expected invocations as an alarm:
The above graph is at 4 standard deviations. |
Health checks are available now, we probably need to implement a heartbeat form to limit false positives. |
Setup email submission heartbeat in prep for next week. |
The proof-of-concept repo now includes the EventBridge rule that would trigger the form submission on a schedule. In testing it submitted my Staging test form every 15 minutes as expected: Next stepsTo get this into Forms, the following will be needed:
⚠ ConsiderationI'm don't think we should put the heartbeat lambda code in a public repo associated with Forms since it gives people an example of how to submit forms automatically. It could easily live in a private repo that builds and pushes to the ECR managed by |
Description:
Add smoke tests to so that we know key aspects of the infrastructure and application are working live in production after a release.
Two approaches:
Acceptance criteria:
The text was updated successfully, but these errors were encountered: