Skip to content

Release Process

Richard Waltman edited this page Jul 27, 2019 · 22 revisions

Requirements

  • Python 3
  • On Mac pip3 install dmgbuild or pip install dmgbuild

Run the release script

The release process is simple. Just run the script "make-release.py" found in the root of the repository.

> python release-script/make-release.py

When prompted, drag and drop the OpenBCIHub folder (or .app file on mac). The script will copy the Hub to the right location. As an option, you can skip this step if you have the latest OpenBCIHub installed in the GUI data directory.

When finished, the script will print the location of the .zip file for upload.

Release Checklist

  • Create a release in the releases tab in Github
    • Paste the version number in the Tag and the Title fields
    • Paste the Change log contents (for this version) in the description
    • Check "This is a pre-release" if it's a beta release
  • Go to vscode (or whatever)
    • git fetch --all
    • git checkout <tag name> ex: git checkout v4.1.3-beta.2
    • Run the release script as described above. Follow the steps.
    • On Windows:
      • If signing, say yes
      • For windows signing to work, you need to add signtool to you path (click)
      • Enter the path to the .pfx file (including the file name at the end)
      • Enter the signing password
      • Sometimes, windows will throw an error saying it can't delete a folder (directory is not empty). If so, delete the folder manually and try again.
      • Also, for building 32 bit, you'll need to install Processing for Windows 32 bit. Then, rename processing-java.exe to processing-java32.exe, and add the containing folder to your PATH
      • For now, make sure to build 64bit-GUI w/ 64bit-Hub and a 32bit-GUI w/ 32bit-Hub.
    • On Mac:
      • Look for "successfully signed app" if you expect to sign the app.
      • A .dmg file will be created.
    • On Linux:
      • App does not need to be signed
      • A .zip file will be made for the 64bit distribution ex. openbcigui_v4.1.3-beta.2_linux64.zip
  • Upload the .dmg/.zip files to the release page