Gerrit Integration
Set up FirmwareCI integration with Gerrit repositories using service user credentials and CLI-based synchronization.
Prerequisites
- Repository set up with
.firmwareciinfrastructure (see Repository Setup) - Gerrit service user account with appropriate permissions
fwciCLI tool authenticated
Limitations
Important: Gerrit integration currently supports CLI-based synchronization only. Webhook-based automatic synchronization is not available.
This means:
- Manual synchronization required for each commit
- No automatic validation on pushes
- Status updates require additional setup (see Gerrit Integration Plugin)
Setup Steps
1. Create Service User
In Gerrit, create or use an existing service user account with:
- Read access to the repository
- Permission to post review comments (for status updates)
2. Generate HTTP Password
For the service user:
- Navigate to Settings > HTTP Password in Gerrit
- Generate or note the HTTP password
- Important: This is NOT the user’s login password
3. Run Integration Command
Provide the service user credentials:
$ fwci integration --gerrit-auth="USERNAME:PASSWORD"Example:
$ fwci integration --gerrit-auth="firmwareci-bot:abc123xyz"4. Verify Integration
View configured integration:
$ fwci integrationCLI Synchronization
Gerrit integration requires manual commit synchronization using the CLI. See CLI Synchronization for complete instructions including the --force flag for automation.
HTTPS Authentication
When synchronizing with HTTPS remotes fails, see these extra authentication options:
Environment Variables (Recommended):
export GIT_TOKEN=your_http_password
export GERRIT_USERNAME=your_gerrit_usernameInteractive Prompt (Fallback):
Enter username for https://gerrit.example.com/repo: your_gerrit_username
Enter token/password for https://gerrit.example.com/repo: <your HTTP password>Important: Use your Gerrit HTTP password, not your site login password.
Status Updates to Gerrit
To post test results back to Gerrit changes, additional setup is required.
See the Gerrit Integration documentation for: