Build a stand-alone binary, with embedded resources
bitrise run go-install
Run in development mode
In the Workflow Editor's directory, run docker-compose up.
In your browser, you can reach the Workflow Editor on localhost:1234. Be aware that you usually have to wait a while.
By default, the Workflow Editor will open the bitrise.yml and .bitrise.secrets.yml found in this folder. For testing purposes, you probably want to be able to edit custom files. This can be achieved by setting the TEST_BITRISE_CONFIG_PATH and TEST_BITRISE_SECRETS_PATH environment variables with the path pointing to the custom files' paths.
Run tests
In the Workflow Editor's directory, run up-middleman-jasmine.
In your browser, you can reach the tests on localhost:4567/jasmine.
Every time you make a change to the code, you have to exit the running workflow and start it up again. You can make changes to the specs without having to do this.
New version release
Ensure clean git
Bump RELEASE_VERSION in bitrise.yml
Call bitrise run create-release
Update changelog in CHANGELOG.md
If new release requires Bitrise CLI to be updated, in bitrise-plugin.yml change min_version requirement of the bitrise tool to the required CLI version
Commit changes with message vX.X.X, push it
On GitHub, create new release with title and tag X.X.X, description from changelog, starting with Release Notes, up to but not including Release Commits
Wait for the create-release workflow to finish successfully on Bitrise
Download the generated artifacts from Bitrise
In terminal, run chmod +x <path to generated binary> && <path to generated binary> version --full
After finish and double-checking build number and commit hash on Bitrise, run to check if binary is working
On GitHub, attach the binaries, then select Publish release
On discuss.bitrise.io, in Changelog category, create a topic called Workflow Editor vX.X.X released. Description should include the changelog (with URLs to related GitHub issues) and a link to the installation instructions.
On GitHub, close the related GitHub issues, and milestones if the issues were assigned to any.