Skip to content

chore(ci): add individual publishing of packages MONGOSH-1871 #2289

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

Merged
merged 43 commits into from
Jan 14, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
a2f246b
WIP: individual publishing of packages
gagik Dec 10, 2024
417e1f4
use 2.3.7
gagik Dec 18, 2024
447e8d1
update package-lock.json and packages
gagik Dec 18, 2024
4c97468
restore changes
gagik Dec 19, 2024
8c9c214
ensure compatibility with old bump
gagik Dec 19, 2024
03ba373
wip
gagik Dec 19, 2024
ad630dc
switch to bump script
gagik Dec 30, 2024
28bfce7
Merge branch 'main' into gagik/individual-publishing
gagik Dec 30, 2024
45469f9
fix package bumping
gagik Dec 30, 2024
be919e0
check if bump is necessary for installs
gagik Dec 30, 2024
43c551d
remove old tests
gagik Dec 30, 2024
71aaa79
add publish-packages
gagik Dec 31, 2024
ceb13e7
remove package.json changes
gagik Dec 31, 2024
42d19ea
add ignore list
gagik Dec 31, 2024
bad9d59
set non-release package.json to 2.3.7
gagik Dec 31, 2024
193aa09
add bumping commit to release draft
gagik Dec 31, 2024
a19f408
set all to 2.3.7
gagik Dec 31, 2024
7ec4049
Update .github/workflows/release-packages.yml
gagik Dec 31, 2024
67c690d
fix removed compass skip
gagik Dec 31, 2024
9c4b387
switch to use app token
gagik Dec 31, 2024
4f43369
use bump in install script
gagik Dec 31, 2024
c9fd356
remove bump step
gagik Dec 31, 2024
285eda6
align with future release move changes
gagik Jan 6, 2025
69c8d6e
shorter
gagik Jan 6, 2025
68e3e62
fix naming
gagik Jan 6, 2025
ae5b5d4
Update .github/workflows/publish-auxiliary-packages.yml
gagik Jan 6, 2025
fc9a406
re-add bump
gagik Jan 6, 2025
72f04bd
Apply most changes from review
gagik Jan 6, 2025
69baf66
use npx and use tags in all cases
gagik Jan 8, 2025
72cde48
use monorepo tools as dependency
gagik Jan 8, 2025
4da9db1
remove bump, use version
gagik Jan 8, 2025
2b912d9
add and fix publish tests
gagik Jan 10, 2025
e2ceaa5
use a shell-api constant and switch to 2.3.8
gagik Jan 10, 2025
c736e32
Merge branch 'main' of github.com:mongodb-js/mongosh into gagik/indiv…
gagik Jan 10, 2025
e7d0a8c
set all packages to 2.3.8
gagik Jan 10, 2025
fa253de
revert to dev version
gagik Jan 10, 2025
9c4c358
use 2.3.8
gagik Jan 10, 2025
bb111a5
fix tests and match with mongosh --version
gagik Jan 10, 2025
4d4de5a
add basic bump tests, update evergreen config, and review fixes
gagik Jan 10, 2025
755e87a
Update .github/workflows/publish-auxiliary-packages.yml
gagik Jan 10, 2025
f0e985b
use token from bot
gagik Jan 13, 2025
5513ad7
Merge branch 'main' of github.com:mongodb-js/mongosh into gagik/indiv…
gagik Jan 13, 2025
28b8c37
minor change to test
gagik Jan 14, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .evergreen.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4274,6 +4274,8 @@ functions:
source .evergreen/setup-env.sh
export PUPPETEER_SKIP_DOWNLOAD="true"
npm run evergreen-release draft
git add .
git commit --no-allow-empty -m "chore(release): bump to prepare for mongosh release"
}

release_publish_download_and_list_artifacts:
Expand Down
2 changes: 2 additions & 0 deletions .evergreen/evergreen.yml.in
Original file line number Diff line number Diff line change
Expand Up @@ -919,6 +919,8 @@ functions:
source .evergreen/setup-env.sh
export PUPPETEER_SKIP_DOWNLOAD="true"
npm run evergreen-release draft
git add .
git commit --no-allow-empty -m "chore(release): bump to prepare for mongosh release"
}

release_publish_download_and_list_artifacts:
Expand Down
2 changes: 0 additions & 2 deletions .evergreen/install-npm-deps.sh
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,5 @@ npm run mark-ci-required-optional-dependencies
# along with its types, but npm wouldn't try and compile the addon
(npm ci && test -e node_modules/mongodb-client-encryption) || npm ci --ignore-scripts

npm run evergreen-release bump

echo "npm packages after installation"
npm ls || true
56 changes: 56 additions & 0 deletions .github/workflows/bump-auxiliary-packages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: Bump Auxiliary Packages
on:
workflow_dispatch:
push:
branches:
- main

jobs:
update_generated_files:
name: Bump packages
runs-on: ubuntu-latest
steps:
- uses: mongodb-js/devtools-shared/actions/setup-bot-token@main
id: app-token
with:
app-id: ${{ vars.DEVTOOLS_BOT_APP_ID }}
private-key: ${{ secrets.DEVTOOLS_BOT_PRIVATE_KEY }}
- uses: actions/checkout@v4
with:
# don't checkout a detatched HEAD
ref: ${{ github.head_ref }}

# this is important so git log can pick up on
# the whole history to generate the list of AUTHORS
fetch-depth: "0"
token: ${{ steps.app-token.outputs.token }}

- uses: actions/setup-node@v4
with:
node-version: 20.16.0
cache: "npm"

- name: Install [email protected]
run: |
npm install -g [email protected]

- name: Install Dependencies
run: |
npm ci

- name: Bump packages
run: |
npm run bump-auxiliary
git add .
git commit --no-allow-empty -m "chore(release): bump auxiliary packages" || 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 auxiliary packages"
branch: ci/bump-auxiliary-packages
title: "chore(release): bump auxiliary packages"
labels: no-title-validation
body: |
- Bumps auxiliary package versions. Merging will trigger a release of these packages.
58 changes: 58 additions & 0 deletions .github/workflows/publish-auxiliary-packages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: Publish Auxiliary Packages
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 auxiliary packages')

runs-on: ubuntu-latest

steps:
- uses: mongodb-js/devtools-shared/actions/setup-bot-token@main
id: app-token
with:
app-id: ${{ vars.DEVTOOLS_BOT_APP_ID }}
private-key: ${{ secrets.DEVTOOLS_BOT_PRIVATE_KEY }}

- uses: actions/checkout@v4
with:
# don't checkout a detatched HEAD
ref: ${{ github.head_ref }}

# this is important so git log can pick up on
# the whole history to generate the list of AUTHORS
fetch-depth: "0"
token: ${{ steps.app-token.outputs.token }}

- name: "Use Node.js 20"
uses: actions/setup-node@v4
with:
node-version: 20.16.0

- name: Install [email protected]
run: npm install -g [email protected]

- 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)"
npm run publish-auxiliary

8 changes: 2 additions & 6 deletions lerna.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
{
"packages": [
"configs/*",
"packages/*",
"scripts/docker"
],
"version": "0.0.0-dev.0"
"packages": ["configs/*", "packages/*", "scripts/docker"],
"version": "independent"
}
Loading
Loading