[FOLIO-1335] document the differences between dev, CI environments Created: 11/Jul/18 Updated: 12/Nov/18 Resolved: 29/Aug/18 |
|
| Status: | Closed |
| Project: | FOLIO |
| Components: | None |
| Affects versions: | None |
| Fix versions: | None |
| Type: | Story | Priority: | P2 |
| Reporter: | Zak Burke | Assignee: | Matthew Jones |
| Resolution: | Done | Votes: | 0 |
| Labels: | build-release, ci, ebsco, sprint42, sprint43, sprint44, sprint45, ui-core | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original estimate: | Not Specified | ||
| Issue links: |
|
||||||||||||||||||||||||||||||||||||||||||||||||
| Sprint: | |||||||||||||||||||||||||||||||||||||||||||||||||
| Development Team: | EBSCO - FSE | ||||||||||||||||||||||||||||||||||||||||||||||||
| Description |
|
Integration tests that pass locally frequently don't pass in CI. That's bad. Devs need to better understand the environment and workflow in CI so that we can make changes, either in CI or in our local environments, so we can close the gap between the dev environment and the CI environment. Some discrepancies are inevitable and we don't expect to eliminate them all (local code isn't minified or obfuscated, and React and other mods execute very differently when run with NODE_ENV=production) but we need the ability to replicate the CI environment and process locally so we can be more confident that our branches will be mergeable when we push them up to GitHub. Document has been started to capture the content of the comments: https://docs.google.com/document/d/1fzSU1xmtqdox3iYq82xrhwcurof89un2ybAKJGhgJIo/edit?usp=sharing Once the document is complete Mike Taylor will transfer the relevant parts to Stripes developer documentation. |
| Comments |
| Comment by Jakub Skoczen [ 11/Jul/18 ] |
|
John Malconian Matthew Jones guys can we list out the differences here? |
| Comment by Matthew Jones [ 11/Jul/18 ] |
|
Adding some of my findings posted to the devops channel, that I think apply here. In response to Zak Burke's comment on devops about visual differences between a workspace build and folio-testing-platform build:
I think the thing to note here is that a dev environment using workspaces/links/aliases to join multiple local clones of modules disregards any versions specified in package.json for those modules when used as dependencies. It may be obvious that we are often pointing to the tip of master here, but perhaps not so obvious that doing so hides instances where another module's package.json needs to be updated. Without such updates, stand-alone platform builds can go out of sync. |
| Comment by Matthew Jones [ 12/Jul/18 ] |
|
Below is an outline of the different approaches we currently use for development and CI. I've highlighted the areas that are likely sources of discrepancies in dependencies between dev and CI. Development Environments
CI Environments
John Malconian Please let me know if I'm omitting something with regards to CI modifications |
| Comment by Matthew Jones [ 12/Jul/18 ] |
|
Some thoughts on minimizing discrepancies:
Testing considerations: There are some potential differences associated with testing as well. I suspect these are less of an issue than the environment at this point, but still worth noting here.
Inverting the ui-tesing dependency, such that modules and platforms depend on ui-testing (directly or via CLI), rather than ui-tesitng depending on all modules, should avoid such discrepancies between the platform of tests and the explicit . |
| Comment by Mike Taylor [ 26/Jul/18 ] |
|
(Side-question: can anyone explain to me what is the difference between a story such as this one, and a task such as
|
| Comment by Jakub Skoczen [ 08/Aug/18 ] |
|
Matthew Jones Zak Burke can we consider this completed and the document created the result of this investigation? |