~sircmpwn/sr.ht-docs

ref: 102d3cc62224b241e2f78fcea35e429a60408447 sr.ht-docs/dispatch.sr.ht/github.md -rw-r--r-- 2.4 KiB
102d3cc6Drew DeVault Drop ubuntu/disco; EoL'd upstream 1 year, 1 month ago

#title: GitHub integration

dispatch.sr.ht supports various integrations with GitHub. Some tips are provided here.

#Build environment

dispatch.sr.ht will check out the specific commit you pushed when submitting builds, and will rewrite the upstream clone URL to the fork when building pull requests.

#Configuring your sources list

Do not include .git at the end of your git clone URLs.

#Environment variables

The following environment variables are set when building commits:

  • GITHUB_DELIVERY: the webhook delivery UUID that triggered this build
  • GITHUB_EVENT: the event type ("push") that triggered this build
  • GITHUB_REF: the ref (e.g. "refs/heads/master") that was updated
  • GITHUB_REPO: the full name (e.g. "username/repo_name") of the GitHub repo

The following environment variables are set when building pull requests:

  • GITHUB_DELIVERY: the webhook delivery UUID that triggered this build
  • GITHUB_EVENT: the event type ("push") that triggered this build
  • GITHUB_PR_NUMBER: the pull request number
  • GITHUB_PR_TITLE: the title of the pull request
  • GITHUB_BASE_REPO: the full name (e.g. "username/repo_name") of the base repo
  • GITHUB_HEAD_REPO: the full name (e.g. "username/repo_name") of the head repo (fork)

#Configuring branch protection rules on GitHub

If you choose the "auto-merge" setting, builds.sr.ht will attempt to merge the pull request once the build completes successfully. You will likely want to add branch protection rules on GitHub to prevent this from happening before the pull request is reviewed.

To edit your branch protection rules, start by visiting "Branches" in your repository's settings.

Screenshot of the "branches" page

Select "Add rule".

Screenshot of "add rule"

Specify the branches you want the rule to apply to (e.g. "master") and configure the criteria which must be met for the pull request to be mergeable. For example, to require the code to be reviewed before merge:

Screenshot of code review settings

Important: if your account is an administrator on this GitHub repository, attempts to merge will succeed even if the branch protection rules are unmet. You must enable the "Include administrators" option to prevent this.

Screenshot of "Include administrators" option