GitHub lives under Connections in the Git category. Connect with GitHub (OAuth) is the recommended path. If OAuth is unavailable, store a personal access token.
When you create or edit a project, the Repositories field at the bottom chooses git hosting: Automatically generated (recommended) keeps repositories on MainPath GitLab. GitHub uses the account you connected here.
OAuth
- Open Connections → GitHub → Connect with GitHub.
- Sign in to GitHub and grant MainPath access to repositories, workflows, and organizations.
- After the callback the connection is available in the project picker.
OAuth requires a GitHub OAuth app for MainPath (GITHUB_OAUTH_CLIENT_ID / GITHUB_OAUTH_CLIENT_SECRET on the backend). If that app is missing, only the token path remains.
Personal access token
- In GitHub, under Settings → Developer settings → Personal access tokens, create a token (classic or fine-grained) with repository, workflow, and package access.
- Open Connections → GitHub → Add API token.
- Enter Name, Slug, the token, and optionally the GitHub URL (default
https://github.com; GitHub Enterprise differs).
MainPath checks the token against the GitHub API. For GitHub Enterprise, keep the base URL of your instance.
Use it on a project
- At the bottom of the project, choose GitHub and select this connection plus the organization or user namespace.
- Per component you can import an existing repository or let MainPath create one.
- MainPath writes
.github/workflows/ci.ymlthat includes the public workflows fromdoppelt-digital/app-project-github-actions. GitHub-hosted runners (ubuntu-24.04,macos-15) install toolchain versions through ASDF.
GitOps lives in the same GitHub namespace (gitops).