When we launched Now for GitHub in June last year, our goal was to provide you with an easy way to deploy your latest changes without any extra effort. The Now for GitHub integration allows for a seamless workflow if you use GitHub for collaboration and Now for deployments.
Today, we would like to announce two major improvements to Now for GitHub:
  • Improved deployments interface
  • Improved forked repo deployment workflow

Better interface on GitHub and Slack

Push your code to GitHub and receive Now build notifications on Slack. Track all staging deployments clearly on the Pull Request itself.

We now take advantage of GitHub's Deployment API which enables us to provide a better interface around builds and deployments on GitHub.

The activity log for all deployments in the repository can be found on the deployments page .

Combined with GitHub's first-class Slack integration, you get richer, relevant, and timely information right into your Slack.

Deployment powered by Now for GitHub and
instant Slack notification powered by Slack + GitHub integration .

Going forward, every successfully deployed commit within a Pull Request gets a staging label, as well as a View Deployment button next to it. This makes it easy for you to quickly verify the build against every single commit.
If you have GitHub's Slack integration set up, you can configure notifications to show with statuses and deployments. This makes relevant information available instantly to the right channels.

Every successfully deployed commit in a Pull Request receives a View Deployment button.

Automated tests on successful deployments

GitHub's Deployment API makes it possible to pass the URL of a successful Now deployment to other GitHub integrations that wait on a deployment to run. Thanks to that, one can now run automated tests upon deployment, and use the results from the tests to determine if a Pull Request should be merged.
There are 3rd party services available to help with the automated testing.
One great example is Ghost Inspector, which integrates with GitHub seamlessly.
Together, Now and Ghost Inspector allow for catching and fixing expensive bugs early on, and therefore, merging Pull Requests with confidence.

Integrating Ghost Inspector on top of Now for GitHub allows for dependable application monitoring and release.

Deployment authorizations for forked repos

If a Pull Request made from a forked repo to the parent attempts to update now.json, we now fail the build and request an authorization from the parent repo. This ensures that we only build for commits that are anticipated and helps keep the source files further secure.

Commits landing in Pull Requests from forked repos don't get built unless they are authorized.

No more builds on forked repos

Previously, if a forked repo had Now for GitHub set up, we would deploy commits pushed to the forked repo. This has sometimes led to conflicting deployments, as well as errors with aliasing. To prevent this, we now only build commits on the parent repo. If Now for GitHub is set up on the forked repo, commits pushed to the forked repo don't build and deploy unless they're a part of a Pull Request to the parent repo.

By preventing builds on forked repos, we are now able to avoid confusing aliasing errors such as the one illustrated above .

Conclusion

Since the launch of Now for GitHub, we have been lucky to receive lots of positive feedback, as well as enhancement suggestions from our users. We pay close attention and work on enhancing developer experience at every opportunity we find. In previous blog posts, we highlighted Improvements to Workflow, Instant Rollbacks, and Auto Job Cancellation.
Our mission at ZEIT is to make the cloud accessible to all. In the case of developers, one way we do this is by raising the industry standard for developer experience. Now for GitHub is a big part of that initiative, and we welcome any feedback, ideas or suggestions through our Twitter.