Skip to content
Merged
Changes from all commits
Commits
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
67 changes: 3 additions & 64 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -112,9 +112,6 @@ env:
# 'Gradle' or 'Maven' will activate lsp tests too due to test dependencies on project API (ProjectViewTest, LspBrokenReferencesImplTest, ...)
test_lsp: ${{ contains(github.event.pull_request.labels.*.name, 'LSP') || contains(github.event.pull_request.labels.*.name, 'Gradle') || contains(github.event.pull_request.labels.*.name, 'Maven') || contains(github.event.pull_request.labels.*.name, 'ci:all-tests') || github.event_name != 'pull_request' }}

# 'GraalVM' label for tests requirering GraalVM
test_graalvm: ${{ contains(github.event.pull_request.labels.*.name, 'GraalVM') || contains(github.event.pull_request.labels.*.name, 'ci:all-tests') || github.event_name != 'pull_request' }}

# 'Ant', 'Gradle', 'Maven' and 'MX' labels trigger the build-tools job
test_build_tools: ${{ contains(github.event.pull_request.labels.*.name, 'Ant') || contains(github.event.pull_request.labels.*.name, 'Gradle') || contains(github.event.pull_request.labels.*.name, 'Maven') || contains(github.event.pull_request.labels.*.name, 'MX') || contains(github.event.pull_request.labels.*.name, 'ci:all-tests') || github.event_name != 'pull_request' }}

Expand Down Expand Up @@ -1349,6 +1346,9 @@ jobs:
- name: java.module.graph
run: ant $OPTS -f java/java.module.graph test

- name: java/nashorn.execution
run: ant $OPTS -f java/nashorn.execution test

- name: java.navigation
run: ant $OPTS -f java/java.navigation test

Expand Down Expand Up @@ -2543,66 +2543,6 @@ jobs:
paths: "./*/*/build/test/*/results/TEST-*.xml"


graalvm-test:
name: GraalVM ${{ matrix.graal }} Tests
# equals env.test_graalvm == 'true'
if: ${{ contains(github.event.pull_request.labels.*.name, 'GraalVM') || contains(github.event.pull_request.labels.*.name, 'ci:all-tests') || github.event_name != 'pull_request' }}
needs: base-build
runs-on: ubuntu-latest
timeout-minutes: 60
strategy:
matrix:
graal: [ '21.0.2' ]
fail-fast: false

steps:
- name: Setup Xvfb
run: |
echo "DISPLAY=:99.0" >> $GITHUB_ENV
Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &

- name: Download Build
uses: actions/download-artifact@v8
with:
name: build.tar.zst

- name: Extract
run: tar --zstd -xf build.tar.zst

- name: Setup GraalVM ${{ matrix.graal }}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, since GraalVM for JDK 21+ there is no difference between OpenJDK and GraalVM with respect to Graal.js except speed (peak performance of JavaScript). NetBeans don't need peak performance of JavaScript for the usecases tested here-in...

run: |
URL=https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-${{ matrix.graal }}/graalvm-community-jdk-${{ matrix.graal }}_linux-x64_bin.tar.gz
curl -L $URL | tar -xz
GRAALVM=$(realpath graalvm-community-openjdk-*)
echo "JAVA_HOME=$GRAALVM" >> $GITHUB_ENV

- name: platform/core.network
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This module is using Graal.js to process proxy configuration files. They are executed once and running at any JDK21+ is going to be fast enough.

run: ant $OPTS -f platform/core.network test

- name: platform/api.scripting
run: ant $OPTS -f platform/api.scripting test
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Graal.js is no longer part of GraalVM
  • it is a normal Maven library
  • hence testing this module on any OpenJDK21+ is enough


- name: ide/libs.graalsdk
run: ant $OPTS -f ide/libs.graalsdk test

- name: webcommon/libs.graaljs
run: ant $OPTS -f webcommon/libs.graaljs test

- name: profiler/profiler.oql
run: ant $OPTS -f profiler/profiler.oql test
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • profilier is using some JavaScript integration
  • as Graal.js is no longer distributed as part of GraalVM
  • testing on any OpenJDK21+ is enough


- name: java/nashorn.execution
run: ant $OPTS -f java/nashorn.execution test

- name: java/debugger.jpda.truffle
run: .github/retry.sh ant $OPTS -f java/debugger.jpda.truffle test
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


- name: Create Test Summary
uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
if: failure()
with:
paths: "./*/*/build/test/*/results/TEST-*.xml"

# cleanup job depends on everything so that it is forced to run last even if a long job fails early.
# 'paperwork' is left out intentionally, since it doesn't run unit tests (hopefully doesn't need restarts)
# and shouldn't prevent cleanup on validation failure - which might be common during dev time
Expand Down Expand Up @@ -2630,7 +2570,6 @@ jobs:
- versioning-test
- lsp-test
- mysql-db-test
- graalvm-test

# cleanup if the primary build job succeeded and
# * nothing else failed (allows manual restarts)
Expand Down
Loading