- Open a new issue or pick up an existing one
- Code, unit tests, document, etc.
- Commit your changes with message "Fix #X Issue title"
- Create a PR
- Check that the builds are green
- Fix any SonarQube issues that would have pop up during the builds
- Assign racodond (David RACODON) as reviewers of the PR
- Once approved, merge the PR (prefer Squash and merge)
- To retrieve dependencies:
npm install --no-optional
- To run unit tests:
npm run test
- To run end-to-end tests:
npm run e2e-test
.- If you are behind a proxy, uncomment (and update if necessary) line
seleniumInstallArgs: { // proxy: 'http://localhost:3128'
intest/e2e/conf/realm/part/chrome.js
andtest/e2e/conf/realm/part/firefox.js
. - Depending on the versions of Chrome and Firefox installed on your computer, you might need to update chromedriver version in
test/e2e/conf/realm/part/chrome.js
and gheckodriver version intest/e2e/conf/realm/part/firefox.js
.
- If you are behind a proxy, uncomment (and update if necessary) line
- To run end-to-end tests in Docker containers:
npm run e2e-test-docker
.- If you are behind a proxy, run
npm run e2e-test-docker -- --proxyPort=XXXX
instead.
- If you are behind a proxy, run
Requirements:
- Check that the latest build on master is green
- Check that the SonarQube quality gate is green
From your IDE:
- Checkout a clean
master
branch - Update the package version by running the following command replacing
<type>
with eithermajor
,minor
orpatch
:
npm version <type> -m "Release version %s"
It upgrades the version in package.json
and commit the change with "Release version X.X.X" message.
- Generate the JSDoc by running
npm run doc
- Push the changes in
./docs
to GitHub:git add docs && git commit -m "Generate documentation for version 2.5.0" && git push origin master
- Publish a new release of the npm package by running
npm publish
From your browser:
- Close the milestone
- Publish a new new release on GitHub:
- Tag version: npm package version
- Release title: short title describing the main change(s)
- Description: a link to the issues of the milestone (https://github.com/racodond/etaf/milestone/X?closed=1) + any other information that would be relevant