-
Notifications
You must be signed in to change notification settings - Fork 67
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore(ci): add individual publishing of packages MONGOSH-1871 #2289
Open
gagik
wants to merge
31
commits into
main
Choose a base branch
from
gagik/individual-publishing
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 17 commits
Commits
Show all changes
31 commits
Select commit
Hold shift + click to select a range
a2f246b
WIP: individual publishing of packages
gagik 417e1f4
use 2.3.7
gagik 447e8d1
update package-lock.json and packages
gagik 4c97468
restore changes
gagik 8c9c214
ensure compatibility with old bump
gagik 03ba373
wip
gagik ad630dc
switch to bump script
gagik 28bfce7
Merge branch 'main' into gagik/individual-publishing
gagik 45469f9
fix package bumping
gagik be919e0
check if bump is necessary for installs
gagik 43c551d
remove old tests
gagik 71aaa79
add publish-packages
gagik ceb13e7
remove package.json changes
gagik 42d19ea
add ignore list
gagik bad9d59
set non-release package.json to 2.3.7
gagik 193aa09
add bumping commit to release draft
gagik a19f408
set all to 2.3.7
gagik 7ec4049
Update .github/workflows/release-packages.yml
gagik 67c690d
fix removed compass skip
gagik 9c4b387
switch to use app token
gagik 4f43369
use bump in install script
gagik c9fd356
remove bump step
gagik 285eda6
align with future release move changes
gagik 69c8d6e
shorter
gagik 68e3e62
fix naming
gagik ae5b5d4
Update .github/workflows/publish-auxiliary-packages.yml
gagik fc9a406
re-add bump
gagik 72f04bd
Apply most changes from review
gagik 69baf66
use npx and use tags in all cases
gagik 72cde48
use monorepo tools as dependency
gagik 4da9db1
remove bump, use version
gagik File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
name: Bump packages | ||
on: | ||
workflow_dispatch: | ||
push: | ||
branches: | ||
- main | ||
|
||
jobs: | ||
update_generated_files: | ||
name: Bump packages | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Create Github App Token | ||
uses: mongodb-js/devtools-shared/actions/setup-bot-token@main | ||
id: app-token | ||
with: | ||
app-id: ${{ vars.DEVTOOLS_BOT_APP_ID }} | ||
gagik marked this conversation as resolved.
Show resolved
Hide resolved
|
||
private-key: ${{ secrets.DEVTOOLS_BOT_PRIVATE_KEY }} | ||
|
||
- uses: actions/checkout@v4 | ||
with: | ||
# don't checkout a detatched HEAD | ||
ref: ${{ github.head_ref }} | ||
|
||
- uses: actions/setup-node@v4 | ||
with: | ||
node-version: 20.16.0 | ||
cache: "npm" | ||
|
||
- name: Install npm@10.2.4 | ||
run: | | ||
npm install -g npm@10.2.4 | ||
|
||
- name: Install Dependencies | ||
run: | | ||
npm -v | ||
npm ci | ||
|
||
- name: Bump packages | ||
env: | ||
LAST_BUMP_COMMIT_MESSAGE: "chore(release): bump package versions" | ||
SKIP_BUMP_PACKAGES: "mongodb-compass" | ||
gagik marked this conversation as resolved.
Show resolved
Hide resolved
|
||
run: | | ||
npm run bump-packages | ||
git add . | ||
git commit --no-allow-empty -m "$LAST_BUMP_COMMIT_MESSAGE" || true | ||
|
||
- name: Create Pull Request | ||
uses: peter-evans/create-pull-request@5e914681df9dc83aa4e4905692ca88beb2f9e91f # 7.0.5 | ||
with: | ||
token: ${{ steps.app-token.outputs.token }} | ||
commit-message: "chore(release): bump package versions" | ||
branch: ci/bump-packages | ||
title: "chore(release): bump package versions" | ||
labels: no-title-validation | ||
body: | | ||
- Bump package versions |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
name: Publish | ||
on: | ||
# NOTE: avoid using the manual execution unless is the only way to fix some issue, | ||
# rather retry failed jobs in case of flakes. The manual execution can potentially | ||
# cause the tags to point to a different commit that the one used to publish | ||
# the packages | ||
workflow_dispatch: | ||
push: | ||
branches: | ||
- main | ||
|
||
jobs: | ||
publish: | ||
if: | | ||
github.event_name == 'workflow_dispatch' || | ||
startsWith(github.event.head_commit.message, 'chore(release): bump package versions') | ||
|
||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
with: | ||
# don't checkout a detatched HEAD | ||
ref: ${{ github.head_ref }} | ||
|
||
# this is important so git log has the whole history | ||
fetch-depth: '0' | ||
gagik marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
- name: Setup git | ||
run: | | ||
git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" | ||
git config --local user.name "github-actions[bot]" | ||
gagik marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
- name: "Use Node.js 14" | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: 20.16.0 | ||
|
||
- name: Install npm@10.2.4 | ||
run: npm install -g npm@10.2.4 | ||
|
||
- name: Install Dependencies | ||
run: | | ||
npm run bootstrap-ci | ||
shell: bash | ||
|
||
- name: "Publish what is not already in NPM" | ||
env: | ||
NPM_TOKEN: ${{ secrets.DEVTOOLSBOT_NPM_TOKEN }} | ||
run: | | ||
echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" >> .npmrc | ||
npm config list | ||
echo "Publishing packages as $(npm whoami)" | ||
git update-index --assume-unchanged .npmrc | ||
npm run publish-packages | ||
|
||
- name: "Publish tags" | ||
run: | | ||
npx lerna list -a --json | \ | ||
jq -r '.[] | .name + "@" + .version' | \ | ||
xargs -i sh -c "git tag -a {} -m {} || true" | ||
git push --follow-tags |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,4 @@ | ||
{ | ||
"packages": [ | ||
"configs/*", | ||
gagik marked this conversation as resolved.
Show resolved
Hide resolved
|
||
"packages/*", | ||
"scripts/docker" | ||
], | ||
"version": "0.0.0-dev.0" | ||
"packages": ["configs/*", "packages/*", "scripts/docker"], | ||
"version": "independent" | ||
gagik marked this conversation as resolved.
Show resolved
Hide resolved
|
||
} |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The idea here is that this will bump both "independent" and mongosh packages before the release draft and push it to main, so our branch is consistent with what we're releasing.
It might also make sense to only persist this after the release is published.
I am assuming this should work? Though not sure if the evergreen git setup has ability to push to main like this?