From 4f25bc0798ee087732c16d46bff68cbcc265963d Mon Sep 17 00:00:00 2001 From: Louis-Maxime Piton Date: Fri, 17 Apr 2026 16:50:19 +0200 Subject: [PATCH 1/5] chore: Update release process with latest updates --- .../ouds-release-template.md | 21 +++++++------------ package.json | 2 ++ stories/create-stories-from-doc.js | 2 +- 3 files changed, 11 insertions(+), 14 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE/ouds-release-template.md b/.github/PULL_REQUEST_TEMPLATE/ouds-release-template.md index 4511ba9e7c..8f43f86098 100644 --- a/.github/PULL_REQUEST_TEMPLATE/ouds-release-template.md +++ b/.github/PULL_REQUEST_TEMPLATE/ouds-release-template.md @@ -4,20 +4,14 @@ - then, if bumping a minor or major version: - [ ] Manually search and replace `$current_version` in all files, meaning changes should happen in: - [ ] The style sheet loaded in `.storybook/preview-head.html` - - [ ] Some download links in the `README.md` - [ ] `docs_version` in `config.yml` and other references to the previous version - - [ ] `VERSION` in `js/src/base-component.js` - - [ ] `version_short` in `package.json` - - [ ] `scss/mixins/_banner.scss` - [ ] `scss/docs.scss` - [ ] Several markdown files and markdown extended files - [ ] Add docs version to `site/data/docs-versions.yml` - - [ ] Update the home news for the next release - - [ ] Move `site/content/docs/x.y` to `site/content/docs/x.y+1` - - [ ] Move `site/static/docs/x.y` to `site/static/docs/x.y+1` - [ ] Make sure the migration guide is updated only for the next version - [ ] (Major version) Manually update the version in `nuget/ouds-web.nuspec` and `nuget/ouds-web.sass.nuspec` - [ ] Check that the changes in the migration guide only apply to the latest version + - [ ] Update the home news for the next release - check wrong matches in `CHANGELOG.md`, and maybe `site/content/docs//migration.md` - :warning: check the `package-lock.json` and `package.json` content, only "@ouds/web" should have its version changed! - [ ] if the year changed recently, happy new year :tada: but please change © year in `.scss` main files (reboot, grid, utilities, and main file) as well as in `NOTICE.txt`. @@ -28,19 +22,20 @@ - [ ] Make sure to import all the bad named commits - [ ] Commit and push `dist` with a `chore(release): vx.y.z` commit message - [ ] Merge on `ouds/main` -- [ ] Tag your version, and push your tag using `git tag vx.y.z-ouds-web` and `git push vx.y.z-ouds-web` -- [ ] Pack and publish - - `npm pack` +- [ ] Tag your version, and push your tag using `git tag -s vx.y.z-ouds-web` and `git push origin vx.y.z-ouds-web` +- [ ] Pack and publish for the common part and all the brands + - `npm run pack` - if you are already logged in to NPM (with a personal account, for example), [you'd better use a repository scoped `.npmrc` file](https://stackoverflow.com/questions/30114166/how-to-have-multiple-npm-users-set-up-locally) - Publish: - if you're releasing a pre-release, use `--tag`, e.g. for v1-alpha1 `npm publish ouds-web-1.0.0-alpha1.tgz --tag next` - - `npm publish` + - `npm run publish` - [ ] check release on [NPM](https://www.npmjs.com/package/@ouds/web), [Nuget](https://www.nuget.org/packages/@ouds/web/), [Packagist](https://packagist.org/packages/orange-opensource/orange-boosted-bootstrap)… - [ ] publish documentation on `main` of the [ouds-web-doc](https://github.com/Orange-OpenSource/ouds-web-doc) repo: + - [ ] run `npm run storybook-build` (be careful that `release-sri` doesn't update `config.yml`s) + - [ ] remove `storybook` folder from `ouds-web-doc` - [ ] copy `../_site` to the `main` branch - - [ ] don't forget to update Storybook as well and double-check that pages are referenced - [ ] check every `index.html` used as redirections to redirect to the new release - [ ] when bumping minor or major version: ensure `dist` URLs in examples' HTML has changed - [ ] double-check everything before pushing, starting by searching for forgotten old version number occurrences @@ -48,7 +43,7 @@ - [ ] [create a GitHub release](https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/releases/new): - - attach the 2 zip files + - attach the 2 zip files per brand - paste the CHANGELOG / Ship list in the release's description diff --git a/package.json b/package.json index 0375bfabd2..a9954f92d9 100644 --- a/package.json +++ b/package.json @@ -74,6 +74,8 @@ "docs-serve-only": "sirv _site --no-clear --port 9001", "lockfile-lint": "lockfile-lint --allowed-hosts npm --allowed-schemes https: --empty-hostname false --type npm --path package-lock.json", "update-deps": "ncu -u -x eslint,eslint-config-xo,eslint-plugin-unicorn,karma-browserstack-launcher,karma-rollup-preprocessor,sass", + "pack": "npm pack && cd packages/orange-compact && npm pack && cd ../sosh && npm pack && cd ../orange && npm pack", + "publish": "npm login && npm publish --access public && cd packages/orange-compact && npm publish --access public && cd ../sosh && npm publish --access public && cd ../orange && npm publish --access public", "release": "npm-run-all storybook-build release-zip*", "release-sri": "node build/generate-sri.mjs", "release-version": "node build/change-version.mjs", diff --git a/stories/create-stories-from-doc.js b/stories/create-stories-from-doc.js index ba3a5a4f52..c6b6296e4b 100644 --- a/stories/create-stories-from-doc.js +++ b/stories/create-stories-from-doc.js @@ -71,7 +71,7 @@ createDirectoryIfNeeded(outputDirectory); // 'Error: Execution context was destroyed, most likely because of a navigation.': await Promise.all([ page.waitForNavigation(), - page.goto(`file://${__dirname}/../_site/docs/${file[1]}/${convertToKebabCase(file[0])}/index.html`), + page.goto(`file://${__dirname}/../_site/orange/docs/1.2/${file[1]}/${convertToKebabCase(file[0])}/index.html`), page.waitForNavigation() ]) From dfb540d24dd6e165f9e0106d1233236ed84eddc2 Mon Sep 17 00:00:00 2001 From: Louis-Maxime Piton Date: Tue, 21 Apr 2026 09:21:44 +0200 Subject: [PATCH 2/5] fix reviews --- .github/PULL_REQUEST_TEMPLATE/ouds-release-template.md | 9 +++------ stories/create-stories-from-doc.js | 4 +++- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE/ouds-release-template.md b/.github/PULL_REQUEST_TEMPLATE/ouds-release-template.md index 8f43f86098..825dd813f2 100644 --- a/.github/PULL_REQUEST_TEMPLATE/ouds-release-template.md +++ b/.github/PULL_REQUEST_TEMPLATE/ouds-release-template.md @@ -29,8 +29,6 @@ - Publish: - if you're releasing a pre-release, use `--tag`, e.g. for v1-alpha1 `npm publish ouds-web-1.0.0-alpha1.tgz --tag next` - `npm run publish` - - [ ] check release on [NPM](https://www.npmjs.com/package/@ouds/web), [Nuget](https://www.nuget.org/packages/@ouds/web/), [Packagist](https://packagist.org/packages/orange-opensource/orange-boosted-bootstrap)… - [ ] publish documentation on `main` of the [ouds-web-doc](https://github.com/Orange-OpenSource/ouds-web-doc) repo: - [ ] run `npm run storybook-build` (be careful that `release-sri` doesn't update `config.yml`s) @@ -40,11 +38,10 @@ - [ ] when bumping minor or major version: ensure `dist` URLs in examples' HTML has changed - [ ] double-check everything before pushing, starting by searching for forgotten old version number occurrences - [ ] Make the new release banner appears in the previous version of the doc (e.g. in v5.3 when releasing the v5.4.0 doc) - +- [ ] Run Algolia crawler for the new documentation to be indexed in the search engine - [ ] [create a GitHub release](https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/releases/new): - attach the 2 zip files per brand - paste the CHANGELOG / Ship list in the release's description - +- [ ] make an announcement in [GitHub Discussions](https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/discussions/categories/announcements) (+ pin the new GH Discussion) +- [ ] make an announcement on internal communication channels and publish posts :tada: - [ ] [publish on Nuget](https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/wiki/Generate-NuGet-packages) diff --git a/stories/create-stories-from-doc.js b/stories/create-stories-from-doc.js index c6b6296e4b..abcf03eea0 100644 --- a/stories/create-stories-from-doc.js +++ b/stories/create-stories-from-doc.js @@ -11,6 +11,7 @@ const fs = require('node:fs') const path = require('node:path') const puppeteer = require('puppeteer') // eslint-disable-line import/no-extraneous-dependencies +const packageJson = require('../package.json') function createDirectoryIfNeeded(path) { if (fs.existsSync(path)) { @@ -53,6 +54,7 @@ const toPascalCase = str => { // Get all stories that might be displayed const files = fs.readdirSync(path.resolve(__dirname, `../site/src/content/docs/components/`)).map(fileName => [toPascalCase(fileName.replace('.mdx', '')), 'components']) const snippets = fs.readFileSync(path.resolve(__dirname, '../site/src/assets/partials/snippets.js'), { encoding: 'utf8' }) +const docsVersion = packageJson.version.split('.').slice(0, 1).join('.') const outputDirectory = `${__dirname}/auto` createDirectoryIfNeeded(outputDirectory); @@ -71,7 +73,7 @@ createDirectoryIfNeeded(outputDirectory); // 'Error: Execution context was destroyed, most likely because of a navigation.': await Promise.all([ page.waitForNavigation(), - page.goto(`file://${__dirname}/../_site/orange/docs/1.2/${file[1]}/${convertToKebabCase(file[0])}/index.html`), + page.goto(`file://${__dirname}/../_site/orange/docs/${docsVersion}/${file[1]}/${convertToKebabCase(file[0])}/index.html`), page.waitForNavigation() ]) From 9acd5dc86c53ac0f363046ef79f097cae92cb493 Mon Sep 17 00:00:00 2001 From: Louis-Maxime Piton Date: Tue, 21 Apr 2026 10:00:13 +0200 Subject: [PATCH 3/5] . --- stories/create-stories-from-doc.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stories/create-stories-from-doc.js b/stories/create-stories-from-doc.js index abcf03eea0..4c4f2fb392 100644 --- a/stories/create-stories-from-doc.js +++ b/stories/create-stories-from-doc.js @@ -54,7 +54,7 @@ const toPascalCase = str => { // Get all stories that might be displayed const files = fs.readdirSync(path.resolve(__dirname, `../site/src/content/docs/components/`)).map(fileName => [toPascalCase(fileName.replace('.mdx', '')), 'components']) const snippets = fs.readFileSync(path.resolve(__dirname, '../site/src/assets/partials/snippets.js'), { encoding: 'utf8' }) -const docsVersion = packageJson.version.split('.').slice(0, 1).join('.') +const docsVersion = packageJson.version.split('.').slice(0, 2).join('.') const outputDirectory = `${__dirname}/auto` createDirectoryIfNeeded(outputDirectory); From beb4a7c9bfbdf43580802da8a0a959b00b318163 Mon Sep 17 00:00:00 2001 From: Louis-Maxime Piton Date: Tue, 21 Apr 2026 17:52:36 +0200 Subject: [PATCH 4/5] fix review Co-authored-by: Maxime Lardenois --- .../PULL_REQUEST_TEMPLATE/ouds-release-template.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE/ouds-release-template.md b/.github/PULL_REQUEST_TEMPLATE/ouds-release-template.md index 825dd813f2..64946eb567 100644 --- a/.github/PULL_REQUEST_TEMPLATE/ouds-release-template.md +++ b/.github/PULL_REQUEST_TEMPLATE/ouds-release-template.md @@ -8,9 +8,8 @@ - [ ] `scss/docs.scss` - [ ] Several markdown files and markdown extended files - [ ] Add docs version to `site/data/docs-versions.yml` - - [ ] Make sure the migration guide is updated only for the next version - - [ ] (Major version) Manually update the version in `nuget/ouds-web.nuspec` and `nuget/ouds-web.sass.nuspec` - [ ] Check that the changes in the migration guide only apply to the latest version + - [ ] (Major version) Manually update the version in `nuget/ouds-web.nuspec` and `nuget/ouds-web.sass.nuspec` - [ ] Update the home news for the next release - check wrong matches in `CHANGELOG.md`, and maybe `site/content/docs//migration.md` - :warning: check the `package-lock.json` and `package.json` content, only "@ouds/web" should have its version changed! @@ -31,14 +30,14 @@ - `npm run publish` - [ ] check release on [NPM](https://www.npmjs.com/package/@ouds/web), [Nuget](https://www.nuget.org/packages/@ouds/web/), [Packagist](https://packagist.org/packages/orange-opensource/orange-boosted-bootstrap)… - [ ] publish documentation on `main` of the [ouds-web-doc](https://github.com/Orange-OpenSource/ouds-web-doc) repo: - - [ ] run `npm run storybook-build` (be careful that `release-sri` doesn't update `config.yml`s) + - [ ] run `npm run storybook-build` from `Orange-Boosted-Bootstrap` (be careful that `release-sri` doesn't update `config.yml`s) - [ ] remove `storybook` folder from `ouds-web-doc` - - [ ] copy `../_site` to the `main` branch + - [ ] copy `Orange-Boosted-Bootstrap/_site` to the `ouds-web-doc#main` branch - [ ] check every `index.html` used as redirections to redirect to the new release - [ ] when bumping minor or major version: ensure `dist` URLs in examples' HTML has changed - [ ] double-check everything before pushing, starting by searching for forgotten old version number occurrences - - [ ] Make the new release banner appears in the previous version of the doc (e.g. in v5.3 when releasing the v5.4.0 doc) -- [ ] Run Algolia crawler for the new documentation to be indexed in the search engine + - [ ] Make the new release banner appears in the previous version of the doc (e.g. in v5.3 when releasing the v5.4.0 doc, search for `navbar navbar-expand supra d-none` and replace by `navbar navbar-expand supra`) +- [ ] Run Algolia crawler manually for the new documentation to be indexed in the search engine - [ ] [create a GitHub release](https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/releases/new): - attach the 2 zip files per brand - paste the CHANGELOG / Ship list in the release's description From 515b824b250f067a6acdbcd49c1f2bc5c3d3ddfe Mon Sep 17 00:00:00 2001 From: Louis-Maxime Piton Date: Mon, 27 Apr 2026 10:47:48 +0200 Subject: [PATCH 5/5] Add Algolia link --- .github/PULL_REQUEST_TEMPLATE/ouds-release-template.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/PULL_REQUEST_TEMPLATE/ouds-release-template.md b/.github/PULL_REQUEST_TEMPLATE/ouds-release-template.md index 64946eb567..f262ea174c 100644 --- a/.github/PULL_REQUEST_TEMPLATE/ouds-release-template.md +++ b/.github/PULL_REQUEST_TEMPLATE/ouds-release-template.md @@ -37,7 +37,7 @@ - [ ] when bumping minor or major version: ensure `dist` URLs in examples' HTML has changed - [ ] double-check everything before pushing, starting by searching for forgotten old version number occurrences - [ ] Make the new release banner appears in the previous version of the doc (e.g. in v5.3 when releasing the v5.4.0 doc, search for `navbar navbar-expand supra d-none` and replace by `navbar navbar-expand supra`) -- [ ] Run Algolia crawler manually for the new documentation to be indexed in the search engine +- [ ] Run Algolia crawler manually for the new documentation to be indexed in the search engine (https://dashboard.algolia.com/apps/AKIHKMSEKB/dashboard) - [ ] [create a GitHub release](https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/releases/new): - attach the 2 zip files per brand - paste the CHANGELOG / Ship list in the release's description