Skip to content

Commit 565cf0f

Browse files
authored
Merge branch 'eclipse-platform:master' into master
2 parents e9c013f + 8c5fcdd commit 565cf0f

File tree

119 files changed

+660
-426
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

119 files changed

+660
-426
lines changed

.github/workflows/build.yml

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time
2+
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
3+
4+
name: "SWT Build"
5+
6+
on:
7+
workflow_call:
8+
inputs:
9+
runner:
10+
description: "build.runs-on value"
11+
type: string
12+
required: true
13+
java:
14+
description: "Java version"
15+
type: string
16+
required: true
17+
native:
18+
description: "Native target identifier (one of gtk.linux.x86_64, win32.win32.x86_64, cocoa.macosx.x86_64, cocoa.macosx.aarch64)"
19+
type: string
20+
required: true
21+
performance:
22+
description: "Run performance tests too (one of true, false)"
23+
type: boolean
24+
required: false
25+
default: false
26+
runtodotests:
27+
description: "Run TODO tagged tests too (one of true, false)"
28+
type: boolean
29+
required: false
30+
default: false
31+
32+
jobs:
33+
build:
34+
runs-on: ${{ inputs.runner }}
35+
steps:
36+
- name: checkout swt
37+
uses: actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493 # v5.0.0
38+
with:
39+
fetch-depth: 0 # required for jgit timestamp provider to work
40+
lfs: false # lfs-pull is not necessary, the natives are re-build in each run
41+
- name: Install Linux requirements
42+
if: ${{ inputs.native == 'gtk.linux.x86_64'}}
43+
run: |
44+
sudo apt-get update -qq
45+
sudo apt-get install -qq -y libgtk-3-dev libgtk-4-dev freeglut3-dev webkit2gtk-driver
46+
- name: Pull large static Windows binaries
47+
if: ${{ inputs.native == 'win32.win32.x86_64'}}
48+
run: |
49+
git lfs pull --include='/binaries/org.eclipse.swt.win32.win32.x86_64/WebView2Loader.dll'
50+
- name: Set up Java ${{ inputs.java }}
51+
uses: actions/setup-java@de5a937a1dc73fbc1a67d7d1aa4bebc1082f3190 # v5.0.0
52+
with:
53+
java-version: ${{ inputs.java }}
54+
distribution: 'temurin'
55+
cache: maven
56+
- name: Set up Maven
57+
uses: stCarolas/setup-maven@v5
58+
with:
59+
maven-version: 3.9.11
60+
- name: Build
61+
env:
62+
GTK_XCFLAGS: '-Wno-deprecated-declarations'
63+
run: >-
64+
${{ contains(inputs.native, 'linux') && 'xvfb-run' || '' }}
65+
mvn --batch-mode -V -U -e
66+
--threads 1C
67+
-DforkCount=1
68+
'-Dnative=${{ inputs.native }}'
69+
-Papi-check -Pjavadoc
70+
'-Dtycho.baseline.replace=none'
71+
--fail-at-end
72+
-DskipNativeTests=false
73+
-DfailIfNoTests=false
74+
${{ (inputs.runtodotests == false && contains(inputs.native, 'linux')) && '-DexcludedGroups=gtk3-todo' || '' }}
75+
clean install
76+
- name: Performance tests
77+
if: ${{ inputs.performance }}
78+
working-directory: tests/org.eclipse.swt.tests
79+
run: >-
80+
${{ contains(inputs.native, 'linux') && 'xvfb-run' || '' }}
81+
mvn --batch-mode -V -U -e
82+
-DforkCount=1
83+
--fail-at-end
84+
-DskipNativeTests=true
85+
-DfailIfNoTests=true
86+
-Dtest=PerformanceTests
87+
integration-test
88+
- name: Upload Test Results
89+
if: always()
90+
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
91+
with:
92+
name: test-results-${{ inputs.native }}-java${{ inputs.java }}
93+
if-no-files-found: warn
94+
path: |
95+
${{ github.workspace }}/**/target/surefire-reports/*.xml
96+
${{ github.workspace }}/**/*.log
97+
${{ github.workspace }}/**/*.dump
98+
${{ github.workspace }}/**/*.dumpstream

.github/workflows/maven.yml

Lines changed: 55 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
1-
# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time
2-
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
1+
# This is the main maven workflow for SWT.
2+
3+
# You can run this locally to test changes with the act command https://nektosact.com/
4+
# For example, to run all linux tests on Java 21:
5+
# act -j build-linux --matrix java:21 --artifact-server-path $PWD/.artifacts
6+
# You may need to download runners on first run, act will ask but if you
7+
# want the big runner there is no progress as it downloads, so you can pull it with
8+
# docker directly:
9+
# docker pull catthehacker/ubuntu:full-latest
310

411
name: SWT Matrix Build
512
concurrency:
@@ -26,76 +33,52 @@ jobs:
2633
with:
2734
name: Event File
2835
path: ${{ github.event_path }}
29-
build:
36+
37+
build-linux:
38+
name: Build (Linux)
3039
strategy:
3140
fail-fast: false
3241
matrix:
33-
java: [ '21' ]
34-
config:
35-
- { name: Linux, os: ubuntu-latest, native: gtk.linux.x86_64 }
36-
- { name: Windows, os: windows-latest, native: win32.win32.x86_64 }
37-
- { name: MacOS x86, os: macos-15-intel, native: cocoa.macosx.x86_64 }
38-
- { name: MacOS ARM, os: macos-latest, native: cocoa.macosx.aarch64 }
39-
name: Verify ${{ matrix.config.name }} with Java-${{ matrix.java }}
40-
runs-on: ${{ matrix.config.os }}
41-
steps:
42-
- name: checkout swt
43-
uses: actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493 # v5.0.0
44-
with:
45-
fetch-depth: 0 # required for jgit timestamp provider to work
46-
lfs: false # lfs-pull is not necessary, the natives are re-build in each run
47-
- name: Install Linux requirements
48-
if: ${{ matrix.config.native == 'gtk.linux.x86_64'}}
49-
run: |
50-
sudo apt-get update -qq
51-
sudo apt-get install -qq -y libgtk-3-dev libgtk-4-dev freeglut3-dev webkit2gtk-driver
52-
- name: Pull large static Windows binaries
53-
if: ${{ matrix.config.native == 'win32.win32.x86_64'}}
54-
run: |
55-
git lfs pull --include='/binaries/org.eclipse.swt.win32.win32.x86_64/WebView2Loader.dll'
56-
- name: Set up Java ${{ matrix.java }}
57-
uses: actions/setup-java@de5a937a1dc73fbc1a67d7d1aa4bebc1082f3190 # v5.0.0
58-
with:
59-
java-version: ${{ matrix.java }}
60-
distribution: 'temurin'
61-
cache: maven
62-
- name: Set up Maven
63-
uses: stCarolas/setup-maven@v5
64-
with:
65-
maven-version: 3.9.11
66-
- name: Build
67-
env:
68-
GTK_XCFLAGS: '-Wno-deprecated-declarations'
69-
run: >-
70-
${{ contains(matrix.config.native, 'linux') && 'xvfb-run' || '' }}
71-
mvn --batch-mode -V -U -e
72-
--threads 1C
73-
-DforkCount=1
74-
'-Dnative=${{ matrix.config.native }}'
75-
-Papi-check -Pjavadoc
76-
'-Dtycho.baseline.replace=none'
77-
--fail-at-end
78-
-DskipNativeTests=false
79-
-DfailIfNoTests=false
80-
clean install
81-
- name: Performance tests
82-
if: contains(github.event.pull_request.labels.*.name, 'performance')
83-
working-directory: tests/org.eclipse.swt.tests
84-
run: >-
85-
${{ contains(matrix.config.native, 'linux') && 'xvfb-run' || '' }}
86-
mvn --batch-mode -V -U -e
87-
-DforkCount=1
88-
--fail-at-end
89-
-DskipNativeTests=true
90-
-DfailIfNoTests=true
91-
-Dtest=PerformanceTests
92-
integration-test
93-
- name: Upload Test Results for ${{ matrix.config.name }} / Java-${{ matrix.java }}
94-
if: always()
95-
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
96-
with:
97-
name: test-results-${{ matrix.config.native }}-java${{ matrix.java }}
98-
if-no-files-found: warn
99-
path: |
100-
${{ github.workspace }}/**/target/surefire-reports/*.xml
101-
${{ github.workspace }}/**/hs_err_pid*.log
42+
java: ['21']
43+
uses: ./.github/workflows/build.yml
44+
with:
45+
runner: ubuntu-latest
46+
java: ${{ matrix.java }}
47+
native: gtk.linux.x86_64
48+
performance: ${{ contains(github.event.pull_request.labels.*.name, 'performance') }}
49+
runtodotests: ${{ contains(github.event.pull_request.labels.*.name, 'runtodotests') }}
50+
51+
build-windows:
52+
name: Build (Windows)
53+
strategy:
54+
fail-fast: false
55+
matrix:
56+
java: ['21']
57+
uses: ./.github/workflows/build.yml
58+
with:
59+
runner: windows-latest
60+
java: ${{ matrix.java }}
61+
native: win32.win32.x86_64
62+
performance: ${{ contains(github.event.pull_request.labels.*.name, 'performance') }}
63+
runtodotests: ${{ contains(github.event.pull_request.labels.*.name, 'runtodotests') }}
64+
65+
build-macos:
66+
name: Build (macOS)
67+
strategy:
68+
fail-fast: false
69+
matrix:
70+
java: ['21']
71+
native: [cocoa.macosx.x86_64, cocoa.macosx.aarch64]
72+
runner: [macos-15-intel, macos-latest]
73+
exclude:
74+
- runner: macos-latest
75+
native: cocoa.macosx.x86_64
76+
- runner: macos-15-intel
77+
native: cocoa.macosx.aarch64
78+
uses: ./.github/workflows/build.yml
79+
with:
80+
runner: ${{ matrix.runner }}
81+
java: ${{ matrix.java }}
82+
native: ${{ matrix.native }}
83+
performance: ${{ contains(github.event.pull_request.labels.*.name, 'performance') }}
84+
runtodotests: ${{ contains(github.event.pull_request.labels.*.name, 'runtodotests') }}

binaries/org.eclipse.swt.cocoa.macosx.aarch64/libswt-awt-cocoa-4971r14.jnilib

Lines changed: 0 additions & 3 deletions
This file was deleted.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:dede55b81dfa57246b161f70a6f617f8f3a3f3554c28f53d34109d0c1d8f4ef4
3+
size 51952

binaries/org.eclipse.swt.cocoa.macosx.aarch64/libswt-cocoa-4971r14.jnilib

Lines changed: 0 additions & 3 deletions
This file was deleted.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:ae8d939f8d70fc673cfb2916a5af6c2fdd7b820db7632f053f33bd16dbb83146
3+
size 576624

binaries/org.eclipse.swt.cocoa.macosx.aarch64/libswt-pi-cocoa-4971r14.jnilib

Lines changed: 0 additions & 3 deletions
This file was deleted.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:54670ed3d9dd6f51c7c4f82f2238d64468a7440c9a46fa088f9ced24ba4df28d
3+
size 298864

binaries/org.eclipse.swt.cocoa.macosx.x86_64/libswt-awt-cocoa-4971r14.jnilib

Lines changed: 0 additions & 3 deletions
This file was deleted.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:41eaa907dd37c0e009f309d8e7d5d0f3f7c12e15736b3c87ed436da3c9b753d0
3+
size 52352

0 commit comments

Comments
 (0)