Skip to main content

CI/CD flow

Datagrok application is an incredibly powerful platform. With great power comes great responsibility. Which is why we created an automated flow to build, scan, test and publish our application. This way we prevent any vulnerable or broken code to be published.

The generalized CI/CD scheme consists of 4 steps: analyze, build, test, publish. More information can be found below in specific topics: release flow, public repository flow.

Release CI/CD flow

Release CI Flow

Public repository CI/CD flows

The public repository is one pnpm workspace, so every JavaScript job starts the same way. It installs dependencies once at the repository root with pnpm install --frozen-lockfile. Then it builds the changed project and everything that project depends on with Turborepo. The "install" and "build" steps in the diagrams below refer to these two commands. To reproduce them locally, see Build system.

Jobs use the grok from the workspace, not a globally installed one. If the tests of a package need another package on the test stand, the package lists it in grok.testDependencies.

Packages CI Flow

More information