There are two primary flows: the pull request flow and the deployment flow.
The deployment flow occurs on a daily basis. The PR flow happens whenever someone creates a new Pull Request. PRs can be created by contributors or by an automated tool updater that runs on a schedule.
Repository secrets are used to protect certain credentials, but also as repository-dependent parameters for the CI.
Secret | Description |
---|---|
MAIN_BRANCH | The main branch for OpenLane. Format: main |
Secret | Description |
---|---|
DOCKER_IMAGE | The name of the resulting Docker image (minus the tag). In our case, we use efabless/openlane . |
TOOL_DOCKER_IMAGE | The name of the resulting Docker images for tools (minus the tag). In our case, we use efabless/openlane-tools . |
DOCKERHUB_USER | A username for a user that has push access to the organization that owns DOCKER_IMAGE on Docker Hub. In our case, that's an Efabless Employee with push access. |
DOCKERHUB_PASSWORD | The password/token for the given username that has push access to the organization that owns DOCKER_IMAGE on Docker Hub. |
LOG_UPLOAD_INFO | Currently unused: Information on a cloud platform to upload buckets to, in the format platform:bucket:encoded_credentials , where platform can be gcp /aws /etc, bucket is the bucket name, and encoded_credentials are simply the relevant credentials encoded in base64. It's a bit convoluted, but it makes it so different CI users can switch the platform out by changing a single secret. Currently, only the Google Cloud Platform is supported. Support for other platforms can be added to upload_log_tarballs.py . If this secret is not specified, the logs will not be uploaded. |
Secret | Description |
---|---|
FORK_NAME | A fork to push branches for tool updates to. Format bot-account/OpenLane |
MY_TOKEN | A token for the bot account that owns the fork. |