Skip to content

Latest commit

 

History

History
127 lines (83 loc) · 3.86 KB

File metadata and controls

127 lines (83 loc) · 3.86 KB

Release guide

Release branches/channels

  • Alpha - git branch: dev
  • Beta - git branch: beta
  • Stable - git branch: master

Alpha

The alpha channel is automatically released for every successful push to dev.

Beta

  1. Merge editor-dev into dev

     $ git checkout editor-dev
     $ git pull
     $ git checkout dev
     $ git pull
     $ git merge editor-dev
     $ git push
    
  2. Merge dev into beta

     $ git checkout beta
     $ git pull
     $ git merge dev
     $ git push
    

    Beta beta channel is automatically released for every successful push to beta.

  3. Collect release notes using python scripts/releasenotes_git.py and post on forum.defold.com and add the "BETA" tag to the headline

Stable

  1. Switch to master branch, merge from beta:

    $ git checkout master
    $ git pull
    $ git merge beta
    
  2. 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)

  3. Fetch editor via:

    http://d.defold.com/archive/editor-alpha/`STABLE-SHA1`/editor-alpha/editor2/Defold-x86_64-darwin.dmg

    http://d.defold.com/editor-alpha/editor2/`STABLE-SHA1`/editor-alpha/editor2/Defold-x86_64-win32.zip

    http://d.defold.com/archive/editor-alpha/`STABLE-SHA1`/editor-alpha/editor2/Defold-x86_64-linux.zip

  4. 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.

Publishing Stable Release

  1. If everything is OK, time to release stable.

  2. If there is a pending Native Extension server change, publish the production server, which updates https://build.defold.com

  3. Next, release the stable engine/editor:

     $ git checkout master
     $ ./scripts/build.py release --channel=stable
    

    Important: Make sure the SHA1 and channel is correct!

  4. Merge master into editor-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.

  1. When the editor-dev is built, all channels have been updated.

  2. Verify release by updating an old editor, OSX, Win and Linux.

  3. Generate new API documentation and other documentation changes. From the defold/defold.github.io repo:

     $ cd defold.github.io
     $ git checkout master
     $ git pull
     $ ./update.py --download refdoc
     $ git commit -am "Updated reference documentation to 1.2.xxx"
     $ git push
    
  4. Merge master into dev:

     $ cd defold
     $ git checkout dev
     $ git pull
     $ git merge master
    
  5. Bump version:

     $ ./scripts/build.py bump
     $ git diff
     $ git add VERSION
     $ git commit -m "Bumped version to 1.2.xx"
     $ git push
    
  6. Repost the releasenotes on the forum and remove the "BETA" part from the headline

  7. Upload release artifacts to GitHub:

     $ cd defold
     $ git checkout master
     $ ./scripts/build.py --github-token=YOUR_GITHUB_TOKEN release_to_github