Apolo CLI uses release
branch to scaffold flow configuration and structure.
-
Merge all necessary PRs and ensure that
master
is green, update your local master branch:$ git checkout master $ git pull origin
-
Test
master
manually:$ cookiecutter gh:neuro-inc/flow-template -c master flow_name [My flow]: flow_dir [my flow]: flow_id [my_flow]: code_directory [modules]: preserve Apolo Flow template hints [yes]: $ cd my project $ ls Dockerfile HELP.md README.md apt.txt config data modules notebooks requirements.txt results setup.cfg update_actions.py $ apolo-flow build train $ apolo-flow upload ALL $ apolo-flow run jupyter ...
-
Generate changelog:
make changelog-draft
- verify changelog looks validmake changelog
- delete changelog items fromCHANGELOG.d
and really modify CHANGELOG.mdgit add CHANGELOG* version.txt
git commit -m "Update version and changelog for $(cat version.txt) release"
- commit changelog changes in local repositorygit tag $(cat version.txt)
- mark latest changes as a release taggit push && git push --tags
- push the updated changelog and assigned tag to the remote repository- Note, this
master
branch update will trigger CI
-
Now, hard-reset
release
branch onmaster
(actual release):$ git checkout release $ git reset --hard master $ git push # no need to push --force since `release` will move only forward
-
Once
release
is green, test it viacookiecutter gh:neuro-inc/flow-template --checkout release
, and if everything's fine, publish new release to Slack:#platform-feedback
.
- When CI is triggered:
- Each open PR (even draft PR) agains
master
. - Each new commit to
master
andrelease
.
- Each open PR (even draft PR) agains