- Node 22 (matches CI/Netlify — see
NODE_VERSIONin the Netlify environment) - Docker
- Create a
.envwith the scheme found here: https://github.com/include-dcc/include-portal-ui/blob/main/.env.schema - Make sure to fill all the variables
- Start bastion using:
igor
- Install dependencies:
npm install - Start the project:
npm start
- Clone: https://github.com/include-dcc/include-users-api
- Follow the steps here: https://github.com/include-dcc/include-users-api/blob/main/README.md
- Make sure to add the include keycloak config for the users-api in your
.env
Checkout the dev branch and make sure you are up to date:
git checkout dev
git pull-
Bump the version with
npm version <new-version> --no-git-tag-version. This updates bothpackage.jsonandpackage-lock.jsontogether. Never hand-edit the version in only one of the two files — it desyncs the lockfile. -
Verify the lockfile is in sync by running
npm ci --dry-runlocally — it must complete without error. (--dry-runruns the samepackage.json↔package-lock.jsonsync check Netlify does, but does not delete or reinstallnode_modules.)⚠️ If it fails withnpm ci can only install packages when your package.json and package-lock.json ... are in sync, runnpm installto reconcile the lockfile, then commit the updatedpackage-lock.json. -
Update NEWS.md with release notes (ask the Product Owner)
-
Commit and push directly on dev:
git add package.json package-lock.json NEWS.md
git commit -m "chore: SJIP-000 Release <new-version>"
git push origin dev
⚠️ Keeppackage.jsonandpackage-lock.jsonin sync. The Netlify build runsnpm ci(see thebuild:netlifyscript), which refuses to install — and fails the deploy — when the two files disagree. Localnpm install/npm startsilently auto-heal the lockfile, so drift won't surface until the deploy breaks. Always runnpm cilocally before pushing any dependency or version change.
- Checkout the main branch and make sure both main and dev are up to date:
git checkout dev && git pull # make sure dev is current
git checkout main && git pull # then switch to main, up to date- Merge dev into main:
git merge dev- Push directly on main:
git push origin main-
Go to Netlify and make sure the deployment is successful
-
In Github Compare make sure dev and main branch are sync (no change between them)
-
In Github Releases draft a new release with the version and the content used in NEWS.md, make sure to target main branch
-
Move JIRA tickets in Ready to Deploy to Done
-
Do a quick check on the Include PRD to make sure everything works