From 5820475ce51fe5bfa25f9300bd9a72b63312a04a Mon Sep 17 00:00:00 2001 From: Alex Ross <38270282+alexr00@users.noreply.github.com> Date: Thu, 20 Nov 2025 15:36:49 +0100 Subject: [PATCH 1/7] Use nextVersion in pipeline --- build/pipeline.yml | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/build/pipeline.yml b/build/pipeline.yml index 1b0c4fe1..4c85b985 100644 --- a/build/pipeline.yml +++ b/build/pipeline.yml @@ -1,5 +1,3 @@ -name: $(Date:yyyyMMdd)$(Rev:.r) - trigger: branches: include: @@ -15,10 +13,12 @@ resources: endpoint: Monaco parameters: - - name: publishPackage - displayName: 🚀 Publish codicons - type: boolean - default: false + - name: nextVersion + displayName: '🚀 Release Version (eg: none, major, minor, patch, prerelease, or X.X.X)' + type: string + default: 'none' + +name: "$(Date:yyyyMMdd).$(Rev:r)${{ replace(format(' (🚀 {0})', parameters.nextVersion), ' (🚀 none)', '') }}" extends: template: azure-pipelines/npm-package/pipeline.yml@templates @@ -33,4 +33,13 @@ extends: - script: npm run build displayName: Build npm package - publishPackage: ${{ parameters.publishPackage }} + ${{ if or(eq(parameters.nextVersion, 'prerelease'), and(in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI'), eq(variables['Build.SourceBranch'], 'refs/heads/main'))) }}: + publishPackage: true + publishRequiresApproval: false + nextVersion: prerelease + tag: next + ${{ elseif eq(parameters.nextVersion, 'none') }}: + publishPackage: false + ${{ else }}: + publishPackage: true + nextVersion: ${{ parameters.nextVersion }} From c8b515788ef7bba37a6c7ac870996cc09bdd8754 Mon Sep 17 00:00:00 2001 From: Alex Ross <38270282+alexr00@users.noreply.github.com> Date: Thu, 20 Nov 2025 15:40:39 +0100 Subject: [PATCH 2/7] fix version --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6c064915..0de75a39 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@vscode/codicons", - "version": "0.0.42", + "version": "0.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@vscode/codicons", - "version": "0.0.42", + "version": "0.0.0", "license": "CC-BY-4.0", "devDependencies": { "ansi-regex": ">=5.0.1", diff --git a/package.json b/package.json index 456840d9..c600663a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@vscode/codicons", - "version": "0.0.42", + "version": "0.0.0", "fontVersion": "1.15", "description": "The icon font for Visual Studio Code", "license": "CC-BY-4.0", From 0423bf646e11e3360bacdf300012d83329cac7da Mon Sep 17 00:00:00 2001 From: Alex Ross <38270282+alexr00@users.noreply.github.com> Date: Fri, 21 Nov 2025 11:11:48 +0100 Subject: [PATCH 3/7] RELEASING.md --- RELEASING.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 RELEASING.md diff --git a/RELEASING.md b/RELEASING.md new file mode 100644 index 00000000..0611e3d0 --- /dev/null +++ b/RELEASING.md @@ -0,0 +1,14 @@ +## Pre-release + +Pre-release builds are created automatically for each push to `main`. The builds have the same `major.minor.patch` version as the latest release, but with an additional pre-release identifier `-N`, where `N` is the number of pre-releases since the latest release. For example, if the latest release is `0.0.0` and there have been 5 pre-releases since then, the next pre-release build will be versioned `0.0.0-5`. + +## Stable release + +Stable releases are created by triggering the release pipeline: https://monacotools.visualstudio.com/Monaco/_build?definitionId=631 +To create a stable release, you'll need to specify one of the following release types in the "Release Version" parameter: +- `patch`: for backward-compatible bug fixes +- `minor`: for backward-compatible new features +- `major`: for changes that break backward compatibility +- `X.X.X`: for specifying an exact version number + +Most of the time, you'll want to use `patch` or `minor`. \ No newline at end of file From 6d9a05492827a372f033fcce6ed671d6154da712 Mon Sep 17 00:00:00 2001 From: Alex Ross <38270282+alexr00@users.noreply.github.com> Date: Fri, 21 Nov 2025 11:15:10 +0100 Subject: [PATCH 4/7] releasing improvements --- RELEASING.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/RELEASING.md b/RELEASING.md index 0611e3d0..ed91e934 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -6,9 +6,11 @@ Pre-release builds are created automatically for each push to `main`. The builds Stable releases are created by triggering the release pipeline: https://monacotools.visualstudio.com/Monaco/_build?definitionId=631 To create a stable release, you'll need to specify one of the following release types in the "Release Version" parameter: +- `prerelease`: for creating a pre-release build - `patch`: for backward-compatible bug fixes - `minor`: for backward-compatible new features - `major`: for changes that break backward compatibility -- `X.X.X`: for specifying an exact version number -Most of the time, you'll want to use `patch` or `minor`. \ No newline at end of file +Most of the time, you'll want to use `patch` or `minor`. For any of the above release types, the version number will be incremented automatically based on the latest stable release. + +To create a stable release at a specific version, you can use `X.X.X` format (e.g., `1.2.3`). In this case, the version number will be set exactly as specified, regardless of the previous latest stable release. From e77acad8c8d10bdedeb0ca8ea8acfaa3001dbd8c Mon Sep 17 00:00:00 2001 From: Alex Ross <38270282+alexr00@users.noreply.github.com> Date: Fri, 21 Nov 2025 11:17:38 +0100 Subject: [PATCH 5/7] Releasing and changelog --- build/pipeline.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build/pipeline.yml b/build/pipeline.yml index 4c85b985..71ef0283 100644 --- a/build/pipeline.yml +++ b/build/pipeline.yml @@ -43,3 +43,5 @@ extends: ${{ else }}: publishPackage: true nextVersion: ${{ parameters.nextVersion }} + ghCreateRelease: true + ghReleaseAddChangeLog: true From b3b1663ae87e8748e55bbceef08ca2bda7b53951 Mon Sep 17 00:00:00 2001 From: Alex Ross <38270282+alexr00@users.noreply.github.com> Date: Fri, 21 Nov 2025 11:20:34 +0100 Subject: [PATCH 6/7] Releasing from other branches --- RELEASING.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/RELEASING.md b/RELEASING.md index ed91e934..27b85acf 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -14,3 +14,10 @@ To create a stable release, you'll need to specify one of the following release Most of the time, you'll want to use `patch` or `minor`. For any of the above release types, the version number will be incremented automatically based on the latest stable release. To create a stable release at a specific version, you can use `X.X.X` format (e.g., `1.2.3`). In this case, the version number will be set exactly as specified, regardless of the previous latest stable release. + +## Releasing from other branches + +To release from a branch other than `main`, you can choose the branch from the "Select pipeline version by branch/tag" dropdown when you run the pipeline. +Then, specify the desired release type as described above. + +Releasing from other branches is useful for creating recovery releases and pre-releases for testing. \ No newline at end of file From bfc527f142b6653e4bda176ab1823760ae8dff12 Mon Sep 17 00:00:00 2001 From: Alex Ross <38270282+alexr00@users.noreply.github.com> Date: Thu, 22 Jan 2026 12:30:18 +0100 Subject: [PATCH 7/7] more releasing info --- RELEASING.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/RELEASING.md b/RELEASING.md index 27b85acf..3dcd1e43 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -20,4 +20,13 @@ To create a stable release at a specific version, you can use `X.X.X` format (e. To release from a branch other than `main`, you can choose the branch from the "Select pipeline version by branch/tag" dropdown when you run the pipeline. Then, specify the desired release type as described above. -Releasing from other branches is useful for creating recovery releases and pre-releases for testing. \ No newline at end of file +Releasing from other branches is useful for creating recovery releases and pre-releases for testing. + +## Adopting updates in microsoft/vscode + +Update the `@vscode/codicons` dependency version in `microsoft/vscode`'s `package.json`s: + +- https://github.com/microsoft/vscode/blob/main/remote/web/package.json +- https://github.com/microsoft/vscode/blob/main/package.json + +Then, run `npm i` in `microsoft/vscode` to update the `package-lock.json`s and make a PR with your changes. \ No newline at end of file