[FOLIO-3205] rollout GitHub workflow to the stripes- UI repos Created: 15/Jun/21  Updated: 28/Sep/21  Resolved: 26/Aug/21

Status: Closed
Project: FOLIO
Components: None
Affects versions: None
Fix versions: None

Type: Task Priority: P3
Reporter: Jakub Skoczen Assignee: Ankita Sen
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original estimate: Not Specified

Issue links:
Cloners
is cloned by FOLIO-3272 rollout GitHub workflow to the ui- UI... Closed
Relates
relates to STCOR-562 replace stripes-logger with categoric... Open
relates to STRIPES-762 replace stripes-logger with categoric... Open
relates to STSMACOM-537 replace stripes-logger with categoric... Open
relates to FOLIO-3067 Replace Jenkins UI and Stripes CI pip... Closed
relates to FOLIO-3302 rollout GitHub workflow to additional... Closed
Sprint: DevOps Sprint 121
Development Team: FOLIO DevOps

 Description   

John Malconian has provided comments on the roll out approach in the comment on FOLIO-3067 Closed .

Which boils dow to doing this step by step and watch the result before moving on the next one.

Ankita Sen pleae connect with John to establish the batches.

Initial repos to roll out GA:

  • stripes-core 
  • stripes-form 
  • ui-users 
  • stripes-components 
  • stripes-connect 
  • stripes-final-form 
  • stripes-logger 
  • stripes-smart-components 
  • stripes-util 
  • stripes 


 Comments   
Comment by John Malconian [ 10/Aug/21 ]

Zak Burke
The new Github Actions workflows have been implemented for the stripes-core repository. There are two workflows implemented - one for branch/snapshot builds and one for releases. The release workflow is triggered whenever a valid release tag is pushed to github. The workflow files are located in the repository in the .github/workflows directory on the master branch. Since we cannot have both Jenkins and Github Actions enabled simultaneously, the 'Jenkinsfile' has been disabled by renaming it to 'Jenkinsfile.deprecated'. Any active development on non-master branches of stripes-core should be updated to reflect these changes.

Please report any issues to Ankita Sen and the #devops Slack channel over the next few days. Barring any issues, we will extend the rollout to other stripes modules that are dependencies of the 'stripes' NPM package next week.

Ankita Sen - We need to provide documentation to UI developers so that they know how enable the workflows in other repositories. The procedure should include renaming any existing 'Jenkinsfile' to 'Jenkinsfile.deprecated', adding the 'build-mod-descriptor' run script to package.json (see stripes-core package.json for example), and customizing common environment variables set in the workflows - publishing mod descriptor, SQ root scan path, yarn test options, etc).

CC: Jakub Skoczen

Comment by John Malconian [ 17/Aug/21 ]

I've replaced Jenkins with the GH Actions workflows in the stripes-form repository. While doing so I noticed that boolean evaluation didn't work as expected. For example, the following would always evaluate to 'true'.

env:
   PUBLISH_MOD_DESCRIPTOR=false
....
   if:  ${{ env.PUBLISH_MOD_DESCRIPTOR }}

I fixed this by modifying the conditional like this:

if: ${{ env.PUBLISH_MOD_DESCRIPTOR == true }}

Committed my changes back to master in folio-org/.github and also updated the stripes-core workflows. ui-users should also be updated with the latest workflow changes in folio-org/.github.

We should continue to roll out GH Actions workflows to the following repositories in the current sprint:

  • stripes-components
  • stripes-connect
  • stripes-final-form
  • stripes-logger
  • stripes-smart-components
  • stripes-util
  • stripes

Indicate repositories that have been transitioned to GH Actions in this issue.

Comment by John Malconian [ 17/Aug/21 ]

Correction the correct syntax is:

if: ${{ env.PUBLISH_MOD_DESCRIPTOR == 'true' }}

Apparently, everything is treated as a string. The GA docs are misleading.

Comment by Ankita Sen [ 26/Aug/21 ]

In the repositories mentioned in the description, GA workflow has been successfully rolled out. 

Comment by Jakub Skoczen [ 26/Aug/21 ]

Zak Burke stripes-logger is a deprecated and archived repository but it's still a dependency in stripes. Is that an omission?

Comment by Zak Burke [ 26/Aug/21 ]

Jakub Skoczen, John Malconian: stripes-logger vs categorical-logger is just an oversight. The packages are equivalent and updating the imports in existing code was never prioritized because it won't have a real impact, i.e. it changes correctness but not behavior. I don't know of any direct use of stripes-logger (apps should just grab the singleton off stripes.logger), so the cleanup within stripes-* should be pretty small. I'll add tickets for stripes-core, stripes-smart-components, and stripes to the next sprint.

Comment by Zak Burke [ 31/Aug/21 ]

John Malconian, Ankita Sen, is build/test output logged as part of GA-builds? i.e. is there a GA equivalent to the Console Output link in Jenkins?

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