Details
-
Task
-
Status: Closed (View Workflow)
-
TBD
-
Resolution: Done
-
None
-
-
DevOps Sprint 139, DevOps Sprint 140, DevOps Sprint 141, DevOps Sprint 142
-
FOLIO DevOps
-
TBD
Description
Summary: Use NodeJS's Active LTS (v16 as of February 2022) in GitHub Actions CI images, by setting NODEJS_VERSION: '16' in /.github/actions/build-npm* and changing related values accordingly for NodeJS 16/NPM 8 compatibility. There are four changes in total in the .github/workflows files:
- replace
NODEJS_VERSION: '12'
with
NODEJS_VERSION: '16'
- below FOLIO_NPM_REGISTRY, in build-npm-release.yml add
FOLIO_NPM_REGISTRY_AUTH: '//repository.folio.org/repository/npm-folio/'
and in build-npm.yml add
FOLIO_NPM_REGISTRY_AUTH: '//repository.folio.org/repository/npm-folioci/'
- replace
npm config set _auth $NODE_AUTH_TOKEN
with
npm config set $FOLIO_NPM_REGISTRY_AUTH:_auth $NODE_AUTH_TOKEN
- in multiple locations, replace
uses: actions/setup-node@v2
with
uses: actions/setup-node@v3
This is also a good time to remove engines.node from package.json because that is a statement of production compatibility and in production this is not a node app. Although we leverage node in development to run lint, tests, compile translations, etc., node is not a production dependency.
Details: While investigating some recent UI test failures in CI, we discovered the build-npm.yml files used by most UI repos pin the NodeJS version to v12 (e.g. from ui-requests), a release that is nearing EOL. We’d like to stick to the Active LTS (v16 at present), which I think will happen automatically if we unset the node-version, or if we accept the default version. I don't have strong feelings about the "right" approach; I am sympathetic to avoiding defaults in order to directly control the env as much as possible, but also to the fact that we have many UI apps and issuing 60+ "bump Node's Active LTS version" PRs every year is no fun.
Additional relevant links originally provided by julianladisch:
- https://github.com/folio-org/folio-tools/blob/master/jenkins-slave-docker/Dockerfile.focal-java-11#L33
- https://github.com/folio-org/folio-ansible/blob/master/roles/stripes-build/tasks/main.yml#L72
- https://github.com/folio-org/.github/blob/master/workflow-templates/build-npm.yml#L27
- https://github.com/folio-org/.github/blob/master/workflow-templates/build-npm-release.yml#L30
TestRail: Results
Attachments
Issue Links
- blocks
-
FOLIO-3452 Roll out Github Actions to remaining ui-* and stripes-* repos using the developed Python script
-
- Closed
-
-
FOLIO-3510 UI builds fail in CI during translation compilation
-
- Closed
-
- is cloned by
-
FOLIO-3434 Update NodeJS to Active LTS (v16) in Jenkins images
-
- Closed
-
- relates to
-
FOLIO-3433 provide Dockerfile-ish access to GitHub Actions CI images
-
- Open
-
-
FOLIO-3510 UI builds fail in CI during translation compilation
-
- Closed
-
-
FOLIO-3511 Verify node v16 build with a Jenkins-based UI module repo
-
- Closed
-
-
ERM-2957 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
ESCONF-22 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
FOLIO-3324 Pin to node 14 for release builds
-
- Closed
-
-
FOLIO-3509 npm publish fails in CI boxes after Node 16 upgrade
-
- Closed
-
-
STCLI-208 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
STCOM-996 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
STCON-134 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
STCOR-623 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
STFORM-23 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
STRIPES-802 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
STRIPESFF-16 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
STSMACOM-664 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
STUTL-24 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UIAC-51 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UIBULKED-94 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UICAL-202 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UICHKIN-338 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UICHKOUT-782 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UICIRC-815 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UICIRCLOG-99 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UICR-156 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UID-115 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UIDATIMP-1179 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UIDEXP-278 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UIEH-1283 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UIEUS-294 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UIEXPMGR-45 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UIF-382 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UIIN-2049 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UIINREACH-174 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UILDP-55 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UIMARCAUTH-149 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UIMPROF-71 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UINOTES-126 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UINV-409 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UIOA-120 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UIOAIPMH-54 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UIOR-974 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UIORGS-319 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UIPBEX-37 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UIPCIR-37 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UIPER-95 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UIPFCONT-25 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UIPFF-7 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UIPFI-103 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UIPFIMP-49 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UIPFINT-29 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UIPFO-29 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UIPFPAT-44 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UIPFPOL-45 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UIPFU-52 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UIPFU-67 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UIPFUDP-21 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UIQM-241 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UIREC-240 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UIREQ-780 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UIRS-78 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UISE-153 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UISP-34 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UITAG-55 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UITEN-215 update NodeJS to v16 in GitHub Actions
-
- Open
-
-
UITEN-252 update NodeJS to v16 in GitHub Actions
-
- Closed
-
-
UIU-2607 update NodeJS to v16 in GitHub Actions
-
- Closed
-