Skip to content

Commit

Permalink
Automate Homebrew portion of the release process
Browse files Browse the repository at this point in the history
  • Loading branch information
SeanTAllen committed Dec 24, 2019
1 parent ab124be commit be0e070
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 14 deletions.
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
name: Release

on:
push:
tags:
Expand All @@ -16,3 +18,12 @@ jobs:
env:
STDLIB_TOKEN: ${{ secrets.STDLIB_TOKEN }}

homebrew:
name: Bump Homebrew formula
runs-on: ubuntu-latest
steps:
- uses: mislav/bump-homebrew-formula-action@eb843fa04b91b8bc5d4953899e3fff15c95f347c
with:
formula-name: ponyc
env:
COMMITTER_TOKEN: ${{ secrets.HOMEBREW_RELEASE_TOKEN }
18 changes: 4 additions & 14 deletions RELEASE_PROCESS.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,10 @@ Go through all open PRs and check to see if they are updating the CHANGELOG. If

### Update Homebrew

The [ponyc Homebrew formula](https://github.com/Homebrew/homebrew-core/blob/master/Formula/ponyc.rb) is updated via a GitHub action called: ["Bump Homebrew formula"\(https://github.com/ponylang/ponyc/actions?query=workflow%3A%22Release%22).

If for some reason the GitHub action fails, you can use the following instructions to manually update:

Fork the [homebrew-core repo](https://github.com/Homebrew/homebrew-core) and then clone it locally. You are going to be editing "Formula/ponyc.rb". If you already have a local copy of homebrew-core, make sure you sync up with the main Homebrew repo otherwise you might change an older version of the formula and end up with merge conflicts.

Make sure you do your changes on a branch:
Expand Down Expand Up @@ -123,20 +127,6 @@ and should have a version field listing that matches the current release e.g. `0

In general, you should expect it to take about 30 to 50 minutes to build each package once CircleCI starts running the task.

### Wait on Homebrew

Periodically check on your Homebrew PR. They have a CI process and everything should flow through smoothly. If it doesn't attempt to fix the problem. If you can't fix the problem, leave a comment on the GitHub issue for this release asking for assistance.

Your PR will be closed once your change has been merged to master. Note, that your PR itself will not show as merged in GitHub- just closed. You can use the following command to verify that your change is on Homebrew master:

```bash
curl -sL https://raw.githubusercontent.com/Homebrew/homebrew-core/master/Formula/ponyc.rb | grep url
```

If the formulae has been successfully updated, you'll see the new download url in the output of the command. If it hasn't, you'll see the old url.

Note that its often quite quick to get everything through Homebrew's CI and merge process, however its often quite slow as well. We've seen their Jenkins CI often fail with errors that are unrelated to PR in question. Don't wait too long on Homebrew. If it hasn't passed CI and been merged within a couple hours move ahead without it having passed. If Homebrew is being slow about merging, when you inform Zulip, and pony-user of the release, note that the Homebrew version isn't available yet and include a link to the Homebrew PR and the ponyc Github release issue so that people can follow along. When the Homebrew PR is eventually merged, update pony-user and Zulip.

### Wait on Docker images to be built

As part of every release, 4 Docker images are built:
Expand Down

0 comments on commit be0e070

Please sign in to comment.