Skip to content

Commit aae4468

Browse files
ci: prepare release script to run on v1.x branch (#5276)
Co-authored-by: Marylia Gutierrez <[email protected]>
1 parent 616d27a commit aae4468

File tree

3 files changed

+15
-14
lines changed

3 files changed

+15
-14
lines changed

.github/workflows/create-or-update-release-pr.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,15 +30,15 @@ jobs:
3030
uses: actions/checkout@v4
3131
with:
3232
repository: opentelemetrybot/opentelemetry-js
33-
ref: main
33+
ref: v1.x
3434
token: ${{ secrets.OPENTELEMETRYBOT_GITHUB_TOKEN }}
3535
- name: Sync with upstream
3636
run: |
3737
git remote show origin
3838
git remote add upstream https://github.com/open-telemetry/opentelemetry-js.git
3939
git fetch upstream
40-
git reset --hard upstream/main
41-
git push origin main --force
40+
git reset --hard upstream/v1.x
41+
git push origin v1.x --force
4242
4343
- uses: actions/setup-node@v4
4444
with:

doc/contributing/releasing.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,9 @@ We aim to eventually automate this process as much as possible.
77

88
1. Go to the [Release PR Workflow](https://github.com/open-telemetry/opentelemetry-js/actions/workflows/create-or-update-release-pr.yml)
99
2. Click "Run workflow"
10-
3. For `Release Type`, select if you want to create a release PR for a new `minor` or `patch` version.
11-
4. For `Release Scope`, select if you want to release
10+
3. For `Branch`, select the branch you want to release from, `main` (current major) or `1.x` (if you backported something)
11+
4. For `Release Type`, select if you want to create a release PR for a new `minor` or `patch` version.
12+
5. For `Release Scope`, select if you want to release
1213
- `experimental` (all packages under `./experimental/packages`)
1314
- `sdk` (all packages under `./packages/` and `./experimental/packages`)
1415
- `all` (all packages under `./api/`, `./packages/` and `./experimental/packages`; excludes `./semantic-conventions/`)
@@ -26,11 +27,11 @@ We aim to eventually automate this process as much as possible.
2627
## 3. Publish to NPM
2728

2829
> [!IMPORTANT]
29-
> This step will publish anything that's on `main` IF AND ONLY IF the version has been bumped. If the version for a package
30+
> This step will publish anything that's on the branch you're releasing from IF AND ONLY IF the version has been bumped. If the version for a package
3031
> has not been bumped, it will not publish a new version of the package.
3132
3233
1. Go to the [NPM publish workflow](https://github.com/open-telemetry/opentelemetry-js/actions/workflows/publish-to-npm.yml)
33-
2. Click "Run workflow" (from main)
34+
2. Click "Run workflow" (from `main` or `v1.x`, based on what branch you chose to create the release PR for)
3435
1. In rare cases not all packages are published due to a race when publishing, if you suspect this to
3536
be the case, re-run the workflow: there should be enough time from 1.
3637

package.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -60,19 +60,19 @@
6060
"_changelog:prepare_semconv": "node scripts/update-changelog.js ./semantic-conventions/CHANGELOG.md ./semantic-conventions/package.json",
6161
"_changelog:prepare_all": "npm run _changelog:prepare_api && npm run _changelog:prepare_experimental && npm run _changelog:prepare_stable",
6262
"_github:draft_release:all": "npm run _github:draft_release:api && _github:draft_release:experimental && _github:draft_release:stable",
63-
"_github:draft_release:api": "node scripts/extract-latest-release-notes.js ./api/CHANGELOG.md && VERSION=$(node scripts/get-version.js ./api/package.json | grep -oE '^[0-9]+\\.[0-9]+\\.[0-9]+$') && gh release create --draft --notes-file ./.tmp/release-notes.md --target main --title api/v$VERSION api/v$VERSION",
64-
"_github:draft_release:experimental": "node scripts/extract-latest-release-notes.js ./experimental/CHANGELOG.md && VERSION=$(node scripts/get-version.js ./experimental/packages/ | grep -oE '^[0-9]+\\.[0-9]+\\.[0-9]+$') && gh release create --draft --notes-file ./.tmp/release-notes.md --target main --title experimental/v$VERSION experimental/v$VERSION",
65-
"_github:draft_release:stable": "node scripts/extract-latest-release-notes.js ./CHANGELOG.md && VERSION=$(node scripts/get-version.js ./packages/ | grep -oE '^[0-9]+\\.[0-9]+\\.[0-9]+$') && gh release create --draft --notes-file ./.tmp/release-notes.md --target main --title v$VERSION v$VERSION",
66-
"_github:draft_release:semconv": "node scripts/extract-latest-release-notes.js ./semantic-conventions/CHANGELOG.md && VERSION=$(node scripts/get-version.js ./semantic-conventions/package.json | grep -oE '^[0-9]+\\.[0-9]+\\.[0-9]+$') && gh release create --draft --notes-file ./.tmp/release-notes.md --target main --title semconv/v$VERSION semconv/v$VERSION",
67-
"_github:update_release_pr_body_from_file": "gh pr edit --repo open-telemetry/opentelemetry-js $RELEASE_PR_OWNER:release/next-version --body-file ./.tmp/release-notes.md",
63+
"_github:draft_release:api": "node scripts/extract-latest-release-notes.js ./api/CHANGELOG.md && VERSION=$(node scripts/get-version.js ./api/package.json | grep -oE '^[0-9]+\\.[0-9]+\\.[0-9]+$') && gh release create --draft --notes-file ./.tmp/release-notes.md --target v1.x --title api/v$VERSION api/v$VERSION",
64+
"_github:draft_release:experimental": "node scripts/extract-latest-release-notes.js ./experimental/CHANGELOG.md && VERSION=$(node scripts/get-version.js ./experimental/packages/ | grep -oE '^[0-9]+\\.[0-9]+\\.[0-9]+$') && gh release create --draft --notes-file ./.tmp/release-notes.md --target v1.x --title experimental/v$VERSION experimental/v$VERSION",
65+
"_github:draft_release:stable": "node scripts/extract-latest-release-notes.js ./CHANGELOG.md && VERSION=$(node scripts/get-version.js ./packages/ | grep -oE '^[0-9]+\\.[0-9]+\\.[0-9]+$') && gh release create --draft --notes-file ./.tmp/release-notes.md --target v1.x --title v$VERSION v$VERSION",
66+
"_github:draft_release:semconv": "node scripts/extract-latest-release-notes.js ./semantic-conventions/CHANGELOG.md && VERSION=$(node scripts/get-version.js ./semantic-conventions/package.json | grep -oE '^[0-9]+\\.[0-9]+\\.[0-9]+$') && gh release create --draft --notes-file ./.tmp/release-notes.md --target v1.x --title semconv/v$VERSION semconv/v$VERSION",
67+
"_github:update_release_pr_body_from_file": "gh pr edit --repo open-telemetry/opentelemetry-js $RELEASE_PR_OWNER:release/next-v1-version --body-file ./.tmp/release-notes.md",
6868
"_github:update_release_pr_body:all": "node scripts/extract-latest-release-notes.js api/CHANGELOG.md ./CHANGELOG.md experimental/CHANGELOG.md && npm run _github:update_release_pr_body_from_file",
6969
"_github:update_release_pr_body:sdk": "node scripts/extract-latest-release-notes.js ./CHANGELOG.md experimental/CHANGELOG.md && npm run _github:update_release_pr_body_from_file",
7070
"_github:update_release_pr_body:experimental": "node scripts/extract-latest-release-notes.js experimental/CHANGELOG.md && npm run _github:update_release_pr_body_from_file",
7171
"_github:update_release_pr_body:semconv": "node scripts/extract-latest-release-notes.js semantic-conventions/CHANGELOG.md && npm run _github:update_release_pr_body_from_file",
7272
"_verify_release_kind": "echo $RELEASE_KIND | grep -oE '^(all|sdk|experimental|semconv):(minor|patch)$'",
7373
"_verify_release_remote": "git remote get-url $RELEASE_PR_REMOTE",
74-
"_github:update_release_branch": "npm run _verify_release_kind && npm run _verify_release_remote && (git checkout main && git pull upstream main && git branch -D release/next-version; git checkout -b release/next-version && npm run prepare_release:$RELEASE_KIND && git commit -am \"chore: prepare release\" && git push --set-upstream $RELEASE_PR_REMOTE --force release/next-version)",
75-
"github:create_or_update_release_pr": "npm run _github:update_release_branch && (gh pr create --repo open-telemetry/opentelemetry-js --title 'chore: prepare next release' --body ''; npm run _github:update_release_pr_body:$RELEASE_SCOPE)"
74+
"_github:update_release_branch": "npm run _verify_release_kind && npm run _verify_release_remote && (git checkout v1.x && git pull upstream v1.x && git branch -D release/next-v1-version; git checkout -b release/next-v1-version && npm run prepare_release:$RELEASE_KIND && git commit -am \"chore: prepare release\" && git push --set-upstream $RELEASE_PR_REMOTE --force release/next-v1-version)",
75+
"github:create_or_update_release_pr": "npm run _github:update_release_branch && (gh pr create --repo open-telemetry/opentelemetry-js --title 'chore: prepare next v1.x release' --body ''; npm run _github:update_release_pr_body:$RELEASE_SCOPE)"
7676
},
7777
"repository": "open-telemetry/opentelemetry-js",
7878
"keywords": [

0 commit comments

Comments
 (0)