This describes the release process of the engines and SDKs.
The release process is make up of two parts:
- The release of the engines
- The release of the SDKs
The engine is released first because the SDKs depend on the engine.
The entire process is made up of a series of GitHub Actions workflows that are triggered by a GitHub release.
The FFI engine is released first because the SDKs depend on the engine.
The FFI engine gets built for each supported platform and is published to the GitHub release.
Releasing the engine is a three-step process:
- Create a new release in the flipt-engine-ffi package by updating the Cargo.toml file to a new version, tag, and push.
- The
release-ffi-engineworkflow will run, creating a new GitHub release. - The
package-ffi-engineworkflow will run, building the engine for each supported platform and publishing the artifacts to the GitHub release.
The WASM engines are built and bundled when the SDKs that depend on them are released.
We use a Python script to release the SDKs. The script is located in the release directory. See the README for more information.