How Repository Identification Works
When the Trunk Analytics CLI uploads test results, it reads the git remote URL from your CI environment and parses it into three components:- Host:
github.com,gitlab.com, or your self-hosted instance - Owner: The organization or user (e.g.,
your-company) - Name: The repository name (e.g.,
your-repo)
Using Trunk with Forks
If you run tests from a fork, Trunk automatically keeps test results separate based on the fork’s remote URL. For example, if your company forksmetabase/metabase to your-company/metabase-fork:
You can use the same organization API token for both repositories. Trunk creates separate repo entries and keeps all test data isolated.
No special configuration is needed for forks. As long as your fork has a different remote URL (which it does by default), Trunk keeps the data separate automatically.
Verifying Your Remote URL
Before setting up uploads, verify your CI job is using the correct remote URL:Overriding Repository Detection
In some CI environments, you may need to manually specify the repository URL:- The git remote is not available or is incorrect
- You are uploading results from a build artifact without a git checkout
- A shallow clone has modified remotes
--repo-url flag:
TRUNK_REPO_URL environment variable:
Monorepo with Multiple Test Suites
To track different test suites within the same repository separately, use the--variant flag:
Troubleshooting
Test results appearing in wrong repository
- Check your git remote: Run
git remote -vin your CI job to verify the URL. - Check CI environment variables: Some CI providers override git configuration.
- Use explicit override: Set
--repo-urlto force the correct repository.
Duplicate repositories in dashboard
This can happen if the same repository is uploaded with different URL formats (e.g., HTTPS vs SSH). To resolve:- Standardize the remote URL format across all CI jobs.
- Use
--repo-urlto set a consistent URL. - Contact support@trunk.io to merge duplicate repository entries.