Skip to content

Commit aaa2a30

Browse files
committed
Update to Theia 1.66.x #102
* Update Blueprint version to `1.66.200`, align all packages to Theia `1.66.2` * Upgrade Electron to `38.4.0`, electron-builder to `26.0.12`, electron-updater to `6.6.2` * Require Node.js `>=20`, update CI to Node.js `22.x` and Python `3.13` * Replace legacy Jenkins release pipeline with split preview build, sign, upload jobs * Refresh bundled VS Code extensions and native dependencies
2 parents 27fad39 + 562e00c commit aaa2a30

File tree

26 files changed

+3489
-2304
lines changed

26 files changed

+3489
-2304
lines changed

.github/workflows/build.yml

Lines changed: 44 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -9,42 +9,40 @@ on:
99
branches:
1010
- master
1111
schedule:
12-
- cron: '0 4 * * 0'
13-
12+
- cron: "0 4 * * *" # Runs every day at 4am: https://docs.github.com/en/actions/reference/events-that-trigger-workflows#scheduled-events-schedule
1413

1514
jobs:
16-
1715
build:
1816
name: ${{ matrix.os }}, Node.js v${{ matrix.node }}
1917

2018
strategy:
2119
fail-fast: false
2220
matrix:
2321
os: [windows-2022, ubuntu-22.04, macos-13, macos-14] # macOS-13 is for x64, macOS-14 is for arm64
24-
node: ['20.x']
22+
node: ["22.x"]
2523

2624
runs-on: ${{ matrix.os }}
2725
timeout-minutes: 60
2826

2927
steps:
3028
- name: Checkout
31-
uses: actions/checkout@v3
29+
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
3230
with:
3331
fetch-depth: 0 # To fetch all history for all branches and tags. (Will be required for caching with lerna: https://github.com/markuplint/markuplint/pull/111)
3432

3533
- name: Use Node.js ${{ matrix.node }}
36-
uses: actions/setup-node@v3
34+
uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3.8.2
3735
with:
3836
node-version: ${{ matrix.node }}
39-
registry-url: 'https://registry.npmjs.org'
37+
registry-url: "https://registry.npmjs.org"
4038

41-
- name: Use Python 3.11
42-
uses: actions/setup-python@v4
39+
- name: Use Python 3.13
40+
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
4341
with:
44-
python-version: '3.11'
42+
python-version: '3.13'
4543

46-
- name: Build and package (Windows, Linux)
47-
if: runner.os == 'Windows' || runner.os == 'Linux'
44+
- name: Build dev package (Windows, Linux)
45+
if: (runner.os == 'Windows' || runner.os == 'Linux') && github.event_name == 'pull_request'
4846
shell: bash
4947
run: |
5048
yarn --skip-integrity-check --network-timeout 100000
@@ -55,12 +53,24 @@ jobs:
5553
NODE_OPTIONS: --max_old_space_size=4096
5654
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # https://github.com/microsoft/vscode-ripgrep/issues/9
5755

56+
- name: Build prod package (Windows, Linux)
57+
if: (runner.os == 'Windows' || runner.os == 'Linux') && github.event_name != 'pull_request'
58+
shell: bash
59+
run: |
60+
yarn --skip-integrity-check --network-timeout 100000
61+
yarn build
62+
yarn download:plugins
63+
yarn package:applications
64+
env:
65+
NODE_OPTIONS: --max_old_space_size=4096
66+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # https://github.com/microsoft/vscode-ripgrep/issues/9
67+
5868
- name: Update electron-builder.yml for macOS-14
5969
if: matrix.os == 'macos-14'
6070
run: |
6171
sed -i '' 's|https://download.eclipse.org/theia/cdt-cloud/latest/macos|https://download.eclipse.org/theia/cdt-cloud/latest/macos-arm|g' applications/electron/electron-builder.yml
6272
63-
- name: Build and package (Mac)
73+
- name: Build prod package (Mac)
6474
if: runner.os == 'macOS'
6575
shell: bash
6676
run: |
@@ -85,18 +95,35 @@ jobs:
8595
!applications/electron/dist/mac-arm64/**
8696
retention-days: 1
8797

98+
- name: Upload Windows Dist Files
99+
if: runner.os == 'Windows' && github.event_name != 'pull_request'
100+
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 #4.6.1
101+
with:
102+
name: windows
103+
path: |
104+
applications/electron/dist/**
105+
retention-days: 1
106+
107+
- name: Upload Linux Dist Files
108+
if: runner.os == 'Linux' && github.event_name != 'pull_request'
109+
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 #4.6.1
110+
with:
111+
name: linux
112+
path: |
113+
applications/electron/dist/**
114+
retention-days: 1
115+
88116
- name: Test (Linux)
89117
if: matrix.tests != 'skip' && runner.os == 'Linux'
90-
uses: GabrielBB/xvfb-action@86d97bde4a65fe9b290c0b3fb92c2c4ed0e5302d #1.6
91-
with:
92-
run: yarn electron test
118+
run: |
119+
xvfb-run -a yarn electron test
93120
94121
- name: Test (Windows)
95122
if: matrix.tests != 'skip' && runner.os == 'Windows'
96123
shell: bash
97124
run: |
98125
yarn electron test
99-
126+
100127
- name: Test (macOS)
101128
if: matrix.tests != 'skip' && runner.os == 'macOS'
102129
shell: bash

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,4 +63,4 @@ USER theia
6363

6464
WORKDIR /home/theia/cdt-cloud-blueprint
6565
ENTRYPOINT [ "node", "/home/theia/cdt-cloud-blueprint/applications/docker/lib/backend/main.js", "/home/theia/cdt-cloud-blueprint/applications/docker/workspace" ]
66-
CMD [ "yarn docker start", "--hostname=0.0.0.0" ]
66+
CMD [ "yarn docker start", "--hostname=0.0.0.0" ]

0 commit comments

Comments
 (0)