[FOLIO-1536] Stabilize snapshot Stripes platform Created: 27/Sep/18 Updated: 15/Jan/19 Resolved: 10/Oct/18 |
|
| Status: | Closed |
| Project: | FOLIO |
| Components: | None |
| Affects versions: | None |
| Fix versions: | None |
| Type: | Task | Priority: | P2 |
| Reporter: | John Malconian | Assignee: | John Malconian |
| Resolution: | Done | Votes: | 0 |
| Labels: | ci, sprint48 | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original estimate: | Not Specified | ||
| Issue links: |
|
||||||||||||||||||||
| Sprint: | |||||||||||||||||||||
| Development Team: | Prokopovych | ||||||||||||||||||||
| Description |
|
The "snapshot" Stripes platform (consisting generally of tip of master versions of Stripes and UI modules) by its very nature is unstable. However, frequent webpack build failures currently disrupts the availability of the snapshot FOLIO platforms - folio-testing and folio-snapshot. In order to stabilize the "snapshot" FOLIO platforms I'm proposing the following. 1. Commit a known-good build configuration (yarn.lock) to folio-platform-complete/snapshot and folio-platform-core/snapshot. 2. Have Jenkins perform builds of these branches at regular intervals by ignoring the committed yarn.lock files. If the build succeeds, Jenkins will commit a new yarn.lock to the snapshot branches. 3. When the FOLIO snapshot platforms are built via folio-ansible, honor the latest yarn.lock file in the snapshot branch. (Note: Since platform-core is a dependency of platform-complete, the extra step of publishing a new platform-core snapshot package to the NPM CI repository is necessary) |
| Comments |
| Comment by John Malconian [ 03/Oct/18 ] |
|
For some reason, Renovate doesn't seem to suggest updates to the snapshot branch when versions in package.json are specified as '>= 0.0.0'. May have to try starting from working baseline of snapshot versions. |
| Comment by John Malconian [ 04/Oct/18 ] |
|
I don't think Renovate is of much help in this scenario so instead of something triggering a build of the snapshot branch, we will need to run a Jenkins job periodically to do a build and generate and commit a new yarn.lock to the snapshot branch.
I don't think this step is actually necessary. I think the lock file is necessary only on platform-complete/snapshot. We'll see how it goes. folio-ansible jobs will need to be modified so that testing and snapshot builds do not ignore the yarn.lock. |
| Comment by John Malconian [ 05/Oct/18 ] |
|
The Jenkins job 'Automation/build-platform-complete-snapshot' runs a snapshot build of platform-complete and commits an updated yarn.lock to platform-complete/snapshot after a successful build of the platform. The job runs hourly. Going to let this job run for the next 9-10 hours to ensure there are no issues. The last step is to update the folio-ansible snapshot and testing builds to honor the lock file. |