Publish WVUI rolling dev release to NPM as part of Jenkins CI when a new patch is merged into master.
Description
Details
Subject | Repo | Branch | Lines +/- | |
---|---|---|---|---|
Allow WVUI dev-releases in CI | wvui | master | +4 -6 | |
Use nodejs 10 buster image | wvui | master | +2 -2 | |
Add Blubber generated Dockerfile to gitignore | wvui | master | +3 -0 | |
Add optional build attribute | wvui | master | +1 -0 | |
Blubber config npm publish | wvui | master | +67 -43 | |
WVUI pipeline update | integration/config | master | +15 -3 |
Status | Subtype | Assigned | Task | ||
---|---|---|---|---|---|
Declined | • nnikkhoui | T264244 Publish WVUI to NPM through CI | |||
Declined | • nnikkhoui | T267084 Allow WVUI to authenticate against Gerrit | |||
Declined | • nnikkhoui | T267280 Create service account for npm | |||
Resolved | jeena | T267702 Add ability to use ssh-key credentials in pipelinelib pipelines | |||
Resolved | • nnikkhoui | T268363 Fix WVUI release scripts | |||
Resolved | • nnikkhoui | T269762 Use npm version 6.x in WVUI images |
Event Timeline
Based on some trial and error, I don't believe checkbox 1 Publish WVUI prerelease to NPM as part of Jenkins CI when a new patch is merged into master can be achieved in CI as Blubber stands.
When publishing, we want to run some commands prior (e.g. the npm preversion script) which executes some git commands (e.g. git status). The user running the command (in Blubber's case, it is runuser) doesn't have permission to execute these commands, and I think that is by design. This could technically be achieved by adding runs: insecurely: true to the Blubber config, but that config options is only meant for dev environments.
It seems like we will need to run those /bin/release-* scripts locally for the time being.
For checkbox 2, Publish WVUI build products to a location that will be accessible by production wikis based on some conversations with @phuedx and @jeena, I was pointed to T158980, which gave some good background info on implementation ideas:
- Push the build products from WVUI to Vector repo in CI, which would create a new patch set that would need to be manually approved to be merged (change would need to happen in PipelineLib job templates)
- Create a separate repo for WVUI build products (I believe Parsoid and maybe others do this?) which would also need to be manually +2ed to merge
Option 1 sounds like a decent option to me, although i'm unsure how we would handle versioning of those files.
Change 631857 had a related patch set uploaded (by Nikki Nikkhoui; owner: Nikki Nikkhoui):
[wvui@master] Blubber config npm publish
Change 631864 had a related patch set uploaded (by Nikki Nikkhoui; owner: Nikki Nikkhoui):
[integration/config@master] WVUI pipeline update
Change 631864 merged by jenkins-bot:
[integration/config@master] WVUI pipeline update
Change 637774 had a related patch set uploaded (by Nikki Nikkhoui; owner: Nikki Nikkhoui):
[wvui@master] Add optional build attribute
Change 637812 had a related patch set uploaded (by Nikki Nikkhoui; owner: Nikki Nikkhoui):
[wvui@master] Use nodejs 10 buster image
Change 638167 had a related patch set uploaded (by Nikki Nikkhoui; owner: Nikki Nikkhoui):
[wvui@master] Add Blubber generated Dockerfile to gitignore
Change 638167 merged by jenkins-bot:
[wvui@master] Add Blubber generated Dockerfile to gitignore
Change 647378 had a related patch set uploaded (by Nikki Nikkhoui; owner: Nikki Nikkhoui):
[wvui@master] Allow WVUI dev-releases in CI
Change 647378 abandoned by Nikki Nikkhoui:
[wvui@master] Allow WVUI dev-releases in CI
Reason: