github
Prerequisites
ERN_GITHUB_TOKEN
environment variable must be set. This is aPersonal Access Token
, generated from GitHub, having read/write access to the different repositories.If you are not using
github.com
but your own GitHub enterprise server, the API url should be set in cauldrongithub
configuration asbaseUrl
. If your repositories are ingithub.com
, nothing needs to be done.
Usage
The github
commands can be used to automate some advanced custom development/release workflows when working with MiniApps / JS API Implementations that are handled as GitHub urls in the Cauldron rather than NPM published versions.
For example, in an hypothetical development workflow for MyAwesomeApp Android
you might use dummy version 1000.0.0
in your Cauldron, with all MiniApps tracking the development
branch. Then to regenerate a new development Container, you would just invoke ern cauldron regen-container container, which would pull the latest from the development
branches, generate and publish a new Container and update the SHAs
in the Cauldron.
Let's assume there are three tracked MiniApps fro version 1000.0.0
, this would result in the following entry in the Cauldron (excluding some data):
Your mobile application release workflow might include a code-freeze
, where release branches are cut for all MiniApps.
For example, assuming you are preparing release of version 1.0.0
of your mobile application, what could be done is the following :
Create new application version
MyAwesomeApp:android:1.0.0
in Cauldron using ern cauldron add nativeapp command, copying data over from1000.0.0
version.Create new
Release/1.0.0
branches in all MiniApps repositories, using the ern github create-ref command.Update
MyAwesomeApp:android:1.0.0
MiniApps in the Cauldron, to track this newRelease/1.0.0
branch rather thandevelopment
, using the [ern cauldron update miniapps] command.
This would result in the following entry in Cauldron:
Then it's possible to regenerate post freeze Containers for 1.0.0
, by just using ern cauldron regen-container command for 1.0.0
. As long as MiniApp developpers are pushing post code freeze bug fixes to the Release/1.0.0
of the MiniApps branches. Developers can continue pushing changes to their development
branch to continue generating development
Containers for the next release.
At release time (when 1.0.0
is released to the store) you might want to create tags in the MiniApps repositories, to exactly know what was shipped for each MiniApps.
One way to do that is to just use the ern github create-ref command, this time to create tags (RELEASE_1.0.0
for example), from the current SHAs stored for the MiniApps, and then use [ern cauldron update miniapps] command to update the Cauldron. This would result in the following entry in Cauldron:
[ern cauldron update miniapps]: ./cauldron/update/miniapps.md
Last updated