Composite GitHub Action that configures Git for the GitHub Actions runner using a GitHub App for authentication. This enables secure git operations (push, tag, commit) without exposing personal access tokens.
- Generates a token from the GitHub App (
beplus-release-bot) - Configures git user name and email
- Sets up git credentials helper with the generated token
- Enables secure git operations (push, tag, commit) in subsequent steps
| Input | Required | Default | Description |
|---|---|---|---|
BE_RELEASE_GITHUB_APP_ID |
Yes | - | The App ID of your GitHub App |
BE_RELEASE_GITHUB_APP_PRIVATE_KEY |
Yes | - | The private key of your GitHub App |
BE_RELEASE_GITHUB_APP_NAME |
No | beplus-release-bot |
Name of the GitHub App (used for git user.name and user.email) |
- uses: beplus/setup-beplus/git@v1
with:
BE_RELEASE_GITHUB_APP_ID: ${{ secrets.BE_RELEASE_GITHUB_APP_ID }}
BE_RELEASE_GITHUB_APP_PRIVATE_KEY: ${{ secrets.BE_RELEASE_GITHUB_APP_PRIVATE_KEY }}If your app has a different name, override it:
- uses: beplus/setup-beplus/git@v1
with:
BE_RELEASE_GITHUB_APP_ID: ${{ secrets.BE_RELEASE_GITHUB_APP_ID }}
BE_RELEASE_GITHUB_APP_PRIVATE_KEY: ${{ secrets.BE_RELEASE_GITHUB_APP_PRIVATE_KEY }}
BE_RELEASE_GITHUB_APP_NAME: my-custom-bot- Go to your GitHub org settings → Developer settings → GitHub Apps
- Click New GitHub App
- Configure:
- App name:
beplus-release-bot(or your custom name) - Homepage URL:
https://github.com/beplus - Webhook: Uncheck "Active" (not needed for this use case)
- App name:
- Under Repository permissions, grant:
Contents: Read & Write(for commits, tags, pushes)Pull requests: Read & Write(optional, for PR comments)
- Click Create GitHub App
- Go to your org/repo settings → Integrations → GitHub Apps
- Click Install next to your app
- Select the repositories where it should have access
- In your repo settings → Secrets and variables → Actions:
- Add Variable:
BE_RELEASE_GITHUB_APP_ID(copy from app page) - Add Secret:
BE_RELEASE_GITHUB_APP_PRIVATE_KEY(generate and copy from app page)
- Add Variable:
Alternatively, set these at the organization level for use across multiple repos.