Corteza Core Repositories

Corteza build pipelines
Figure 1. A diagram outlining the release pipeline:

Dependency warnings

Go over each repository and (try to) assure that there aren’t any warnings with any of the dependencies. GitHub provides a friendly system for this, so that shouldn’t be an issue.

Building infrastructure

All Corteza repositories utilize GitHub workflows and actions to release server binaries, web application bundles, docker images, or other output formats.

Versioning

Bump the version of the NPM packages, following the CalVer standard; for example, 2020.9-rc.1.

Released versions should also be tagged.

Use this Git command to get it done:
# $V is the version; for example export V=2021.9.0;
git tag $V && git push origin $V;

NPM packages

The rest of the repositories depend on these two, so you should handle them first.

Table 1. A list of predefined decoders:

corteza-js

Steps to release:
  • remove node_modules and run yarn

  • bump the version

  • commit the changes

  • tag the version

  • run yarn build to build the package

  • run npm publish --dry-run to test the publish

  • run npm publish to publish

  • push the changes and the created tag to the Github repository

corteza-vue

Steps to release:
  • remove node_modules and run yarn

  • bump the version

  • run yarn cdeps to update all required Corteza dependencies

  • commit the changes

  • tag the version

  • run yarn build to build the package

  • run npm publish --dry-run to test the publish

  • run npm publish to publish

  • push the changes and the created tag to the Github repository

Web applications and Corredor server

Steps to release:
  • bump the version

  • run yarn cdeps to update all required Corteza dependencies

  • commit the changes

  • tag the version

  • push the changes and the created tag to the Github repository

Server

Steps to release:
  • commit the changes

  • tag the version

  • push the changes and the created tag to the Github repository

Binaries & Bundles

All of the outputs are stored on the https://releases.cortezaproject.org/files. When building the Docker images, the sources are taken from the storage mentioned above.

The Docker images are placed on the DockerHub.

Unofficially, you can use the released packages with a Vagrant box https://github.com/cortezaproject/corteza-vagrant.

Alternatively, you can (build and) install these packages manually, either on the virtual machine or a regular machine.

Meta repositories

Meta repositories are used to trigger the build process for web applications and the all-in-one Docker container.

Steps to release:
  • tag the version

  • push the changes and the created tag to the Github repository

The corteza-webapp (private) repository produces a single docker image containing all of the web applications.

The corteza (private) repository produces a single docker image and an RPM package containing the Corteza server and all of the web applications. The RPM package is located on the Corteza releases.