- Alpha - git branch: dev
- Beta - git branch: beta
- Stable - git branch: master
The alpha channel is automatically released for every successful push to dev.
- If there is a pending Native Extension server change, publish the stage server, which updates https://build-stage.defold.com.
- Collect release notes using
sripts/releasenotes_git.py
and post on forum.defold.com
-
Merge
editor-dev
intodev
$ git checkout editor-dev $ git pull $ git checkout dev $ git pull $ git merge editor-dev $ git push
-
Merge
dev
intobeta
$ git checkout beta $ git pull $ git merge dev $ git push
Beta beta channel is automatically released for every successful push to beta.
-
Collect release notes using
python scripts/releasenotes_git.py
and post on forum.defold.com and add the "BETA" tag to the headline
-
Switch to master branch, merge from beta:
$ git checkout master $ git pull $ git merge beta
-
Push master!
$ git push
This will trigger a build of the engines and editors for stable. Make a note of the release sha1 (the latest commit to the master branch on GitHub)
-
Fetch editor via:
http://d.defold.com/editor2/`STABLE-SHA1`/editor2/Defold-x86_64-darwin.dmg
http://d.defold.com/editor2/`STABLE-SHA1`/editor2/Defold-x86_64-win32.zip
http://d.defold.com/editor2/`STABLE-SHA1`/editor2/Defold-x86_64-linux.zip
-
Tag the release in git:
$ git checkout master $ git tag -a X.Y.Z (same as version produced by the bump)
Use tag message: Release X.Y.Z Add
-f
to force update the tag (in the case you need to amend an existing release for some reason).$ git push origin --tags
This will push the tags to GitHub, which is then used later in the release step. Add
-f
to force update the tags. -
Merge
master
intoeditor-dev
$ git checkout editor-dev $ git pull $ git merge master $ git push
This will trigger a build of the engines and editors for editor-alpha.
-
When the
editor-dev
is built, all channels have been updated
-
If everything is OK, time to release stable
-
If there is a pending Native Extension server change, publish the production server, which updates https://build.defold.com
-
Next, release the stable engine/editor:
$ ./scripts/build.py release
Important: Make sure the SHA1 and channel is correct!
-
Verify release by updating an old editor, OSX, Win and Linux. (Currently a bit deprecated workflow, since no one uses editor-stable)
-
Generate new API documentation and other documentation changes. From the
defold/defold.github.io
repo:$ cd defold.github.io $ ./update.py --download refdoc $ git commit -am "Updated reference documentation to 1.2.xxx" $ git push
-
Upload release artifacts to GitHub:
$ cd defold $ git checkout master $ ./scripts/build.py --github-token=YOUR_GITHUB_TOKEN release_to_github
-
Merge
master
into dev$ git checkout dev $ git pull $ git merge master
-
Bump version:
$ ./scripts/build.py bump $ git diff $ git add VERSION $ git commit > Message: "Bumped version to 1.2.xx" $ git push
-
Repost the releasenotes on the forum and remove the "BETA" part from the headline