Publishing new versions to the NPM Package (@dnb/eufemia) is handled by a Deploy Server.

CI Structure

Actually, both the Portal (dnb-design-system-portal) and the NPM Package (@dnb/eufemia) are deployed and build by a Continuous Integration (CI) Server.

Once you push your branch feat/your-feature (or what ever) to remote origin, all tests will be run against your latest pushes.

Merges from a Pull Request and other pushes to the development branch origin/main, will trigger a test build of the Portal. This way me make sure that a new Portal version can be build, before we actually publish a new build.

The Release Branch

Make sure you only make Pull Request from origin/main into origin/release. The Release Branch is more kind of a secondary branch. It reflects the latest version, but is actually only used to publish new versions and to make builds for the Portal.

TODO: GitFlow and CI structure graphics

Steps to follow

The steps, from code changes to production builds are:

  1. Make your changes and write tests and test the codebase
  2. Update eventually snapshots (yarn test:update)
  3. Commit your changes with the correct message decoration
  4. Push or make a Pull Request to the origin/main branch
  5. Wait until the CI Server has validated the commits
  6. Make a Pull Request
  7. Once the Pull Request will be approved by one of the authored repo contributors,
  8. The CI Server will deploy the Portal and NPM builds