[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:
Relates
relates to FOLIO-1547 Upgrade platform-core to stripes 1.0 Closed
relates to FOLIO-1549 Upgrade platform-complete to stripes 1.0 Closed
relates to UXPROD-1156 Re-organization of the CI/CD environm... Closed
relates to UXPROD-1424 Re-organization of the CI/CD environm... Closed
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.

(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)

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.

Generated at Thu Feb 08 23:14:03 UTC 2024 using Jira 1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d.