Skip to content

Commit 6b650c8

Browse files
jelias2scharissis
andauthored
chore(docs): updates release.md (#272)
* feat: updates to release.md * Update RELEASE.md Co-authored-by: Stefano Charissis <[email protected]> --------- Co-authored-by: Stefano Charissis <[email protected]>
1 parent 5de266e commit 6b650c8

File tree

1 file changed

+17
-16
lines changed

1 file changed

+17
-16
lines changed

RELEASE.md

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,27 @@
11
# Release Process
22

3-
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
45

56
## Release Process Overview
67

7-
1. **Tagging and Releasing with GitHub Action**
8+
1. **Tagging and Releasing**
89

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
12+
Ex. op-acceptor/v0.1.6 / <component>/v<major>.<minor>.<patch>
1313

1414
> **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.
1515
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-
2316
2. **Triggering the CircleCI Workflow**
2417

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.
2619

2720
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).
2821

2922
3. **Approval Process for Certain Tags**
3023

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.
3225

3326
4. **Selective Component Release**
3427

@@ -38,4 +31,12 @@ This document outlines the steps and processes for releasing a new version of on
3831
- `docker-publish`: Publishes that image.
3932
- `docker-tag-op-stack-release`: Attaches from more tags to that image compliant with OP-Stack releases.
4033

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
42+

0 commit comments

Comments
 (0)