Comments (8)
Okay so we're now in a slightly better place. We have merged a few PRs today and we haven't seen any test failures on main
yet. I do not like our "fix" which is really more of a hotfix. Primarily we fixed a bug caused by a recent PR merged on oscal-react-library
which did not have corresponding updates to the end-to-end tests (we need to retro that and see if we can catch similar things in the future). Additionally, we significantly increased the waits before timing out across the application; like in some cases up to a minute. This is not acceptable in the long-term but it gets us over this immediate hurdle.
Initially, things indicate that it is likely the backend that is operating slowly. We are seeing that even locally doing a curl http://localhost:8080/oscal/v1/catalogs
takes ~15s due to the validation failures that we are seeing (super unfortunate) and other processing (TODO: make sure logging isn't in the "hot path" for actually sending the response). We have issues like EasyDynamics/oscal-rest#55 to start returning "partial" objects but we need to look into that more.
I do not want to close this yet; I would like to keep it open for a few more days. @tuckerzp please keep monitoring for failures on the workflow on the main branch and on PRs; keep a tally and report them separately on Monday so we can see if this is actually getting better.
In the meantime, we can resume merging PRs on this repository and elsewhere that we held until after the tests were reliably passing again.
from oscal-editor-deployment.
keep monitoring for failures on the workflow on the main branch and on PRs
Passing Workflows
This is an attempt to collect all passing workflow runs. I may have missed some.
- https://github.com/EasyDynamics/oscal-editor-deployment/actions/runs/4418702315
- https://github.com/EasyDynamics/oscal-editor-deployment/actions/runs/4418835464
- https://github.com/EasyDynamics/oscal-editor-deployment/actions/runs/4418891527
- https://github.com/EasyDynamics/oscal-editor-deployment/actions/runs/4419116364
- https://github.com/EasyDynamics/oscal-editor-deployment/actions/runs/4426218442
- https://github.com/EasyDynamics/oscal-editor-deployment/actions/runs/4426436883
- https://github.com/EasyDynamics/oscal-editor-deployment/actions/runs/4430317739
- https://github.com/EasyDynamics/oscal-editor-deployment/actions/runs/4430275425
- https://github.com/EasyDynamics/oscal-editor-deployment/actions/runs/4436969994
Failures
fix(workflow): use ubuntu-latest
in build/test/deploy workflow
Attempt 1
Retries
loads the v4 profile
Failures
loads after navigating multiple documents
:TypeError: The following error originated from your application code, not from Cypress. It was caused by an unhandled promise rejection.
time: 17m 14s
Attempt 2
Passed
from oscal-editor-deployment.
Status Update
This task is between 20% - 75% done. The percentage could change very drastically depending on input from team, if something pops up that I've been missing, etc. It is also a bit tricky to assign a value of completeness to looking into an issue.
Details
I have been a bit stuck trying to find where the issue lies. I am still looking for some strand to pull to begin fixing the problem. That could happen very quickly or may take a bit.
from oscal-editor-deployment.
These Broken Pipe
errors are interesting -- and I am curious which side the failure is happening on. Is Cypress closing the connection quickly because the timeout was already hit and it's moving on? Or is some server-side timeout being hit and the pipe is being closed?
from oscal-editor-deployment.
3/10/23 Sprint Planning - Moved from Sprint 42 to Sprint 43
from oscal-editor-deployment.
Manually triggered https://github.com/EasyDynamics/oscal-editor-deployment/actions/runs/4419699144/jobs/7748456949 to pick up EasyDynamics/oscal-rest-service#178
from oscal-editor-deployment.
Okay I am now feeling a lot better about this. Here are some of the changes that have been made to support this:
- Waiting between starting the container and running the tests - #228
- Increasing the timeout to ~60s (I don't love this but it's helpful to make sure it's not actually errors in the tests, we need to set better performance goals and then can tighten this a bit) - #218
- Using a better base image - #221
- General workflow refactoring - #226
- Preventing logging constraint validation errors from slowing down responses - EasyDynamics/oscal-rest-service#182
The next step we might be able to take is to temporarily disable constraint validation in the OSCAL REST Service until issues with the catalog validation are resolved.
from oscal-editor-deployment.
Okay and the fixes that were just merged in #232 should be the last thing needed for us to stop seeing intermittent failures in the tests. We haven't seen any on the main branch that I am aware of this week. I am going to close this and we can either reopen (or create a new issue) if we see failures again.
from oscal-editor-deployment.
Related Issues (20)
- Update Cypress e2e testing to reduce Runtimes HOT 1
- Navigate by URLs e2e Tests
- Handle "ResizeObserver loop limit exceeded" exception HOT 3
- Increase cypress test speeds
- Relative Link Imports Resolving Incorrectly in All-in-One Deployment HOT 3
- Support Configuration of OSCAL Viewer REST Service URL via Env Variable HOT 1
- Relative Link Imports Resolving Incorrectly in All-in-One Deployment HOT 3
- Component UUID is not Written when Saving Edits to a Numbered Control Statement HOT 1
- Lint the codebase
- Improve Testing Other Branches of REST Service
- Handle include-all HOT 1
- Make Docker Container Open Source HOT 3
- Add a GitHub Actions Workflow to Test Deployment PRs HOT 1
- Support for Non-localhost Usage HOT 3
- Build the container for non-amd64 architectures
- Update Docker Hub Overview HOT 11
- Cannot read properties of undefined (reading 'uuid') HOT 3
- Subtask: Create End-to-End usability tests for `OSCALEditableTextField` HOT 1
- Subtask: End-to-End test using `Object Selector` component HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from oscal-editor-deployment.