Currently releases are created manually, and binaries are built locally on a Linux machine. This PR automates the release creation and binary build processes on CI.
Summary of Changes
[x] Inserts a conditional step in the Circle config to publish a release if the commit is tagged.
[x] Adds scripts to handle building a release binary, fetching a GitHub token, creating a GitHub release, and upload a binary to it.
[x] Adds a package.json under the new ci directory to manage the few dependencies required by the above steps.
[x] Adds a CloudFormation template to manage CI users.
[x] Updates the contributing.md and release script to reflect the new workflow
[x] Patches a test to be compatible with postgres 10 and 11
Next steps
[x] Fix memory issue to get tests running
[x] Tweak the release scripts to run on all platforms
Context
Currently releases are created manually, and binaries are built locally on a Linux machine. This PR automates the release creation and binary build processes on CI.
Summary of Changes
Next steps
cc @miccolis @samely @lizziegooding @ingalls