Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
75 commits
Select commit Hold shift + click to select a range
9ed1768
Upload packaged app on non PR runs
sgraband May 12, 2025
37cc6cc
Rename steps
sgraband May 12, 2025
a1dadc1
Update to Theia 1.62.0
jfaltermeier May 28, 2025
fbe0dde
Update to Theia 1.62.1
sgraband Jun 3, 2025
0252cab
Test build for current Theia master (Theia IDE 1.62.101)
sgraband Jun 5, 2025
a3ed0c1
Add AI editor package
sgraband Jun 5, 2025
63322e9
Update test version to latest master
sgraband Jun 10, 2025
dfd0035
windows-2019 runner will be removed soon -> update to windows-2022
jfaltermeier Jun 10, 2025
6b2d6b2
Update to Theia 1.62.2
sgraband Jun 12, 2025
52180ec
Yarn upgrade
jfaltermeier Jun 17, 2025
5f3449b
Update to Theia 1.63.0
sgraband Jun 27, 2025
e5b5e80
Add extensions to browser and electron variant
sgraband Jun 27, 2025
b8ffa32
Update electron and node versions
sgraband Jun 27, 2025
07549e8
Update node version on license check
sgraband Jun 27, 2025
4222689
Update electron version in electron-builder
sgraband Jun 27, 2025
4bf56dc
Update dockerfile node version
sgraband Jun 27, 2025
7aae573
Use node 22 for mac as well
sgraband Jun 27, 2025
9e12efe
Update to Theia 1.63.1
sgraband Jul 1, 2025
1e403d1
Try to enforce env because the windows installer tried to retrieve mv…
sgraband Jul 1, 2025
3cd3a51
Debug msvs environment variables
sgraband Jul 1, 2025
940bad0
Update to Theia 1.63.2
sgraband Jul 7, 2025
8433da7
doc: update publishing guide documentation
ndoschek Jul 2, 2025
313f980
address review comments
ndoschek Jul 3, 2025
d19a976
address review comments pt. 2
ndoschek Jul 7, 2025
6adffd4
address review comments pt. 3
ndoschek Jul 8, 2025
3f8dac3
Update to Theia 1.63.3
sgraband Jul 16, 2025
c14b728
Update to electron 37.2.1
sgraband Jul 16, 2025
1fdc3c7
Split Jenkinsfile build into 3 steps
sgraband Apr 7, 2025
c0712af
Use ditto instead of cp
sgraband May 8, 2025
116b0db
Force symlink creation
sgraband May 8, 2025
1e9db52
Ensure permissions
sgraband May 8, 2025
0d473b1
Try to add timeout to copy artifacts
sgraband May 23, 2025
7df31dd
Add --network-timeout 100000 to yarn commands
sgraband Jul 23, 2025
59088be
Provide build-next workflow
sgraband Jul 7, 2025
d7a9ff7
Run yarn again before building
sgraband Jul 30, 2025
64dc3e7
Update to Theia v1.64.0
sgraband Jul 31, 2025
35314cb
Add ai-mcp-ui and ai-core-ui packages
sgraband Jul 31, 2025
640c481
Update singing and upload jenkinsfile
sgraband Aug 1, 2025
09191f9
Set env variables for all steps
sgraband Aug 4, 2025
567242b
Fix exported variables
sgraband Aug 6, 2025
161be9e
Update to Theia v1.64.1
ndoschek Aug 7, 2025
f73457e
Fix build next
sgraband Aug 8, 2025
ce976c6
chore: update Jenkins files for build, sign and upload
ndoschek Aug 8, 2025
0750da1
Yarn upgrade after release v1.64.100
ndoschek Aug 12, 2025
ed53d1d
Update preference usage in Theia IDE
ndoschek Sep 12, 2025
ab9ade7
chore: update theia deps to 1.65.0-next.55
ndoschek Sep 12, 2025
f053567
chore: update node-gyp, nan and node-abi
ndoschek Sep 15, 2025
bea9e9b
chore: update GH build workflows
ndoschek Sep 15, 2025
8571342
Update dialog: add Cancel button #428
jfaltermeier Sep 23, 2025
365a571
Update to Theia v1.65.0
ndoschek Sep 26, 2025
406f957
chore: update Jenkins file for signing
ndoschek Sep 27, 2025
38e5a85
Update missing theia packages in application dependencies
ndoschek Sep 29, 2025
5307c29
Update to Theia v1.65.100
ndoschek Oct 6, 2025
92dea61
Yarn upgrade after release v1.65.100
ndoschek Oct 13, 2025
79b33dc
chore: update license workflow and config
ndoschek Oct 20, 2025
9b5870c
update dialog: show update version in availability and restart prompt
ndoschek Oct 7, 2025
51baad2
Add a generic name.
Mailaender Oct 23, 2025
89dbf4f
Set a subcategory.
Mailaender Oct 23, 2025
33f55df
Choose a more user readable comment.
Mailaender Oct 23, 2025
46c0267
Update to electron 38.4.0
sgraband Oct 29, 2025
89cefc5
Update to Theia v1.66.0
jfaltermeier Oct 31, 2025
6f911f6
fix: clean git directory to ensure a clean state for preview builds
ndoschek Nov 5, 2025
11a889e
fix: update to VS 2022 when using node 22 on windows
ndoschek Nov 6, 2025
ad293c4
fix: remove superfluous re-installation of node version
ndoschek Nov 6, 2025
707e298
chore: log node version also for mac runner
ndoschek Nov 6, 2025
9044d97
chore: separate build commands to have better overview in the logs
ndoschek Nov 7, 2025
992bf81
Update to Theia v1.66.1
ndoschek Nov 7, 2025
562e00c
Update to Theia v1.66.2
jfaltermeier Nov 10, 2025
8408ad4
ci: optimize build workflow to avoid redundant executions
ndoschek Nov 14, 2025
215c192
ci: remove checks on non-existing matrix variable
ndoschek Nov 14, 2025
f265041
Update macOS runners to 15 and 15-intel
jfaltermeier Nov 11, 2025
aaa2a30
Update to Theia 1.66.x #102
jfaltermeier Dec 12, 2025
5969c20
Merge 'Update macOS runners to 15 and 15-intel' into jf/1.66.x
jfaltermeier Dec 12, 2025
bd2db5b
Replace `theia-traceviewer` with trace server manager extension
jfaltermeier Dec 12, 2025
cd21453
Add trace server proxy extension for cloud deployments
jfaltermeier Jan 19, 2026
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
80 changes: 55 additions & 25 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,47 +4,49 @@ on:
push:
branches:
- master
paths-ignore:
- '**/*.md'
workflow_dispatch:
pull_request:
branches:
- master
paths-ignore:
- '**/*.md'
schedule:
- cron: '0 4 * * 0'

- cron: "0 4 * * *" # Runs every day at 4am: https://docs.github.com/en/actions/reference/events-that-trigger-workflows#scheduled-events-schedule

jobs:

build:
name: ${{ matrix.os }}, Node.js v${{ matrix.node }}

strategy:
fail-fast: false
matrix:
os: [windows-2022, ubuntu-22.04, macos-13, macos-14] # macOS-13 is for x64, macOS-14 is for arm64
node: ['20.x']
os: [windows-2022, ubuntu-22.04, macos-15, macos-15-intel] # macos-15-intel is for x64, macOS-15 is for arm64
node: ["22.x"]

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

steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
with:
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)

- name: Use Node.js ${{ matrix.node }}
uses: actions/setup-node@v3
uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3.8.2
with:
node-version: ${{ matrix.node }}
registry-url: 'https://registry.npmjs.org'
registry-url: "https://registry.npmjs.org"

- name: Use Python 3.11
uses: actions/setup-python@v4
- name: Use Python 3.13
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
with:
python-version: '3.11'
python-version: '3.13'

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

- name: Update electron-builder.yml for macOS-14
if: matrix.os == 'macos-14'
- name: Build prod package (Windows, Linux)
if: (runner.os == 'Windows' || runner.os == 'Linux') && github.event_name != 'pull_request'
shell: bash
run: |
yarn --skip-integrity-check --network-timeout 100000
yarn build
yarn download:plugins
yarn package:applications
env:
NODE_OPTIONS: --max_old_space_size=4096
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # https://github.com/microsoft/vscode-ripgrep/issues/9

- name: Update electron-builder.yml for macos-15
if: matrix.os == 'macos-15'
run: |
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

- name: Build and package (Mac)
- name: Build prod package (Mac)
if: runner.os == 'macOS'
shell: bash
run: |
Expand All @@ -78,33 +92,49 @@ jobs:
if: runner.os == 'macOS'
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 #4.6.1
with:
name: ${{ matrix.os == 'macos-13' && 'mac-x64' || matrix.os == 'macos-14' && 'mac-arm64'}}
name: ${{ matrix.os == 'macos-15-intel' && 'mac-x64' || matrix.os == 'macos-15' && 'mac-arm64'}}
path: |
applications/electron/dist/**
!applications/electron/dist/mac/**
!applications/electron/dist/mac-arm64/**
retention-days: 1

- name: Test (Linux)
if: matrix.tests != 'skip' && runner.os == 'Linux'
uses: GabrielBB/xvfb-action@86d97bde4a65fe9b290c0b3fb92c2c4ed0e5302d #1.6
- name: Upload Windows Dist Files
if: runner.os == 'Windows' && github.event_name != 'pull_request'
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 #4.6.1
with:
name: windows
path: |
applications/electron/dist/**
retention-days: 1

- name: Upload Linux Dist Files
if: runner.os == 'Linux' && github.event_name != 'pull_request'
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 #4.6.1
with:
run: yarn electron test
name: linux
path: |
applications/electron/dist/**
retention-days: 1

- name: Test (Linux)
if: runner.os == 'Linux'
run: |
xvfb-run -a yarn electron test

- name: Test (Windows)
if: matrix.tests != 'skip' && runner.os == 'Windows'
if: runner.os == 'Windows'
shell: bash
run: |
yarn electron test

- name: Test (macOS)
if: matrix.tests != 'skip' && runner.os == 'macOS'
if: runner.os == 'macOS'
shell: bash
run: |
yarn electron test

- name: Lint
if: matrix.tests != 'skip'
shell: bash
run: |
yarn lint
7 changes: 4 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM mcr.microsoft.com/vscode/devcontainers/typescript-node:0-20-bullseye AS build-stage
FROM mcr.microsoft.com/devcontainers/typescript-node:1-22-bullseye AS build-stage
RUN apt-get update && apt-get install -y libxkbfile-dev \
libsecret-1-dev \
python3 \
Expand All @@ -14,7 +14,7 @@ RUN yarn --pure-lockfile && \
yarn docker build
RUN yarn tracecompass-server:download

FROM mcr.microsoft.com/vscode/devcontainers/typescript-node:0-20-bullseye AS production-stage
FROM mcr.microsoft.com/devcontainers/typescript-node:1-22-bullseye AS production-stage

RUN adduser --system --group theia

Expand Down Expand Up @@ -59,8 +59,9 @@ EXPOSE 3000
ENV SHELL=/bin/bash \
THEIA_DEFAULT_PLUGINS=local-dir:/home/theia/cdt-cloud-blueprint/plugins
ENV USE_LOCAL_GIT=true
ENV TRACE_SERVER_PATH=/home/theia/cdt-cloud-blueprint/tracecompass-server/trace-compass-server/tracecompass-server
USER theia

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