Skip to content

Spin event loop to process pending UI updates before checking the pasted content on the Text. #7792

Spin event loop to process pending UI updates before checking the pasted content on the Text.

Spin event loop to process pending UI updates before checking the pasted content on the Text. #7792

Workflow file for this run

# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
name: SWT Matrix Build
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
types: [opened, reopened, synchronize, labeled]
env:
SWT_GTK4: "${{ contains(github.event.pull_request.labels.*.name, 'gtk4') && '1' || '0' }}"
jobs:
event_file:
name: "Event File"
runs-on: ubuntu-latest
steps:
- name: Upload
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: Event File
path: ${{ github.event_path }}
build:
strategy:
fail-fast: false
matrix:
java: [ '21' ]
config:
- { name: Linux, os: ubuntu-latest, native: gtk.linux.x86_64 }
- { name: Windows, os: windows-latest, native: win32.win32.x86_64 }
- { name: MacOS x86, os: macos-13, native: cocoa.macosx.x86_64 }
- { name: MacOS ARM, os: macos-latest, native: cocoa.macosx.aarch64 }
name: Verify ${{ matrix.config.name }} with Java-${{ matrix.java }}
runs-on: ${{ matrix.config.os }}
steps:
- name: checkout swt
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
fetch-depth: 0 # required for jgit timestamp provider to work
lfs: false # lfs-pull is not necessary, the natives are re-build in each run
- name: Install Linux requirements
if: ${{ matrix.config.native == 'gtk.linux.x86_64'}}
run: |
sudo apt-get update -qq
sudo apt-get install -qq -y libgtk-3-dev libgtk-4-dev freeglut3-dev webkit2gtk-driver
- name: Pull large static Windows binaries
if: ${{ matrix.config.native == 'win32.win32.x86_64'}}
run: |
git lfs pull --include='/binaries/org.eclipse.swt.win32.win32.x86_64/WebView2Loader.dll'
- name: Set up Java ${{ matrix.java }}
uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0
with:
java-version: ${{ matrix.java }}
distribution: 'temurin'
cache: maven
- name: Set up Maven
uses: stCarolas/setup-maven@v5
with:
maven-version: 3.9.11
- name: Build
env:
GTK_XCFLAGS: '-Wno-deprecated-declarations'
run: >-
${{ contains(matrix.config.native, 'linux') && 'xvfb-run' || '' }}
mvn --batch-mode -V -U -e
--threads 1C
-DforkCount=1
'-Dnative=${{ matrix.config.native }}'
-Papi-check -Pjavadoc
'-Dtycho.baseline.replace=none'
--fail-at-end
-DskipNativeTests=false
-DfailIfNoTests=false
clean install
- name: Performance tests
if: contains(github.event.pull_request.labels.*.name, 'performance')
working-directory: tests/org.eclipse.swt.tests
run: >-
${{ contains(matrix.config.native, 'linux') && 'xvfb-run' || '' }}
mvn --batch-mode -V -U -e
-DforkCount=1
--fail-at-end
-DskipNativeTests=true
-DfailIfNoTests=true
-Dtest=PerformanceTests
integration-test
- name: Upload Test Results for ${{ matrix.config.name }} / Java-${{ matrix.java }}
if: always()
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: test-results-${{ matrix.config.native }}-java${{ matrix.java }}
if-no-files-found: warn
path: |
${{ github.workspace }}/**/target/surefire-reports/*.xml
${{ github.workspace }}/**/hs_err_pid*.log