You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This document outlines the steps and processes for releasing a new version of one or more services in the `ethereum-optimism/infra` repository. The release process is driven by a GitHub Action (`Tag Service`) and subsequently triggers workflows in CircleCI to build and publish updated [these services/components](https://github.com/ethereum-optimism/infra/blob/main/ops/tag-service/tag-tool.py#L6-L13) selectively.
3
+
This documents the process of releasing a new version of one or more services in the `ethereum-optimism/infra` repository.
4
+
The release process is driven by CircleCI to build and publish components
4
5
5
6
## Release Process Overview
6
7
7
-
1.**Tagging and Releasing with GitHub Action**
8
+
1.**Tagging and Releasing**
8
9
9
-
The release process is initiated by the "Tag Service" GitHub Action [here](https://github.com/ethereum-optimism/infra/actions/workflows/tag-service.yml). To trigger this action:
10
-
11
-
- Select the branch containing the action—usually `main`.
12
-
- Choose the appropriate parameters to specify which services should be tagged and released.
10
+
The release process is initiated by creating a new tag on the main branch
11
+
The tag should be prefixed with the component and suffixed with release semver
> **Note**: Generally, the branch used for releases is `main` but if needed, you can use a different branch, say, if you'd like to create test releases from your branch.
15
15
16
-
The GitHub Action relies on `ops/tag-service`, which manages key release functions:
17
-
18
-
- Identifying supported services.
19
-
- Determining version increments.
20
-
- Specifying precise tags for release.
21
-
- Configuring the release title and release notes.
22
-
23
16
2.**Triggering the CircleCI Workflow**
24
17
25
-
Once a release tag is created by the above Github Action, the CircleCI `release` workflow is triggered. The configuration for this workflow is located in `.circle/config.yml` within the tagged release.
18
+
Once a release tag is created, the CircleCI `release` workflow is triggered. The configuration for this workflow is located in `.circle/config.yml` within the tagged release.
26
19
27
20
The workflow compares differences between the newly released tag and the `main` branch (the base revision). Based on these differences, it selectively toggles parameters to `true` only for services that have been updated. This prevents unnecessary builds or deployments when minor changes are made to unrelated services. [Refer to config here](https://github.com/ethereum-optimism/infra/blob/main/.circleci/config.yml#L18-L25).
28
21
29
22
3.**Approval Process for Certain Tags**
30
23
31
-
For specific tags ([listed here](https://github.com/ethereum-optimism/infra/blob/main/.circleci/continue_config.yml#L533)), the workflow pauses with a hold step that requires approval from a member of the `@release-managers` team on `ethereum-optimism` GitHub Organisation. Once approved, the workflow continues.
24
+
For specific tags ([listed here](https://github.com/ethereum-optimism/infra/blob/main/.circleci/continue_config.yml#L590)), the workflow pauses with a hold step that requires approval from a member of the `@release-managers` team on `ethereum-optimism` GitHub Organisation. Once approved, the workflow continues.
32
25
33
26
4.**Selective Component Release**
34
27
@@ -38,4 +31,12 @@ This document outlines the steps and processes for releasing a new version of on
38
31
-`docker-publish`: Publishes that image.
39
32
-`docker-tag-op-stack-release`: Attaches from more tags to that image compliant with OP-Stack releases.
40
33
41
-
Only the components that were updated in the GitHub release are built and delivered as Docker images.
34
+
Only the components that were updated in the circle ci release are built and delivered as Docker images.
35
+
36
+
## Requesting a Release as External Contributor
37
+
38
+
Typically a reviewer will publish a new release after reviewing the contribution.
39
+
Feel free to request a new release as part of the creating the PR in the PR description.
40
+
41
+
If no release has been created feel free to create an issue or reach out in the OP Stack Protocol R&D Discord
0 commit comments