Eido Build works on your GitHub repositories through a GitHub App named Eido, which your organisation creates and owns. There is no token to paste or renew, and GitHub never needs to reach your Eido Build.
Connect GitHub#
You need to be an owner of the GitHub organisation, or have one to hand.
- Go to Admin → Integrations and open GitHub.
- Press Create the app on GitHub. Eido Build describes the app to GitHub.
- On GitHub, an organisation owner confirms the new app.
- GitHub then asks which repositories to install it on. Choose the repositories Eido Build may work on.
You are sent back to Eido Build, and the GitHub panel now lists which projects’ repositories the app can reach.
How Eido Build uses it#
Whenever Eido Build needs a repository, it asks GitHub for a token for that one repository that lasts an hour.
- A stage that writes code gets a token that can push to that repository.
- An agent with read-only code access gets a token with read permission only, so GitHub itself refuses a push.
- No token is ever given to an agent. Inside the sandbox, Eido Build adds the token to git’s requests on the agent’s behalf.
Adding a repository later#
To let Eido Build work on another repository, add it to the app’s installation on GitHub: Organisation settings → GitHub Apps → Eido → Configure. Then point a project at it in Projects.
The GitHub panel in Eido Build tells you when a project’s repository is not one the app can reach.
Repository settings to check#
Automatically delete head branches should be off if any workflow merges more than once, for example into uat and then into main. GitHub deletes the branch at the first merge, which leaves the second with nothing to merge. Eido Build deletes the branch itself after the last merge. See Branches, builds and pull requests.
Branch protection applies to Eido Build as it does to everybody. A pull request Eido Build opens still needs the approvals your rules require, from people.
Builds#
The Build view on a work item reads GitHub Actions for the work item’s branch. There is nothing to set up for it beyond the app.