Skip to content

Build and release

CI

A GitHub Actions CI workflow is automatically generated when you generate a new solution or package with lime-project.

A new version of a package or a solution is automatically created when a commit is pushed to main or a branch is merged to main. The CI workflows support pre-releases using a branch named dev

If you want to see the status of your package build, you can browse to the tab "Actions" in your package repo. Here you can also see the logs if you want to find out why a job failed.

Semantic Release

Your commit message matters, it automatically decides the next version number of your code project!

Every code project at Lime uses semantic release. Semantic-release uses the commit messages to determine the next version of your code. Following formalized conventions for commit messages, semantic-release automatically determines the next semantic version number, generates a changelog and publishes the release. Read more about it here

lime-buildtools

The tool lime-buildtools is responsible for building a Lime project. It will parse your pyproject.toml and figure out how your solution or package should be built.

[tool.lime.project]
project_type = "solution|package"

Frontend build

It's possible to bundle static content in your python project. You can do that by defining custom build steps, that are executed by lime-buildtools during the build phase.

Consider the following entry in pyproject.toml:

[[tool.lime.static_content]]
[tool.lime.static_content.build_step]
cwd = "frontend"
commands = ["npm ci", "npm run build"]
[tool.lime.static_content.copy_step]
source = "frontend/dist"
destination = "solution_my_solution/web_components/static"

The following happens when this is executed:

  1. npm ci is executed in the frontend folder.
  2. npm run build is executed in the frontend folder.
  3. The folder frontend/dist is copied to solution_my_solution/web_components/static.

Info

This entry is automatically added when a web-component is generated with lime-project

Local build

A new release of a project can be built with

lime-buildtools semantic-release-build