- Create a service account in your Entire project.
- Give the service account access to a repository.
- Bind the service account to the GitHub repository that runs the workflow.
- Add the
entireio/setup-entireaction to the workflow.
You need permission to manage the Entire project.
Create a Service Account
svc_ ID. This is needed for the workflow.
By default, each project owner can have up to 5 service accounts, across all its projects. You can use one service account for each purpose.
Grant Access to a Repository
To give the service account a role on a repository in the same project, use the command:reader for a workflow that only fetches and writer for a workflow that pushes. A service account can only get access inside its own project.
Bind a GitHub Repository
To bind the service account to the GitHub repository whose workflows act as it, use the command:repository pin names one exact owner/repo. A service account has one GitHub binding.
To limit which workflows can sign in, such as one workflow file on main, add more pins. See GitHub Actions for every pin and which to use.
Add the Workflow
Addentireio/setup-entire before the steps that use Entire. The job needs id-token: write:
entire:// URL in the last step.
The action installs entire and git-remote-entire. It then exports the service-account token as ENTIRE_TOKEN, so later git and entire commands use it.
The token lives 45 minutes. A job that runs longer must run the action again.
See the action’s README for all inputs and outputs.
Troubleshooting
- No OIDC token: the workflow or job lacks
permissions: id-token: write, or the run is a pull request from a fork. GitHub gives fork runs no OIDC token. - Token exchange failed (HTTP 400): the service account has no binding, or the binding does not match the workflow. Check the
repositorypin and any other pins. - Repository not found when you push: the service account has no role on that repository.
- Anything else: see Service Account Troubleshooting.