-
Notifications
You must be signed in to change notification settings - Fork 234
COMPASS-2159 Switch to TravisCI container-based infrastructure #1255
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
Conversation
It was not created by this test, so if it's needed it would be for earlier test runs? I don't see value in keeping it. Plus - it might be how the chain of test timeouts gets broken? Let's find out with another test.
This should be the second failure in at least one of the "main failure chain" pairs, i.e. https://travis-ci.com/10gen/compass/jobs/92384423 (but not) https://travis-ci.com/10gen/compass/jobs/92384429
Just seeing if it's a cheap win today. https://blog.travis-ci.com/2014-12-17-faster-builds-with-container-based-infrastructure/
They are redundant as they are already done by goToCollection, which is at least a code smell worthwhile removing.
Results are 6 reds in 44 runsThese issues may also have been present before on non-container-based infrastructure, I will update the tickets if I find any evidence that they were present both before and after the switch. CollectionsStore "before all" hook: Error: Timeout of 2000ms exceeded.Tracked as COMPASS-2163
https://travis-ci.com/10gen/compass/jobs/93094619 #query-bar: 'returns only the fields included in the project plus _id'(Ticket to be created)
https://travis-ci.com/10gen/compass/jobs/93096552 #indexes: 'adds the index to the list'(Ticket yet to be created)
https://travis-ci.com/10gen/compass/jobs/93096592 Renderer tests hang(Ticket feels like https://jira.mongodb.org/browse/COMPASS-707)
https://travis-ci.com/10gen/compass/jobs/93097249 #launch "before all" hook: TypeError: Cannot read property 'client' of undefined(Ticket yet to be created)
|
Comparison - before was 16 reds in 40 runsComparing these results to #1247 which had 16 reds in the first 40 runs, I'd call this PR an improvement and recommend the switch. |
@durran Please feel welcome to review and/or merge if you think this would make your work on COMPASS-1878 easier too. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work on this @pzrq very thorough investigation. The query bar tests will no longer effect the main compass build following the externalisation of that as a plugin. LGTM 👍
…tructure (#1255) * 🔥 Remove #databases dropDatabase('music') call It was not created by this test, so if it's needed it would be for earlier test runs? I don't see value in keeping it. Plus - it might be how the chain of test timeouts gets broken? Let's find out with another test. * 🐛 Handle the case where app is undefined This should be the second failure in at least one of the "main failure chain" pairs, i.e. https://travis-ci.com/10gen/compass/jobs/92384423 (but not) https://travis-ci.com/10gen/compass/jobs/92384429 * 🐛 Handle app null as well as undefined https://travis-ci.com/10gen/compass/jobs/92556220 * 🚧 Try container-based infrastructure Just seeing if it's a cheap win today. https://blog.travis-ci.com/2014-12-17-faster-builds-with-container-based-infrastructure/ * 🎨 Remove clickDatabaseInSidebar/waitForSidebar calls They are redundant as they are already done by goToCollection, which is at least a code smell worthwhile removing. * noop * Revert "noop" * noop * Revert "noop" * noop * Revert "noop" * noop * Revert "noop" * noop * Revert "noop"
…tructure (#1255) * 🔥 Remove #databases dropDatabase('music') call It was not created by this test, so if it's needed it would be for earlier test runs? I don't see value in keeping it. Plus - it might be how the chain of test timeouts gets broken? Let's find out with another test. * 🐛 Handle the case where app is undefined This should be the second failure in at least one of the "main failure chain" pairs, i.e. https://travis-ci.com/10gen/compass/jobs/92384423 (but not) https://travis-ci.com/10gen/compass/jobs/92384429 * 🐛 Handle app null as well as undefined https://travis-ci.com/10gen/compass/jobs/92556220 * 🚧 Try container-based infrastructure Just seeing if it's a cheap win today. https://blog.travis-ci.com/2014-12-17-faster-builds-with-container-based-infrastructure/ * 🎨 Remove clickDatabaseInSidebar/waitForSidebar calls They are redundant as they are already done by goToCollection, which is at least a code smell worthwhile removing. * noop * Revert "noop" * noop * Revert "noop" * noop * Revert "noop" * noop * Revert "noop" * noop * Revert "noop"
…tructure (#1255) * 🔥 Remove #databases dropDatabase('music') call It was not created by this test, so if it's needed it would be for earlier test runs? I don't see value in keeping it. Plus - it might be how the chain of test timeouts gets broken? Let's find out with another test. * 🐛 Handle the case where app is undefined This should be the second failure in at least one of the "main failure chain" pairs, i.e. https://travis-ci.com/10gen/compass/jobs/92384423 (but not) https://travis-ci.com/10gen/compass/jobs/92384429 * 🐛 Handle app null as well as undefined https://travis-ci.com/10gen/compass/jobs/92556220 * 🚧 Try container-based infrastructure Just seeing if it's a cheap win today. https://blog.travis-ci.com/2014-12-17-faster-builds-with-container-based-infrastructure/ * 🎨 Remove clickDatabaseInSidebar/waitForSidebar calls They are redundant as they are already done by goToCollection, which is at least a code smell worthwhile removing. * noop * Revert "noop" * noop * Revert "noop" * noop * Revert "noop" * noop * Revert "noop" * noop * Revert "noop" #retry 1) #collections when creating & deleting collections when viewing the database when creating a collection when deleting a collection pressing enter on correct collection name removes collection: Error: element ("[data-test-id='drop-collection-modal']") still not visible after 8000ms https://travis-ci.com/10gen/compass/jobs/93287440
…tructure (#1255) * 🔥 Remove #databases dropDatabase('music') call It was not created by this test, so if it's needed it would be for earlier test runs? I don't see value in keeping it. Plus - it might be how the chain of test timeouts gets broken? Let's find out with another test. * 🐛 Handle the case where app is undefined This should be the second failure in at least one of the "main failure chain" pairs, i.e. https://travis-ci.com/10gen/compass/jobs/92384423 (but not) https://travis-ci.com/10gen/compass/jobs/92384429 * 🐛 Handle app null as well as undefined https://travis-ci.com/10gen/compass/jobs/92556220 * 🚧 Try container-based infrastructure Just seeing if it's a cheap win today. https://blog.travis-ci.com/2014-12-17-faster-builds-with-container-based-infrastructure/ * 🎨 Remove clickDatabaseInSidebar/waitForSidebar calls They are redundant as they are already done by goToCollection, which is at least a code smell worthwhile removing. * noop * Revert "noop" * noop * Revert "noop" * noop * Revert "noop" * noop * Revert "noop" * noop * Revert "noop" #retry 1) CollectionsStore "before all" hook: Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. https://travis-ci.com/10gen/compass/jobs/93287442
…tructure (#1255) * 🔥 Remove #databases dropDatabase('music') call It was not created by this test, so if it's needed it would be for earlier test runs? I don't see value in keeping it. Plus - it might be how the chain of test timeouts gets broken? Let's find out with another test. * 🐛 Handle the case where app is undefined This should be the second failure in at least one of the "main failure chain" pairs, i.e. https://travis-ci.com/10gen/compass/jobs/92384423 (but not) https://travis-ci.com/10gen/compass/jobs/92384429 * 🐛 Handle app null as well as undefined https://travis-ci.com/10gen/compass/jobs/92556220 * 🚧 Try container-based infrastructure Just seeing if it's a cheap win today. https://blog.travis-ci.com/2014-12-17-faster-builds-with-container-based-infrastructure/ * 🎨 Remove clickDatabaseInSidebar/waitForSidebar calls They are redundant as they are already done by goToCollection, which is at least a code smell worthwhile removing. * noop * Revert "noop" * noop * Revert "noop" * noop * Revert "noop" * noop * Revert "noop" * noop * Revert "noop" #retry 1) #collections when creating & deleting collections when viewing the database when creating a collection when deleting a collection pressing enter on correct collection name removes collection: Error: element ("[data-test-id='drop-collection-modal']") still not visible after 8000ms https://travis-ci.com/10gen/compass/jobs/93287440 1) #schema when applying a filter in the schema tab "before all" hook: https://travis-ci.com/10gen/compass/jobs/93288256
…tructure (#1255) (#1258) * 🔥 Remove #databases dropDatabase('music') call It was not created by this test, so if it's needed it would be for earlier test runs? I don't see value in keeping it. Plus - it might be how the chain of test timeouts gets broken? Let's find out with another test. * 🐛 Handle the case where app is undefined This should be the second failure in at least one of the "main failure chain" pairs, i.e. https://travis-ci.com/10gen/compass/jobs/92384423 (but not) https://travis-ci.com/10gen/compass/jobs/92384429 * 🐛 Handle app null as well as undefined https://travis-ci.com/10gen/compass/jobs/92556220 * 🚧 Try container-based infrastructure Just seeing if it's a cheap win today. https://blog.travis-ci.com/2014-12-17-faster-builds-with-container-based-infrastructure/ * 🎨 Remove clickDatabaseInSidebar/waitForSidebar calls They are redundant as they are already done by goToCollection, which is at least a code smell worthwhile removing. * noop * Revert "noop" * noop * Revert "noop" * noop * Revert "noop" * noop * Revert "noop" * noop * Revert "noop" #retry 1) CollectionsStore "before all" hook: Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. https://travis-ci.com/10gen/compass/jobs/93287442
…odal' functional test race + Switch to TravisCI container-based infras… (#1165) (#1259) * [Backport 1.8] COMPASS 2159 Switch to TravisCI container-based infrastructure (#1255) * 🔥 Remove #databases dropDatabase('music') call It was not created by this test, so if it's needed it would be for earlier test runs? I don't see value in keeping it. Plus - it might be how the chain of test timeouts gets broken? Let's find out with another test. * 🐛 Handle the case where app is undefined This should be the second failure in at least one of the "main failure chain" pairs, i.e. https://travis-ci.com/10gen/compass/jobs/92384423 (but not) https://travis-ci.com/10gen/compass/jobs/92384429 * 🐛 Handle app null as well as undefined https://travis-ci.com/10gen/compass/jobs/92556220 * 🚧 Try container-based infrastructure Just seeing if it's a cheap win today. https://blog.travis-ci.com/2014-12-17-faster-builds-with-container-based-infrastructure/ * 🎨 Remove clickDatabaseInSidebar/waitForSidebar calls They are redundant as they are already done by goToCollection, which is at least a code smell worthwhile removing. * noop * Revert "noop" * noop * Revert "noop" * noop * Revert "noop" * noop * Revert "noop" * noop * Revert "noop" #retry 1) #collections when creating & deleting collections when viewing the database when creating a collection when deleting a collection pressing enter on correct collection name removes collection: Error: element ("[data-test-id='drop-collection-modal']") still not visible after 8000ms https://travis-ci.com/10gen/compass/jobs/93287440 1) #schema when applying a filter in the schema tab "before all" hook: https://travis-ci.com/10gen/compass/jobs/93288256 * [Backport 1.8] COMPASS 1424: Resolve 'drop-collection-modal' functional test race (#1165) * 🐛 Resolve 'drop-collection-modal functional test race e.g. https://travis-ci.com/10gen/compass/jobs/83567154 * noop * Revert "noop" * noop * Revert "noop" * noop * Revert "noop" * noop * Revert "noop" * noop * Revert "noop"
This PR should resolve several sporadic hard to reproduce failures seen in Compass at various times.
https://blog.travis-ci.com/2014-12-17-faster-builds-with-container-based-infrastructure/
It also removes some redundant calls, e.g.
dropDatabase('music')
, within the functional selenium / webdriverio / spectron test suite, which should hopefully make them easier to understand and more predictable, please see the individual commits within this PR for more details.See also #1247