Skip to content

Commit a760fdb

Browse files
committed
1.48.0 & Publishing Guide
* also update TheiaIDEGettingStartedWidget Contributed on behalf of STMicroelectronics
1 parent 4682fb9 commit a760fdb

File tree

12 files changed

+685
-546
lines changed

12 files changed

+685
-546
lines changed

Jenkinsfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,7 @@ spec:
261261
container('jnlp') {
262262
script {
263263
uploadInstaller('windows')
264-
copyInstallerAndUpdateLatestYml('windows', 'TheiaIDESetup', 'exe', 'latest.yml', '1.46.0,1.46.100,1.47.0')
264+
copyInstallerAndUpdateLatestYml('windows', 'TheiaIDESetup', 'exe', 'latest.yml', '1.46.0,1.46.100,1.47.0,1.47.100')
265265
}
266266
}
267267
}

PUBLISHING.md

+68
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
# Publishing
2+
3+
This guide contains the steps to publish a new version of the Theia IDE.
4+
5+
Every commit to master will be published as a preview version.
6+
Updates will only work when there was a version change.
7+
8+
## Update Package Versions and Theia
9+
10+
If there was *no* Theia release we usually want to increment the patch version by 1, e.g. 1.47.100 -> 1.47.101.
11+
12+
If there was a new Theia *minor* release, e.g. 1.48.0, we want to use the same version as Theia.
13+
14+
If there was a new Theia *patch* release, e.g. 1.48.1, we use Theia's patch version multiplied by 100, e.g. 1.48.100.
15+
16+
```sh
17+
# Update mono repo version
18+
yarn version
19+
20+
# Update version of all packages
21+
yarn lerna version --exact --no-push --no-git-tag-version
22+
23+
# If there was a Theia release, update Theia dependencies
24+
yarn update:theia 1.48.0 && yarn update:theia:children 1.48.0
25+
26+
# Update yarn.lock
27+
yarn
28+
```
29+
30+
If there was a Theia Release
31+
32+
* check if there are any breaking changes
33+
* check if new built-ins are available
34+
35+
and adapt the code/built-ins accordingly.
36+
37+
Next, update the `Jenkinsfile`'s `copyInstallerAndUpdateLatestYml` invocation for windows. Here we have to specficy for which olders versions we want to enable direct (incremental) updates to this version on Windows.\
38+
See <https://download.eclipse.org/theia/ide-preview/> for the available old versions.\
39+
*We plan to automate this, but at the moment it's a manual step.*
40+
41+
E.g.:\
42+
`copyInstallerAndUpdateLatestYml('windows', 'TheiaIDESetup', 'exe', 'latest.yml', '1.46.0,1.46.100,1.47.0')`\
43+
->\
44+
`copyInstallerAndUpdateLatestYml('windows', 'TheiaIDESetup', 'exe', 'latest.yml', '1.46.0,1.46.100,1.47.0,1.47.100')`
45+
46+
Finally, open a PR with your changes.
47+
48+
## Upgrade Dependencies
49+
50+
We want to run `yarn upgrade` regularily to get the latest versions of our dependencies.
51+
You may want to keep this in a separate PR as this might require IP Reviews from the Eclipse Foundation and may take some time.
52+
After an upgrade you should check the used `electron` version in the `yarn.lock`.
53+
If there was an update, update `electronVersion` in `applications/electron/electron-builder.yml` accordingly.
54+
55+
## Promote IDE from Preview to Stable Channel
56+
57+
You can promote the IDE via this [Build Job](https://ci.eclipse.org/theia/job/Theia%20-%20Promote%20IDE/).
58+
59+
In `VERSION` specfiy which version to copy from <https://download.eclipse.org/theia/ide-preview/>, e.g. 1.48.0.
60+
61+
In `TOUPDATE` specify the older versions for which you want to enable direct (incremental) updates on windows.\
62+
See <https://download.eclipse.org/theia/ide/> for the old releases.
63+
E.g. `1.45.0,1.46.100,1.47.100`.\
64+
*We plan to automate this, but at the moment it's a required parameter.*
65+
66+
## Publish Docker Image
67+
68+
Run this [workflow](https://github.com/eclipse-theia/theia-blueprint/actions/workflows/publish-theia-ide-img.yml) from the master branch.

applications/browser/package.json

+44-43
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"name": "theia-ide-browser-app",
44
"description": "Eclipse Theia IDE browser product",
55
"productName": "Theia IDE",
6-
"version": "1.47.100",
6+
"version": "1.48.0",
77
"license": "MIT",
88
"author": "Eclipse Theia <[email protected]>",
99
"homepage": "https://github.com/eclipse-theia/theia-blueprint#readme",
@@ -44,50 +44,50 @@
4444
}
4545
},
4646
"dependencies": {
47-
"@theia/bulk-edit": "1.47.1",
48-
"@theia/callhierarchy": "1.47.1",
49-
"@theia/console": "1.47.1",
50-
"@theia/core": "1.47.1",
51-
"@theia/debug": "1.47.1",
52-
"@theia/editor": "1.47.1",
53-
"@theia/editor-preview": "1.47.1",
54-
"@theia/external-terminal": "1.47.1",
55-
"@theia/file-search": "1.47.1",
56-
"@theia/filesystem": "1.47.1",
57-
"@theia/getting-started": "1.47.1",
58-
"@theia/keymaps": "1.47.1",
59-
"@theia/markers": "1.47.1",
60-
"@theia/memory-inspector": "1.47.1",
61-
"@theia/messages": "1.47.1",
62-
"@theia/metrics": "1.47.1",
63-
"@theia/mini-browser": "1.47.1",
64-
"@theia/monaco": "1.47.1",
65-
"@theia/navigator": "1.47.1",
66-
"@theia/outline-view": "1.47.1",
67-
"@theia/output": "1.47.1",
68-
"@theia/plugin-dev": "1.47.1",
69-
"@theia/plugin-ext": "1.47.1",
70-
"@theia/plugin-ext-vscode": "1.47.1",
71-
"@theia/preferences": "1.47.1",
72-
"@theia/process": "1.47.1",
73-
"@theia/property-view": "1.47.1",
74-
"@theia/scm": "1.47.1",
75-
"@theia/search-in-workspace": "1.47.1",
76-
"@theia/secondary-window": "1.47.1",
77-
"@theia/task": "1.47.1",
78-
"@theia/terminal": "1.47.1",
79-
"@theia/timeline": "1.47.1",
80-
"@theia/toolbar": "1.47.1",
81-
"@theia/typehierarchy": "1.47.1",
82-
"@theia/userstorage": "1.47.1",
83-
"@theia/variable-resolver": "1.47.1",
84-
"@theia/vsx-registry": "1.47.1",
85-
"@theia/workspace": "1.47.1",
47+
"@theia/bulk-edit": "1.48.0",
48+
"@theia/callhierarchy": "1.48.0",
49+
"@theia/console": "1.48.0",
50+
"@theia/core": "1.48.0",
51+
"@theia/debug": "1.48.0",
52+
"@theia/editor": "1.48.0",
53+
"@theia/editor-preview": "1.48.0",
54+
"@theia/external-terminal": "1.48.0",
55+
"@theia/file-search": "1.48.0",
56+
"@theia/filesystem": "1.48.0",
57+
"@theia/getting-started": "1.48.0",
58+
"@theia/keymaps": "1.48.0",
59+
"@theia/markers": "1.48.0",
60+
"@theia/memory-inspector": "1.48.0",
61+
"@theia/messages": "1.48.0",
62+
"@theia/metrics": "1.48.0",
63+
"@theia/mini-browser": "1.48.0",
64+
"@theia/monaco": "1.48.0",
65+
"@theia/navigator": "1.48.0",
66+
"@theia/outline-view": "1.48.0",
67+
"@theia/output": "1.48.0",
68+
"@theia/plugin-dev": "1.48.0",
69+
"@theia/plugin-ext": "1.48.0",
70+
"@theia/plugin-ext-vscode": "1.48.0",
71+
"@theia/preferences": "1.48.0",
72+
"@theia/process": "1.48.0",
73+
"@theia/property-view": "1.48.0",
74+
"@theia/scm": "1.48.0",
75+
"@theia/search-in-workspace": "1.48.0",
76+
"@theia/secondary-window": "1.48.0",
77+
"@theia/task": "1.48.0",
78+
"@theia/terminal": "1.48.0",
79+
"@theia/timeline": "1.48.0",
80+
"@theia/toolbar": "1.48.0",
81+
"@theia/typehierarchy": "1.48.0",
82+
"@theia/userstorage": "1.48.0",
83+
"@theia/variable-resolver": "1.48.0",
84+
"@theia/vsx-registry": "1.48.0",
85+
"@theia/workspace": "1.48.0",
8686
"fs-extra": "^9.0.1",
87-
"theia-ide-product-ext": "1.47.100"
87+
"theia-ide-product-ext": "1.48.0"
8888
},
8989
"devDependencies": {
90-
"@theia/cli": "1.47.1"
90+
"@theia/cli": "1.48.0"
9191
},
9292
"scripts": {
9393
"clean": "theia clean && rimraf node_modules",
@@ -96,6 +96,7 @@
9696
"rebuild": "theia rebuild:browser --cacheRoot .",
9797
"start": "theia start --plugins=local-dir:../../plugins",
9898
"watch": "concurrently --kill-others -n tsc,build -c red,yellow \"tsc -b -w --preserveWatchOutput\" \"yarn -s watch:bundle\"",
99-
"update:next": "ts-node ../../scripts/update-theia-to-next.ts"
99+
"update:theia": "ts-node ../../scripts/update-theia-version.ts",
100+
"update:next": "ts-node ../../scripts/update-theia-version.ts next"
100101
}
101102
}

applications/electron/package.json

+49-48
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"name": "theia-ide-electron-app",
44
"description": "Eclipse Theia IDE product",
55
"productName": "Theia IDE",
6-
"version": "1.47.100",
6+
"version": "1.48.0",
77
"main": "scripts/theia-electron-main.js",
88
"license": "MIT",
99
"author": "Eclipse Theia <[email protected]>",
@@ -48,53 +48,53 @@
4848
}
4949
},
5050
"dependencies": {
51-
"@theia/bulk-edit": "1.47.1",
52-
"@theia/callhierarchy": "1.47.1",
53-
"@theia/console": "1.47.1",
54-
"@theia/core": "1.47.1",
55-
"@theia/debug": "1.47.1",
56-
"@theia/editor": "1.47.1",
57-
"@theia/editor-preview": "1.47.1",
58-
"@theia/electron": "1.47.1",
59-
"@theia/external-terminal": "1.47.1",
60-
"@theia/file-search": "1.47.1",
61-
"@theia/filesystem": "1.47.1",
62-
"@theia/getting-started": "1.47.1",
63-
"@theia/keymaps": "1.47.1",
64-
"@theia/markers": "1.47.1",
65-
"@theia/memory-inspector": "1.47.1",
66-
"@theia/messages": "1.47.1",
67-
"@theia/metrics": "1.47.1",
68-
"@theia/mini-browser": "1.47.1",
69-
"@theia/monaco": "1.47.1",
70-
"@theia/navigator": "1.47.1",
71-
"@theia/outline-view": "1.47.1",
72-
"@theia/output": "1.47.1",
73-
"@theia/plugin-dev": "1.47.1",
74-
"@theia/plugin-ext": "1.47.1",
75-
"@theia/plugin-ext-vscode": "1.47.1",
76-
"@theia/preferences": "1.47.1",
77-
"@theia/process": "1.47.1",
78-
"@theia/property-view": "1.47.1",
79-
"@theia/secondary-window": "1.47.1",
80-
"@theia/scm": "1.47.1",
81-
"@theia/search-in-workspace": "1.47.1",
82-
"@theia/task": "1.47.1",
83-
"@theia/terminal": "1.47.1",
84-
"@theia/timeline": "1.47.1",
85-
"@theia/toolbar": "1.47.1",
86-
"@theia/typehierarchy": "1.47.1",
87-
"@theia/userstorage": "1.47.1",
88-
"@theia/variable-resolver": "1.47.1",
89-
"@theia/vsx-registry": "1.47.1",
90-
"@theia/workspace": "1.47.1",
51+
"@theia/bulk-edit": "1.48.0",
52+
"@theia/callhierarchy": "1.48.0",
53+
"@theia/console": "1.48.0",
54+
"@theia/core": "1.48.0",
55+
"@theia/debug": "1.48.0",
56+
"@theia/editor": "1.48.0",
57+
"@theia/editor-preview": "1.48.0",
58+
"@theia/electron": "1.48.0",
59+
"@theia/external-terminal": "1.48.0",
60+
"@theia/file-search": "1.48.0",
61+
"@theia/filesystem": "1.48.0",
62+
"@theia/getting-started": "1.48.0",
63+
"@theia/keymaps": "1.48.0",
64+
"@theia/markers": "1.48.0",
65+
"@theia/memory-inspector": "1.48.0",
66+
"@theia/messages": "1.48.0",
67+
"@theia/metrics": "1.48.0",
68+
"@theia/mini-browser": "1.48.0",
69+
"@theia/monaco": "1.48.0",
70+
"@theia/navigator": "1.48.0",
71+
"@theia/outline-view": "1.48.0",
72+
"@theia/output": "1.48.0",
73+
"@theia/plugin-dev": "1.48.0",
74+
"@theia/plugin-ext": "1.48.0",
75+
"@theia/plugin-ext-vscode": "1.48.0",
76+
"@theia/preferences": "1.48.0",
77+
"@theia/process": "1.48.0",
78+
"@theia/property-view": "1.48.0",
79+
"@theia/scm": "1.48.0",
80+
"@theia/search-in-workspace": "1.48.0",
81+
"@theia/secondary-window": "1.48.0",
82+
"@theia/task": "1.48.0",
83+
"@theia/terminal": "1.48.0",
84+
"@theia/timeline": "1.48.0",
85+
"@theia/toolbar": "1.48.0",
86+
"@theia/typehierarchy": "1.48.0",
87+
"@theia/userstorage": "1.48.0",
88+
"@theia/variable-resolver": "1.48.0",
89+
"@theia/vsx-registry": "1.48.0",
90+
"@theia/workspace": "1.48.0",
9191
"fs-extra": "^9.0.1",
92-
"theia-ide-updater-ext": "1.47.100",
93-
"theia-ide-product-ext": "1.47.100",
94-
"theia-ide-launcher-ext": "1.47.100"
92+
"theia-ide-launcher-ext": "1.48.0",
93+
"theia-ide-product-ext": "1.48.0",
94+
"theia-ide-updater-ext": "1.48.0"
9595
},
9696
"devDependencies": {
97-
"@theia/cli": "1.47.1",
97+
"@theia/cli": "1.48.0",
9898
"@types/js-yaml": "^3.12.0",
9999
"@types/yargs": "17.0.7",
100100
"@wdio/cli": "^6.10.2",
@@ -103,6 +103,7 @@
103103
"@wdio/spec-reporter": "^6.8.1",
104104
"app-builder-lib": "24.13.2",
105105
"chai": "^4.3.10",
106+
"concurrently": "^3.5.0",
106107
"electron": "^23.2.4",
107108
"electron-builder": "23.6.0",
108109
"electron-chromedriver": "^23.2.4",
@@ -114,8 +115,7 @@
114115
"ts-node": "^10.0.0",
115116
"wdio-chromedriver-service": "^6.0.4",
116117
"webdriverio": "^6.10.2",
117-
"yargs": "17.2.1",
118-
"concurrently": "^3.5.0"
118+
"yargs": "17.2.1"
119119
},
120120
"scripts": {
121121
"clean": "theia clean && rimraf node_modules",
@@ -132,7 +132,8 @@
132132
"package:preview": "yarn clean:dist && yarn rebuild && electron-builder -c.mac.identity=null --dir",
133133
"update:checksum": "ts-node scripts/update-checksum.ts",
134134
"update:blockmap": "ts-node scripts/update-blockmap.ts",
135-
"update:next": "ts-node ../../scripts/update-theia-to-next.ts",
135+
"update:theia": "ts-node ../../scripts/update-theia-version.ts",
136+
"update:next": "ts-node ../../scripts/update-theia-version.ts next",
136137
"test": "mocha --timeout 60000 \"./test/*.spec.js\"",
137138
"lint": "eslint --ext js,jsx,ts,tsx scripts && eslint --ext js,jsx,ts,tsx test",
138139
"lint:fix": "eslint --ext js,jsx,ts,tsx scripts --fix && eslint --ext js,jsx,ts,tsx test -fix"

lerna.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
{
22
"lerna": "4.0.0",
3-
"version": "0.0.0",
3+
"version": "1.48.0",
44
"useWorkspaces": true,
55
"npmClient": "yarn",
66
"command": {
77
"run": {
88
"stream": true
99
}
1010
}
11-
}
11+
}

package.json

+7-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"private": true,
3-
"version": "1.47.100",
3+
"version": "1.48.0",
44
"license": "MIT",
55
"author": "Rob Moran <[email protected]>",
66
"homepage": "https://github.com/eclipse-theia/theia-blueprint#readme",
@@ -17,7 +17,7 @@
1717
},
1818
"devDependencies": {
1919
"@eclipse-dash/nodejs-wrapper": "^0.0.1",
20-
"@theia/cli": "1.47.1",
20+
"@theia/cli": "1.48.0",
2121
"@typescript-eslint/eslint-plugin": "^4.25.0",
2222
"@typescript-eslint/eslint-plugin-tslint": "^4.25.0",
2323
"@typescript-eslint/parser": "^4.25.0",
@@ -48,11 +48,14 @@
4848
"test": "lerna run test",
4949
"electron": "yarn --cwd applications/electron",
5050
"browser": "yarn --cwd applications/browser",
51-
"update:next": "ts-node scripts/update-theia-to-next.ts && lerna run update:next",
51+
"update:theia": "ts-node scripts/update-theia-version.ts",
52+
"update:theia:children": "lerna run update:theia -- ",
53+
"update:next": "ts-node scripts/update-theia-version.ts next && lerna run update:next",
5254
"lint": "eslint --ext js,jsx,ts,tsx scripts && lerna run lint",
5355
"lint:fix": "eslint --ext js,jsx,ts,tsx scripts --fix && lerna run lint:fix",
5456
"license:check": "npx dash-licenses-wrapper --configFile=./configs/license-check-config.json",
55-
"license:check:review": "npx dash-licenses-wrapper --configFile=./configs/license-check-config.json --review"
57+
"license:check:review": "npx dash-licenses-wrapper --configFile=./configs/license-check-config.json --review",
58+
"postinstall": "theia-patch"
5659
},
5760
"theiaPluginsDir": "plugins",
5861
"theiaPlugins": {

0 commit comments

Comments
 (0)