| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| |
| name: NetBeans |
| |
| on: |
| push: |
| pull_request: |
| # unlocked event is used as super secret restart button |
| types: [opened, synchronize, unlocked] |
| |
| # cancel other PR workflow run in the same head-base group if it exists (e.g. during PR syncs) |
| # if this is not a PR run (no github.head_ref and github.base_ref defined), use an UID as group |
| concurrency: |
| group: ${{ github.head_ref || github.run_id }}-${{ github.base_ref }} |
| cancel-in-progress: true |
| |
| env: |
| |
| # note to self: don't remove the minus again |
| OPTS: >- |
| -Dtest-unit-sys-prop.ignore.random.failures=true |
| |
| # what to build and test, see nbbuild/cluster.properties |
| CLUSTER_CONFIG: 'full' |
| |
| # flags for conditional, long running steps or jobs configurable with labels. If this is not a PR, everything will run. |
| # 'Java' label |
| test_java: ${{ contains(github.event.pull_request.labels.*.name, 'Java') || contains(github.event.pull_request.labels.*.name, 'ci:all-tests') || github.event_name != 'pull_request' }} |
| |
| # 'JavaDoc' or 'API Change' labels |
| test_javadoc: ${{ contains(github.event.pull_request.labels.*.name, 'JavaDoc') || contains(github.event.pull_request.labels.*.name, 'API Change') || contains(github.event.pull_request.labels.*.name, 'ci:all-tests') || github.event_name != 'pull_request' }} |
| |
| # 'JavaScript' label |
| test_javascript: ${{ contains(github.event.pull_request.labels.*.name, 'JavaScript') || contains(github.event.pull_request.labels.*.name, 'ci:all-tests') || github.event_name != 'pull_request' }} |
| |
| # 'PHP' label |
| test_php: ${{ contains(github.event.pull_request.labels.*.name, 'PHP') || contains(github.event.pull_request.labels.*.name, 'ci:all-tests') || github.event_name != 'pull_request' }} |
| |
| # 'Groovy' label |
| test_groovy: ${{ contains(github.event.pull_request.labels.*.name, 'Groovy') || contains(github.event.pull_request.labels.*.name, 'ci:all-tests') || github.event_name != 'pull_request' }} |
| |
| # 'Rust' label |
| test_rust: ${{ contains(github.event.pull_request.labels.*.name, 'Rust') || contains(github.event.pull_request.labels.*.name, 'ci:all-tests') || github.event_name != 'pull_request' }} |
| |
| # 'Platform' label |
| test_platform: ${{ contains(github.event.pull_request.labels.*.name, 'Platform') || contains(github.event.pull_request.labels.*.name, 'ci:all-tests') || github.event_name != 'pull_request' }} |
| |
| # 'tests' label for building all tests |
| test_tests: ${{ contains(github.event.pull_request.labels.*.name, 'tests') || contains(github.event.pull_request.labels.*.name, 'ci:all-tests') || github.event_name != 'pull_request' }} |
| |
| # 'LSP' label for enabling Language Server Protocol tests |
| test_lsp: ${{ contains(github.event.pull_request.labels.*.name, 'LSP') || 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' }} |
| |
| # 'VSCode Extension' label for building and testing the VSCode Extension |
| test_vscode_extension: ${{ contains(github.event.pull_request.labels.*.name, 'VSCode Extension') || contains(github.event.pull_request.labels.*.name, 'ci:all-tests') || github.event_name != 'pull_request' }} |
| |
| # 'Ant', 'Gradle', 'Maven' and 'MX' labels trigger build-tools job |
| # see job condition (env vars don't work for job conditions https://github.com/actions/runner/issues/1189 ) |
| |
| # special commands: |
| # 'ci:all-tests' enables everything |
| # 'ci:no-build' disables the build job (and test jobs too) |
| # 'ci:dev-build' produces an artifact containing a runnable NetBeans zip distribution |
| |
| # default java distribution used by the setup-java action |
| # see https://github.com/actions/setup-java#supported-distributions |
| default_java_distribution: 'zulu' |
| |
| |
| jobs: |
| |
| # primary build job, most other jobs use the artifact produced here |
| # artifact is only produced once in the matrix |
| base-build: |
| name: Build Clusters on JDK ${{ matrix.java }} |
| if: contains(github.event.pull_request.labels.*.name, 'ci:no-build') == false |
| runs-on: ubuntu-latest |
| timeout-minutes: 60 |
| strategy: |
| matrix: |
| java: [ '11', '17', '21-ea' ] |
| fail-fast: false |
| steps: |
| |
| - name: Set up JDK ${{ matrix.java }} |
| uses: actions/setup-java@v3 |
| with: |
| java-version: ${{ matrix.java }} |
| distribution: ${{ env.default_java_distribution }} |
| |
| - name: Checkout ${{ github.ref }} ( ${{ github.sha }} ) |
| uses: actions/checkout@v3 |
| with: |
| persist-credentials: false |
| submodules: false |
| |
| - name: Caching dependencies |
| uses: actions/cache@v3 |
| with: |
| path: ~/.hgexternalcache |
| key: ${{ runner.os }}-${{ hashFiles('*/external/binaries-list', '*/*/external/binaries-list') }} |
| restore-keys: ${{ runner.os }}- |
| |
| - name: Setup Gradle Daemon to run on JDK 11 |
| if: ${{ matrix.java == '21-ea' }} |
| run: | |
| mkdir -p ~/.gradle |
| #uses a preinstalled JDK 11 from the runner |
| echo "org.gradle.java.home=$JAVA_HOME_11_X64" >> ~/.gradle/gradle.properties |
| |
| - name: Build NetBeans |
| run: ant $OPTS -quiet -Dcluster.config=$CLUSTER_CONFIG build-nozip |
| |
| - name: Prepare Artifact |
| if: ${{ matrix.java == '11' }} |
| run: tar -I 'zstd -9 -T0' -cf /tmp/build.tar.zst --exclude ".git" . |
| |
| - name: Upload Workspace |
| if: ${{ (matrix.java == '11') && success() }} |
| uses: actions/upload-artifact@v3 |
| with: |
| name: build |
| path: /tmp/build.tar.zst |
| retention-days: 2 |
| if-no-files-found: error |
| |
| - name: Create Dev Build |
| if: ${{ matrix.java == '11' && contains(github.event.pull_request.labels.*.name, 'ci:dev-build') && success() }} |
| run: ant $OPTS -quiet -Dcluster.config=$CLUSTER_CONFIG zip-cluster-config |
| |
| - name: Upload Dev Build |
| if: ${{ matrix.java == '11' && contains(github.event.pull_request.labels.*.name, 'ci:dev-build') && success() }} |
| uses: actions/upload-artifact@v3 |
| with: |
| name: dev-build |
| path: nbbuild/NetBeans-*.zip |
| retention-days: 7 |
| if-no-files-found: error |
| |
| nb-javac-smokecheck: |
| name: "NetBeans on nb-javac" |
| # Run test job only when the 'nb-javac' label is added |
| if: ${{ contains(github.event.pull_request.labels.*.name, 'nb-javac') }} |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@v3 |
| - name: Set up JDK 8 |
| uses: actions/setup-java@v3 |
| with: |
| distribution: 'zulu' |
| java-version: 8 |
| - name: Caching dependencies |
| uses: actions/cache/restore@v3 |
| with: |
| path: ~/.hgexternalcache |
| key: ${{ runner.os }}-${{ hashFiles('*/external/binaries-list', '*/*/external/binaries-list') }} |
| restore-keys: ${{ runner.os }}- |
| - name: Download External Binaries |
| run: ant $OPTS download-all-extbins |
| - name: Build NetBeans with nb-javac |
| run: ant $OPTS build -Dnbjavac.class.path=java/libs.javacapi/external/*.jar |
| - name: Setup Xvfb |
| run: | |
| echo "DISPLAY=:99.0" >> $GITHUB_ENV |
| Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 & |
| - name: Test with Commit Validation |
| run: ant $OPTS commit-validation -Dnbjavac.class.path=java/libs.javacapi/external/*.jar |
| |
| # secondary jobs |
| linux-commit-validation: |
| name: Commit Validation on Linux/JDK ${{ matrix.java }} |
| needs: base-build |
| runs-on: ubuntu-latest |
| timeout-minutes: 60 |
| strategy: |
| matrix: |
| java: [ '11', '17', '21-ea' ] |
| fail-fast: false |
| steps: |
| |
| - name: Set up JDK ${{ matrix.java }} |
| uses: actions/setup-java@v3 |
| with: |
| java-version: ${{ matrix.java }} |
| distribution: ${{ env.default_java_distribution }} |
| |
| - 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@v3 |
| with: |
| name: build |
| |
| - name: Extract |
| run: tar --zstd -xf build.tar.zst |
| |
| - name: Commit Validation tests |
| run: ant $OPTS -Dcluster.config=$CLUSTER_CONFIG commit-validation |
| |
| - name: Create Test Summary |
| uses: test-summary/action@v2 |
| if: failure() |
| with: |
| paths: "./nbbuild/build/test/commit-validation/results/TEST-*.xml" |
| |
| |
| # commit related checks - some steps run even when the build is dissabled |
| paperwork: |
| name: Check Paperwork on Linux/JDK ${{ matrix.java }} |
| needs: base-build |
| if: always() |
| runs-on: ubuntu-latest |
| timeout-minutes: 60 |
| env: |
| ANT_OPTS: -Dmetabuild.jsonurl=https://raw.githubusercontent.com/apache/netbeans-jenkins-lib/master/meta/netbeansrelease.json |
| strategy: |
| matrix: |
| java: [ '11' ] |
| steps: |
| |
| - name: Set up JDK ${{ matrix.java }} |
| uses: actions/setup-java@v3 |
| with: |
| java-version: ${{ matrix.java }} |
| distribution: ${{ env.default_java_distribution }} |
| |
| - name: Checkout ${{ github.ref }} ( ${{ github.sha }} ) |
| if: ${{ !cancelled() }} |
| uses: actions/checkout@v3 |
| with: |
| persist-credentials: false |
| submodules: false |
| fetch-depth: 10 |
| |
| - name: Print last 10 Commits |
| if: ${{ github.event_name == 'pull_request' && !cancelled() }} |
| run: git log --oneline -n10 --pretty=format:'%h %an [%ae] %s' |
| |
| - name: Check line endings and verify RAT report |
| if: ${{ !cancelled() }} |
| run: | |
| nbbuild/travis/check-line-endings.sh |
| ant $OPTS -quiet build-source-config |
| mkdir scratch && cd scratch |
| unzip -qq ../nbbuild/build/release-src* |
| ant $OPTS -quiet rat -Drat-report.haltonfailure=true |
| |
| - name: Clean Workspace |
| if: ${{ !cancelled() }} |
| run: cd ..; rm -Rf netbeans; mkdir netbeans |
| |
| - name: Download Build |
| if: ${{ needs.base-build.result == 'success' && !cancelled() }} |
| uses: actions/download-artifact@v3 |
| with: |
| name: build |
| |
| - name: Extract |
| if: ${{ needs.base-build.result == 'success' && !cancelled() }} |
| run: tar --zstd -xf build.tar.zst |
| |
| - name: Verify libs and licenses |
| if: ${{ needs.base-build.result == 'success' && !cancelled() }} |
| run: ant $OPTS verify-libs-and-licenses -Dverify-libs-and-licenses.haltonfailure=true |
| |
| - name: Run check-sigtests-release |
| if: ${{ needs.base-build.result == 'success' && !cancelled() }} |
| run: ant $OPTS -quiet check-sigtests-release -Dfail.on.error=true |
| |
| - name: Run gen-sigtests-release |
| if: ${{ needs.base-build.result == 'success' && !cancelled() }} |
| run: ant $OPTS -quiet gen-sigtests-release |
| |
| |
| build-system-test: |
| name: Build-System Test on Linux/JDK ${{ matrix.java }} |
| needs: base-build |
| runs-on: ubuntu-latest |
| timeout-minutes: 60 |
| strategy: |
| matrix: |
| java: [ '11' ] |
| steps: |
| |
| - name: Set up JDK ${{ matrix.java }} |
| uses: actions/setup-java@v3 |
| with: |
| java-version: ${{ matrix.java }} |
| distribution: ${{ env.default_java_distribution }} |
| |
| - name: Download Build |
| uses: actions/download-artifact@v3 |
| with: |
| name: build |
| |
| - name: Extract |
| run: tar --zstd -xf build.tar.zst |
| |
| - name: Test Netbeans Build System |
| run: ant $OPTS -Dcluster.config=$CLUSTER_CONFIG localtest |
| |
| - name: Build all Tests |
| # runs only in PRs if requested, nowhere else (~18 min) |
| if: env.test_tests == 'true' && github.event_name == 'pull_request' && success() |
| run: ant -quiet -Dcluster.config=$CLUSTER_CONFIG test -Dtest.includes=NoTestsJustBuild |
| |
| |
| build-nbms: |
| name: Build NBMs, Source zips and Javadoc on JDK ${{ matrix.java }} |
| needs: base-build |
| runs-on: ubuntu-latest |
| timeout-minutes: 90 |
| strategy: |
| matrix: |
| java: [ '11' ] |
| steps: |
| |
| - name: Set up JDK ${{ matrix.java }} |
| uses: actions/setup-java@v3 |
| with: |
| java-version: ${{ matrix.java }} |
| distribution: ${{ env.default_java_distribution }} |
| |
| - name: Download Build |
| uses: actions/download-artifact@v3 |
| with: |
| name: build |
| |
| - name: Extract |
| run: tar --zstd -xf build.tar.zst |
| |
| - name: Build nbms |
| run: ant $OPTS build-nbms |
| |
| - name: Build source zips |
| run: ant $OPTS build-source-zips |
| |
| - name: Build javadoc |
| if: env.test_javadoc == 'true' && success() |
| run: ant $OPTS build-javadoc |
| |
| |
| ide-modules-test: |
| name: IDE Modules on Linux/JDK ${{ matrix.java }} |
| needs: base-build |
| runs-on: ubuntu-latest |
| timeout-minutes: 60 |
| strategy: |
| matrix: |
| java: [ '11' ] |
| steps: |
| |
| - name: Set up JDK ${{ matrix.java }} |
| uses: actions/setup-java@v3 |
| with: |
| java-version: ${{ matrix.java }} |
| distribution: ${{ env.default_java_distribution }} |
| |
| - 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@v3 |
| with: |
| name: build |
| |
| - name: Extract |
| run: tar --zstd -xf build.tar.zst |
| |
| - name: ide/api.xml |
| run: ant $OPTS -f ide/api.xml test |
| |
| - name: ide/api.xml.ui |
| run: ant $OPTS -f ide/api.xml.ui test |
| |
| - name: ide/bugtracking |
| run: .github/retry.sh ant $OPTS -f ide/bugtracking test |
| |
| - name: ide/bugtracking.bridge |
| run: .github/retry.sh ant $OPTS -f ide/bugtracking.bridge test |
| |
| - name: ide/bugtracking.commons |
| run: ant $OPTS -f ide/bugtracking.commons test |
| |
| # - name: ide/bugzilla |
| # run: ant $OPTS -f ide/bugzilla test |
| |
| - name: ide/code.analysis |
| run: ant $OPTS -f ide/code.analysis test |
| |
| - name: ide/core.ide |
| run: ant $OPTS -f ide/core.ide test |
| |
| - name: ide/csl.api |
| run: ant $OPTS -f ide/csl.api test |
| |
| - name: ide/csl.types |
| run: ant $OPTS -f ide/csl.types test |
| |
| - name: ide/css.editor |
| run: ant $OPTS -f ide/css.editor test |
| |
| - name: ide/css.lib |
| run: ant $OPTS -f ide/css.lib test |
| |
| - name: ide/css.model |
| run: ant $OPTS -f ide/css.model test |
| |
| - name: ide/db |
| run: .github/retry.sh ant $OPTS -f ide/db test |
| |
| - name: ide/db.dataview |
| run: ant $OPTS -f ide/db.dataview test |
| |
| - name: ide/db.sql.editor |
| run: ant $OPTS -f ide/db.sql.editor test |
| |
| - name: ide/docker.api |
| run: ant $OPTS -f ide/docker.api test |
| |
| - name: ide/docker.ui |
| run: ant $OPTS -f ide/docker.ui test |
| |
| - name: ide/editor.bookmarks |
| run: ant $OPTS -f ide/editor.bookmarks test |
| |
| # - name: ide/editor.bracesmatching |
| # run: ant $OPTS -f ide/editor.bracesmatching test |
| |
| - name: ide/editor.document |
| run: ant $OPTS -f ide/editor.document test |
| |
| - name: ide/editor.fold |
| run: ant $OPTS -f ide/editor.fold test |
| |
| - name: ide/editor.fold.nbui |
| run: ant $OPTS -f ide/editor.fold.nbui test |
| |
| - name: ide/editor.guards |
| run: ant $OPTS -f ide/editor.guards test |
| |
| - name: ide/editor.indent |
| run: ant $OPTS -f ide/editor.indent test |
| |
| - name: ide/editor.indent.project |
| run: ant $OPTS -f ide/editor.indent.project test |
| |
| - name: ide/editor.macros |
| run: ant $OPTS -f ide/editor.macros test |
| |
| - name: ide/editor.search |
| run: ant $OPTS -f ide/editor.search test |
| |
| - name: ide/editor.settings |
| run: ant $OPTS -f ide/editor.settings test |
| |
| - name: ide/editor.settings.storage |
| run: .github/retry.sh ant $OPTS -f ide/editor.settings.storage test |
| |
| - name: ide/editor.structure |
| run: ant $OPTS -f ide/editor.structure test |
| |
| - name: ide/editor.tools.storage |
| run: ant $OPTS -f ide/editor.tools.storage test |
| |
| - name: ide/editor.util |
| run: ant $OPTS -f ide/editor.util test |
| |
| - name: ide/extbrowser |
| run: ant $OPTS -f ide/extbrowser test |
| |
| - name: ide/extexecution.base |
| run: ant $OPTS -f ide/extexecution.base test |
| |
| - name: ide/gsf.testrunner.ui |
| run: ant $OPTS -f ide/gsf.testrunner.ui test |
| |
| - name: ide/html |
| run: .github/retry.sh ant $OPTS -f ide/html test |
| |
| - name: ide/html.custom |
| run: ant $OPTS -f ide/html.custom test |
| |
| - name: ide/html.editor |
| run: ant $OPTS -f ide/html.editor test |
| |
| - name: ide/html.editor |
| run: ant $OPTS -f ide/html.editor.lib test |
| |
| - name: ide/html.lexer |
| run: ant $OPTS -f ide/html.lexer test |
| |
| - name: ide/html.parser |
| run: ant $OPTS -f ide/html.parser test |
| |
| - name: ide/html.validation |
| run: ant $OPTS -f ide/html.validation test |
| |
| - name: ide/httpserver |
| run: ant $OPTS -f ide/httpserver test |
| |
| - name: ide/hudson |
| run: ant $OPTS -f ide/hudson test |
| |
| - name: ide/hudson.git |
| run: ant $OPTS -f ide/hudson.git test |
| |
| - name: ide/hudson.mercurial |
| run: ant $OPTS -f ide/hudson.mercurial test |
| |
| - name: ide/hudson.subversion |
| run: ant $OPTS -f ide/hudson.subversion test |
| |
| - name: ide/hudson.tasklist |
| run: ant $OPTS -f ide/hudson.tasklist test |
| |
| - name: ide/hudson.ui |
| run: ant $OPTS -f ide/hudson.ui test |
| |
| - name: ide/javascript2.debug |
| run: ant $OPTS -f ide/javascript2.debug test |
| |
| - name: ide/languages.hcl |
| run: ant $OPTS -f ide/languages.hcl test |
| |
| - name: ide/languages.toml |
| run: ant $OPTS -f ide/languages.toml test |
| |
| - name: ide/languages.yaml |
| run: ant $OPTS -f ide/languages.yaml test |
| |
| - name: ide/lexer |
| run: ant $OPTS -f ide/lexer test |
| |
| - name: ide/lexer.antlr4 |
| run: ant $OPTS -f ide/lexer.antlr4 test |
| |
| - name: ide/lib.terminalemulator |
| run: ant $OPTS -f ide/lib.terminalemulator test |
| |
| - name: ide/libs.freemarker |
| run: ant $OPTS -f ide/libs.freemarker test |
| |
| # - name: ide/libs.git |
| # run: ant $OPTS -f ide/libs.git test |
| |
| - name: ide/libs.graalsdk |
| run: ant $OPTS -f ide/libs.graalsdk test |
| |
| # - name: ide/localhistory |
| # run: ant $OPTS -f ide/localhistory test |
| |
| - name: ide/libs.truffleapi |
| run: ant $OPTS -f ide/libs.truffleapi test |
| |
| - name: ide/lsp.client |
| run: ant $OPTS -f ide/lsp.client test |
| |
| - name: ide/notifications |
| run: ant $OPTS -f ide/notifications test |
| |
| - name: ide/o.openidex.util |
| run: ant $OPTS -f ide/o.openidex.util test |
| |
| - name: ide/options.editor |
| run: .github/retry.sh ant $OPTS -f ide/options.editor test |
| |
| # - name: ide/parsing.api |
| # run: ant $OPTS -f ide/parsing.api test |
| |
| # - name: ide/parsing.indexing |
| # run: ant $OPTS -f ide/parsing.indexing test |
| |
| - name: ide/parsing.lucene |
| run: ant $OPTS -f ide/parsing.lucene test |
| |
| - name: ide/project.libraries |
| run: ant $OPTS -f ide/project.libraries test |
| |
| - name: ide/project.libraries.ui |
| run: ant $OPTS -f ide/project.libraries.ui test |
| |
| - name: ide/projectapi |
| run: ant $OPTS -f ide/projectapi test |
| |
| - name: ide/projectapi.nb |
| run: ant $OPTS -f ide/projectapi.nb test |
| |
| - name: ide/projectuiapi.base |
| run: ant $OPTS -f ide/projectuiapi.base test |
| |
| - name: ide/refactoring.api |
| run: ant $OPTS -f ide/refactoring.api test |
| |
| - name: ide/schema2beans |
| run: ant $OPTS -f ide/schema2beans test |
| |
| - name: ide/server |
| run: ant $OPTS -f ide/server test |
| |
| - name: ide/spellchecker |
| run: ant $OPTS -f ide/spellchecker test |
| |
| - name: ide/spi.editor.hints |
| run: ant $OPTS -f ide/spi.editor.hints test |
| |
| # - name: ide/spi.palette |
| # run: ant $OPTS -f ide/spi.palette test |
| |
| - name: ide/spi.tasklist |
| run: ant $OPTS -f ide/spi.tasklist test |
| |
| - name: ide/tasklist.ui |
| run: ant $OPTS -f ide/tasklist.ui test |
| |
| - name: ide/team.commons |
| run: ant $OPTS -f ide/team.commons test |
| |
| - name: ide/terminal.nb |
| run: ant $OPTS -f ide/terminal.nb test |
| |
| - name: ide/utilities |
| run: ant $OPTS -f ide/utilities test |
| |
| - name: ide/versioning.masterfs |
| run: ant $OPTS -f ide/versioning.masterfs test |
| |
| - name: ide/versioning.ui |
| run: ant $OPTS -f ide/versioning.ui test |
| |
| - name: ide/versioning.util |
| run: ant $OPTS -f ide/versioning.util test |
| |
| - name: ide/web.common |
| run: ant $OPTS -f ide/web.common test |
| |
| - name: ide/web.common.ui |
| run: ant $OPTS -f ide/web.common.ui test |
| |
| - name: ide/web.webkit.debugging |
| run: ant $OPTS -f ide/web.webkit.debugging test |
| |
| - name: ide/xml |
| run: ant $OPTS -f ide/xml test |
| |
| - name: ide/xml.axi |
| run: ant $OPTS -f ide/xml.axi test |
| |
| - name: ide/xml.catalog |
| run: ant $OPTS -f ide/xml.catalog test-unit |
| |
| - name: ide/xml.core |
| run: ant $OPTS -f ide/xml.core test |
| |
| - name: ide/xml.lexer |
| run: ant $OPTS -f ide/xml.lexer test |
| |
| - name: ide/xml.multiview |
| run: ant $OPTS -f ide/xml.multiview test |
| |
| - name: ide/xml.retriever |
| run: ant $OPTS -f ide/xml.retriever test |
| |
| - name: ide/xml.schema.completion |
| run: ant $OPTS -f ide/xml.schema.completion test |
| |
| - name: ide/xml.schema.model |
| run: ant $OPTS -f ide/xml.schema.model test |
| |
| - name: ide/xml.text |
| run: ant $OPTS -f ide/xml.text test |
| |
| - name: ide/xml.text.obsolete90 |
| run: ant $OPTS -f ide/xml.text.obsolete90 test |
| |
| - name: ide/xml.wsdl.model |
| run: .github/retry.sh ant $OPTS -f ide/xml.wsdl.model test |
| |
| - name: ide/xml.xam |
| run: ant $OPTS -f ide/xml.xam test |
| |
| - name: ide/xml.xdm |
| run: ant $OPTS -f ide/xml.xdm test |
| |
| - name: ide/xsl |
| run: ant $OPTS -f ide/xsl test |
| |
| - name: Create Test Summary |
| uses: test-summary/action@v2 |
| if: failure() |
| with: |
| paths: "./*/*/build/test/*/results/TEST-*.xml" |
| |
| |
| build-tools: |
| name: Build Tools on Linux/JDK ${{ matrix.java }} |
| # label triggers: Ant, Gradle, Maven, MX |
| if: ${{ 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' }} |
| needs: base-build |
| runs-on: ubuntu-latest |
| timeout-minutes: 60 |
| strategy: |
| matrix: |
| java: [ '11' ] |
| steps: |
| |
| - name: Set up JDK ${{ matrix.java }} |
| uses: actions/setup-java@v3 |
| with: |
| java-version: ${{ matrix.java }} |
| distribution: ${{ env.default_java_distribution }} |
| |
| - 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@v3 |
| with: |
| name: build |
| |
| - name: Extract |
| run: tar --zstd -xf build.tar.zst |
| |
| # run unreliable steps first to fail early |
| - name: java/java.mx.project |
| continue-on-error: ${{ github.event_name != 'pull_request' }} |
| run: .github/retry.sh ant $OPTS -f java/java.mx.project test |
| |
| - name: java/gradle.java |
| run: .github/retry.sh ant $OPTS -f java/gradle.java test |
| |
| - name: extide/gradle |
| run: ant $OPTS -f extide/gradle test |
| |
| - name: java/maven |
| run: ant $OPTS -f java/maven test |
| |
| - name: java/maven.embedder |
| run: ant $OPTS -f java/maven.embedder test |
| |
| - name: java/maven.grammar |
| run: ant $OPTS -f java/maven.grammar test |
| |
| - name: java/maven.hints |
| run: ant $OPTS -f java/maven.hints test |
| |
| # - name: java/maven.htmlui |
| # run: ant $OPTS -f java/maven.htmlui test |
| |
| - name: java/maven.indexer |
| run: ant $OPTS -f java/maven.indexer test |
| |
| - name: java/maven.junit |
| run: ant $OPTS -f java/maven.junit test |
| |
| - name: java/maven.model |
| run: ant $OPTS -f java/maven.model test |
| |
| - name: java/maven.osgi |
| run: ant $OPTS -f java/maven.osgi test |
| |
| - name: java/api.maven |
| run: ant $OPTS -f java/api.maven test |
| |
| - name: maven.apisupport |
| run: ant $OPTS -f apisupport/maven.apisupport test |
| |
| - name: java/hudson.maven |
| run: ant $OPTS -f java/hudson.maven test |
| |
| - name: ide/project.ant |
| run: ant $OPTS -f ide/project.ant test |
| |
| - name: ide/project.ant.compat8 |
| run: ant $OPTS -f ide/project.ant.compat8 test |
| |
| - name: ide/project.ant.ui |
| run: ant $OPTS -f ide/project.ant.ui test |
| |
| # - name: java/ant.debugger |
| # run: ant $OPTS -f java/ant.debugger test |
| |
| - name: java/ant.freeform |
| run: ant $OPTS -f java/ant.freeform test |
| |
| # - name: java/ant.grammar |
| # run: ant $OPTS -f java/ant.grammar test |
| |
| - name: extide/o.apache.tools.ant.module |
| run: ant $OPTS -f extide/o.apache.tools.ant.module test |
| |
| - name: Create Test Summary |
| uses: test-summary/action@v2 |
| if: failure() |
| with: |
| paths: "./*/*/build/test/*/results/TEST-*.xml" |
| |
| |
| platform-modules-test1: |
| name: Platform Modules batch1 on Linux/JDK ${{ matrix.java }} |
| # equals env.test_platform == 'true' |
| if: ${{ contains(github.event.pull_request.labels.*.name, 'Platform') || 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: |
| java: [ '8' ] |
| steps: |
| |
| - name: Set up JDK 11 |
| uses: actions/setup-java@v3 |
| with: |
| java-version: 11 |
| distribution: ${{ env.default_java_distribution }} |
| |
| - name: Set up JDK ${{ matrix.java }} |
| uses: actions/setup-java@v3 |
| with: |
| java-version: ${{ matrix.java }} |
| distribution: ${{ env.default_java_distribution }} |
| |
| - 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@v3 |
| with: |
| name: build |
| |
| - name: Extract |
| run: tar --zstd -xf build.tar.zst |
| |
| - name: platform/api.htmlui |
| run: .github/retry.sh ant $OPTS -Dvanilla.javac.exists=true -f platform/api.htmlui test |
| |
| - name: platform/htmlui |
| run: .github/retry.sh ant $OPTS -Dvanilla.javac.exists=true -f platform/htmlui test |
| |
| - name: platform/api.intent |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/api.intent test |
| |
| - name: platform/api.io |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/api.io test |
| |
| - name: platform/api.progress |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/api.progress test |
| |
| - name: platform/api.progress.nb |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/api.progress.nb test |
| |
| - name: platform/api.scripting |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/api.scripting test |
| |
| - name: platform/api.search |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/api.search test |
| |
| - name: platform/api.templates |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/api.templates test |
| |
| - name: platform/api.visual |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/api.visual test |
| |
| - name: platform/applemenu |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/applemenu test |
| |
| - name: platform/autoupdate.cli |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/autoupdate.cli test |
| |
| - name: platform/autoupdate.services |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/autoupdate.services test |
| |
| - name: platform/autoupdate.ui |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/autoupdate.ui test |
| |
| - name: platform/core.execution |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/core.execution test |
| |
| - name: platform/core.io.ui |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/core.io.ui test |
| |
| - name: platform/core.kit |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/core.kit test |
| |
| - name: platform/core.multiview |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/core.multiview test |
| |
| - name: platform/core.netigso |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/core.netigso test |
| |
| - name: platform/core.network |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/core.network test |
| |
| - name: platform/core.osgi |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/core.osgi test |
| |
| - name: platform/core.output2 |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/core.output2 test |
| |
| - name: platform/core.startup |
| run: .github/retry.sh ant $OPTS -Dvanilla.javac.exists=true -f platform/core.startup test |
| |
| - name: platform/core.startup.base |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/core.startup.base test |
| |
| - name: platform/core.ui |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/core.ui test |
| |
| - name: platform/core.windows |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/core.windows test |
| |
| - name: platform/editor.mimelookup |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/editor.mimelookup test |
| |
| - name: platform/editor.mimelookup.impl |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/editor.mimelookup.impl test |
| |
| - name: platform/favorites |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/favorites test |
| |
| - name: platform/javahelp |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/javahelp test-unit |
| |
| - name: platform/keyring.fallback |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/keyring.fallback test |
| |
| - name: platform/keyring.impl |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/keyring.impl test |
| |
| - name: platform/lib.uihandler |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/lib.uihandler test |
| |
| - name: platform/libs.javafx |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/libs.javafx test |
| |
| - name: platform/libs.junit4 |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/libs.junit4 test |
| |
| - name: platform/masterfs |
| run: .github/retry.sh ant $OPTS -Dvanilla.javac.exists=true -f platform/masterfs test |
| |
| - name: platform/masterfs.linux |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/masterfs.linux test |
| |
| - name: platform/o.n.core |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/o.n.core test-unit |
| |
| - name: platform/o.n.swing.outline |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/o.n.swing.outline test |
| |
| - name: platform/o.n.swing.tabcontrol |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/o.n.swing.tabcontrol test |
| |
| - name: Set up JDK 11 |
| uses: actions/setup-java@v3 |
| with: |
| java-version: 11 |
| distribution: ${{ env.default_java_distribution }} |
| |
| # use cache so that the platform build doesn't have to download dependencies again |
| - name: Caching dependencies |
| uses: actions/cache@v3 |
| with: |
| path: ~/.hgexternalcache |
| key: ${{ runner.os }}-${{ hashFiles('*/external/binaries-list', '*/*/external/binaries-list') }} |
| restore-keys: ${{ runner.os }}- |
| |
| - name: platform build from platform-src zip |
| run: | |
| ant $OPTS -quiet build-source-config -Dcluster.config=platform |
| mkdir tmpplatform && cd tmpplatform && unzip -qq ../nbbuild/build/platform-src* |
| ant $OPTS build -Dcluster.config=platform |
| |
| - name: Set up JDK ${{ matrix.java }} |
| uses: actions/setup-java@v3 |
| with: |
| java-version: ${{ matrix.java }} |
| distribution: ${{ env.default_java_distribution }} |
| |
| # required by netbinox tests |
| - name: isolate platform build |
| run: | |
| cp -r platform/ _platform/ && cp -r harness/ _harness/ && cp nbbuild/build/nbantext.jar . |
| cp -r nbbuild/netbeans/platform/ _nb_platform/ && cp -r nbbuild/netbeans/harness/ _nb_harness/ |
| ant $OPTS -quiet clean && rm -Rf platform/ && rm -Rf harness/ |
| mkdir nbbuild/build && mkdir nbbuild/netbeans |
| mv _platform/ platform/ && mv _harness/ harness/ && mv nbantext.jar nbbuild/build/ |
| mv _nb_platform/ nbbuild/netbeans/platform/ && mv _nb_harness/ nbbuild/netbeans/harness/ |
| |
| - name: platform/netbinox |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/netbinox test -Dtest.config=stableBTD |
| |
| - name: Create Test Summary |
| uses: test-summary/action@v2 |
| if: failure() |
| with: |
| paths: "./*/*/build/test/*/results/TEST-*.xml" |
| |
| |
| platform-modules-test2: |
| name: Platform Modules batch2 on Linux/JDK ${{ matrix.java }} (some on 11) |
| # equals env.test_platform == 'true' |
| if: ${{ contains(github.event.pull_request.labels.*.name, 'Platform') || contains(github.event.pull_request.labels.*.name, 'ci:all-tests') || github.event_name != 'pull_request' }} |
| needs: base-build |
| runs-on: ubuntu-latest |
| timeout-minutes: 90 |
| strategy: |
| matrix: |
| java: [ '8' ] |
| steps: |
| |
| - name: Set up JDK 11 |
| uses: actions/setup-java@v3 |
| with: |
| java-version: 11 |
| distribution: ${{ env.default_java_distribution }} |
| |
| - name: Set up JDK ${{ matrix.java }} |
| uses: actions/setup-java@v3 |
| with: |
| java-version: ${{ matrix.java }} |
| distribution: ${{ env.default_java_distribution }} |
| |
| - 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@v3 |
| with: |
| name: build |
| |
| - name: Extract |
| run: tar --zstd -xf build.tar.zst |
| |
| - name: platform/openide.actions |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/openide.actions test |
| |
| - name: platform/openide.awt |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/openide.awt test |
| |
| - name: platform/openide.compat |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/openide.compat test |
| |
| - name: platform/openide.dialogs |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/openide.dialogs test |
| |
| - name: platform/openide.execution |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/openide.execution test |
| |
| - name: platform/openide.execution.compat8 |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/openide.execution.compat8 test |
| |
| - name: platform/openide.explorer |
| run: .github/retry.sh ant $OPTS -Dvanilla.javac.exists=true -f platform/openide.explorer test |
| |
| - name: platform/openide.filesystems |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/openide.filesystems test |
| |
| - name: platform/openide.filesystems.compat8 |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/openide.filesystems.compat8 test |
| |
| - name: platform/openide.filesystems.nb |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/openide.filesystems.nb test |
| |
| - name: platform/openide.io |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/openide.io test |
| |
| - name: platform/openide.loaders |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/openide.loaders test |
| |
| - name: platform/openide.modules |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/openide.modules test |
| |
| - name: platform/openide.nodes |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/openide.nodes test |
| |
| - name: platform/openide.options |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/openide.options test |
| |
| - name: platform/openide.text |
| run: .github/retry.sh ant $OPTS -Dvanilla.javac.exists=true -f platform/openide.text test |
| |
| - name: platform/openide.util |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/openide.util test |
| |
| - name: platform/openide.util.lookup |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/openide.util.lookup test |
| |
| - name: platform/openide.util.ui |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/openide.util.ui test |
| |
| - name: platform/openide.windows |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/openide.windows test |
| |
| - name: platform/options.api |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/options.api test-unit |
| |
| - name: platform/options.keymap |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/options.keymap test |
| |
| - name: platform/print |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/print test |
| |
| - name: platform/progress.ui |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/progress.ui test |
| |
| - name: platform/queries |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/queries test |
| |
| - name: platform/sampler |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/sampler test |
| |
| - name: platform/sendopts |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/sendopts test |
| |
| - name: platform/settings |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/settings test |
| |
| - name: platform/spi.actions |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/spi.actions test |
| |
| - name: platform/spi.quicksearch |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/spi.quicksearch test |
| |
| - name: platform/templates |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/templates test |
| |
| - name: platform/templatesui |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/templatesui test |
| |
| - name: platform/uihandler |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/uihandler test |
| |
| - name: platform/o.n.bootstrap |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/o.n.bootstrap test |
| |
| - name: Set up JDK 11 |
| uses: actions/setup-java@v3 |
| with: |
| java-version: 11 |
| distribution: ${{ env.default_java_distribution }} |
| |
| - name: platform/o.n.bootstrap on 11 |
| run: ant $OPTS -Dvanilla.javac.exists=true -f platform/o.n.bootstrap test |
| |
| - name: Create Test Summary |
| uses: test-summary/action@v2 |
| if: failure() |
| with: |
| paths: "./*/*/build/test/*/results/TEST-*.xml" |
| |
| |
| harness-modules-test: |
| name: Harness, NB and Ergonomics on Linux/JDK ${{ matrix.java }} |
| # equals env.test_platform == 'true' |
| if: ${{ contains(github.event.pull_request.labels.*.name, 'Platform') || 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: |
| java: [ '11' ] |
| steps: |
| |
| - name: Set up JDK ${{ matrix.java }} |
| uses: actions/setup-java@v3 |
| with: |
| java-version: ${{ matrix.java }} |
| distribution: ${{ env.default_java_distribution }} |
| |
| - 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@v3 |
| with: |
| name: build |
| |
| - name: Extract |
| run: tar --zstd -xf build.tar.zst |
| |
| - name: harness/o.n.insane |
| run: ant $OPTS -Dvanilla.javac.exists=true -f harness/o.n.insane test |
| |
| - name: harness/apisupport.harness |
| run: ant $OPTS -Dvanilla.javac.exists=true -f harness/apisupport.harness test |
| |
| - name: harness/harness/nbjunit |
| run: ant $OPTS -Dvanilla.javac.exists=true -f harness/nbjunit test |
| |
| - name: harness/jellytools.platform |
| run: ant $OPTS -Dvanilla.javac.exists=true -f harness/jellytools.platform test -Dtest.config=stable |
| |
| - name: ergonomics/ide.ergonomics |
| run: ant $OPTS -f ergonomics/ide.ergonomics test -Dtest.config=commit |
| |
| - name: nb/deadlock.detector |
| run: ant $OPTS -f nb/deadlock.detector test |
| |
| - name: nb/ide.branding |
| run: ant $OPTS -f nb/ide.branding test |
| |
| - name: nb/o.n.upgrader |
| run: ant $OPTS -f nb/o.n.upgrader test |
| |
| # - name: nb/updatecenters |
| # run: ant $OPTS -f nb/updatecenters test |
| |
| - name: nb/welcome |
| run: ant $OPTS -f nb/welcome test |
| |
| - name: Create Test Summary |
| uses: test-summary/action@v2 |
| if: failure() |
| with: |
| paths: "./*/*/build/test/*/results/TEST-*.xml" |
| |
| |
| java-modules-test: |
| name: Java Modules on Linux/JDK ${{ matrix.java }} |
| needs: base-build |
| runs-on: ubuntu-latest |
| timeout-minutes: 100 |
| strategy: |
| matrix: |
| java: [ '11' ] |
| steps: |
| |
| - name: Set up JDK ${{ matrix.java }} |
| uses: actions/setup-java@v3 |
| with: |
| java-version: ${{ matrix.java }} |
| distribution: ${{ env.default_java_distribution }} |
| |
| - 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@v3 |
| with: |
| name: build |
| |
| - name: Extract |
| run: tar --zstd -xf build.tar.zst |
| |
| - name: api.java |
| run: ant $OPTS -f java/api.java test |
| |
| # - name: beans |
| # run: ant $OPTS -f java/beans test |
| |
| - name: classfile |
| run: ant $OPTS -f java/classfile test |
| |
| - name: dbschema |
| run: ant $OPTS -f java/dbschema test -Dtest.config=stable |
| |
| - name: editor.htmlui |
| run: ant $OPTS -f java/editor.htmlui test |
| |
| - name: java.completion |
| if: env.test_java == 'true' && success() |
| run: ant $OPTS -f java/java.completion test |
| |
| - name: java.editor |
| if: env.test_java == 'true' && success() |
| run: .github/retry.sh ant $OPTS -f java/java.editor test-unit |
| |
| - name: java.freeform |
| run: ant $OPTS -f java/java.freeform test |
| |
| # - name: java.kit |
| # run: ant $OPTS -f java/java.kit test |
| |
| # - name: java.metrics |
| # run: ant $OPTS -f java/java.metrics test |
| |
| - name: java.module.graph |
| run: ant $OPTS -f java/java.module.graph test |
| |
| - name: java.navigation |
| run: ant $OPTS -f java/java.navigation test |
| |
| # - name: java.openjdk.project |
| # run: ant $OPTS -f java/java.openjdk.project test |
| |
| - name: java.platform |
| run: ant $OPTS -f java/java.platform test |
| |
| - name: java.platform.ui |
| run: ant $OPTS -f java/java.platform.ui test |
| |
| - name: java.preprocessorbridge |
| run: ant $OPTS -f java/java.preprocessorbridge test |
| |
| - name: java.project |
| run: ant $OPTS -f java/java.project test |
| |
| # - name: java.project.ui |
| # run: ant $OPTS -f java/java.project.ui test |
| |
| - name: java.source |
| run: ant $OPTS -f java/java.source test-unit |
| |
| # - name: java.source.ant |
| # run: ant $OPTS -f java/java.source.ant test |
| |
| - name: java.source.base |
| if: env.test_java == 'true' && success() |
| run: ant $OPTS -f java/java.source.base test |
| |
| - name: java.source.compat8 |
| run: ant $OPTS -f java/java.source.compat8 test |
| |
| - name: java.source.queriesimpl |
| run: ant $OPTS -f java/java.source.queriesimpl test |
| |
| - name: java.sourceui |
| if: env.test_java == 'true' && success() |
| run: ant $OPTS -f java/java.sourceui test |
| |
| - name: java.testrunner |
| run: ant $OPTS -f java/java.testrunner test |
| |
| - name: java.testrunner.ant |
| run: ant $OPTS -f java/java.testrunner.ant test |
| |
| # - name: javawebstart |
| # run: ant $OPTS -f java/javawebstart test |
| |
| # - name: jellytools.java |
| # run: ant $OPTS -f java/jellytools.java test |
| |
| # - name: jshell.support |
| # run: ant $OPTS -f java/jshell.support test |
| |
| - name: junit |
| run: ant $OPTS -f java/junit test-unit |
| |
| - name: junit.ant.ui |
| run: ant $OPTS -f java/junit.ant.ui test |
| |
| - name: lib.nbjavac |
| run: ant $OPTS -f java/lib.nbjavac test |
| |
| # - name: performance |
| # run: ant $OPTS -f java/performance test |
| |
| # - name: performance.java |
| # run: ant $OPTS -f java/performance.java test |
| |
| # - name: projectimport.eclipse.core |
| # run: ant $OPTS -f java/projectimport.eclipse.core test |
| |
| - name: spellchecker.bindings.java |
| run: ant $OPTS -f java/spellchecker.bindings.java test |
| |
| - name: spring.beans |
| run: ant $OPTS -f java/spring.beans test |
| |
| - name: testng |
| run: ant $OPTS -f java/testng test |
| |
| # - name: testng.ant |
| # run: ant $OPTS -f java/testng.ant test |
| |
| # - name: testng.ui |
| # run: ant $OPTS -f java/testng.ui test |
| |
| - name: whitelist |
| run: ant $OPTS -f java/whitelist test |
| |
| - name: xml.jaxb |
| run: ant $OPTS -f java/xml.jaxb test |
| |
| - name: java.lexer |
| run: ant $OPTS -f java/java.lexer test |
| |
| - name: refactoring.java |
| if: env.test_java == 'true' && success() |
| run: ant $OPTS -f java/refactoring.java test-unit |
| |
| - name: form |
| if: env.test_java == 'true' && success() |
| run: ant $OPTS -f java/form test-unit |
| |
| - name: javadoc |
| if: env.test_javadoc == 'true' && success() |
| run: ant $OPTS -f java/javadoc test |
| |
| - name: Create Test Summary |
| uses: test-summary/action@v2 |
| if: failure() |
| with: |
| paths: "./*/*/build/test/*/results/TEST-*.xml" |
| |
| |
| apisupport-modules-test: |
| name: APISupport Modules on Linux/JDK ${{ matrix.java }} |
| needs: base-build |
| runs-on: ubuntu-latest |
| timeout-minutes: 60 |
| strategy: |
| matrix: |
| java: [ '8' ] |
| steps: |
| |
| - name: Set up JDK ${{ matrix.java }} |
| uses: actions/setup-java@v3 |
| with: |
| java-version: ${{ matrix.java }} |
| distribution: ${{ env.default_java_distribution }} |
| |
| - 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@v3 |
| with: |
| name: build |
| |
| - name: Extract |
| run: tar --zstd -xf build.tar.zst |
| |
| - name: apisupport.ant |
| run: ant $OPTS -f apisupport/apisupport.ant test |
| |
| - name: apisupport.project |
| run: ant $OPTS -f apisupport/apisupport.project test |
| |
| - name: apisupport.refactoring |
| run: ant $OPTS -f apisupport/apisupport.refactoring test |
| |
| - name: apisupport.wizards |
| run: ant $OPTS -f apisupport/apisupport.wizards test |
| |
| - name: timers |
| run: ant $OPTS -f apisupport/timers test -Dtest.config=stable |
| |
| - name: Create Test Summary |
| uses: test-summary/action@v2 |
| if: failure() |
| with: |
| paths: "./*/*/build/test/*/results/TEST-*.xml" |
| |
| |
| java-hints-test: |
| name: Java Hints ${{ matrix.config }} on Linux/JDK ${{ matrix.java }} |
| # equals env.test_java == 'true' |
| if: ${{ contains(github.event.pull_request.labels.*.name, 'Java') || 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: |
| java: [ '11' ] |
| config: [ 'batch1', 'batch2' ] |
| fail-fast: false |
| steps: |
| |
| - name: Set up JDK ${{ matrix.java }} |
| uses: actions/setup-java@v3 |
| with: |
| java-version: ${{ matrix.java }} |
| distribution: ${{ env.default_java_distribution }} |
| |
| - 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@v3 |
| with: |
| name: build |
| |
| - name: Extract |
| run: tar --zstd -xf build.tar.zst |
| |
| - name: java.hints ${{ matrix.config }} |
| run: ant $OPTS -Dtest.config=${{ matrix.config }} -f java/java.hints test |
| |
| - name: java.hints.declarative |
| if: ${{ (matrix.config == 'batch2') && success() }} |
| run: ant $OPTS -f java/java.hints.declarative test |
| |
| - name: spi.java.hints |
| if: ${{ (matrix.config == 'batch2') && success() }} |
| run: ant $OPTS -f java/spi.java.hints test |
| |
| - name: Create Test Summary |
| uses: test-summary/action@v2 |
| if: failure() |
| with: |
| paths: "./*/*/build/test/*/results/TEST-*.xml" |
| |
| |
| java-debugger-test: |
| name: Java Debugger tests on Linux/JDK ${{ matrix.java }} |
| # equals env.test_java == 'true' |
| if: ${{ contains(github.event.pull_request.labels.*.name, 'Java') || 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: |
| java: [ '11', '17' ] |
| fail-fast: false |
| steps: |
| |
| - name: Set up JDK ${{ matrix.java }} |
| uses: actions/setup-java@v3 |
| with: |
| java-version: ${{ matrix.java }} |
| distribution: ${{ env.default_java_distribution }} |
| |
| - 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@v3 |
| with: |
| name: build |
| |
| - name: Extract |
| run: tar --zstd -xf build.tar.zst |
| |
| - name: api.debugger.jpda |
| run: ant $OPTS -f java/api.debugger.jpda test |
| |
| - name: debugger.jpda |
| run: .github/retry.sh ant $OPTS -f java/debugger.jpda test |
| |
| - name: debugger.jpda.js |
| run: ant $OPTS -f java/debugger.jpda.js test |
| |
| - name: debugger.jpda.projects |
| run: ant $OPTS -f java/debugger.jpda.projects test |
| |
| - name: debugger.jpda.projectsui |
| run: ant $OPTS -f java/debugger.jpda.projectsui test |
| |
| # - name: debugger.jpda.truffle |
| # run: ant $OPTS -f java/debugger.jpda.truffle test |
| |
| # - name: debugger.jpda.ui |
| # run: ant $OPTS -f java/debugger.jpda.ui test |
| |
| - name: Create Test Summary |
| uses: test-summary/action@v2 |
| if: failure() |
| with: |
| paths: "./*/*/build/test/*/results/TEST-*.xml" |
| |
| |
| profiler-test: |
| name: Profiler on Linux/JDK ${{ matrix.java }} |
| needs: base-build |
| runs-on: ubuntu-latest |
| timeout-minutes: 60 |
| strategy: |
| matrix: |
| java: [ '11' ] |
| steps: |
| |
| - name: Set up JDK ${{ matrix.java }} |
| uses: actions/setup-java@v3 |
| with: |
| java-version: ${{ matrix.java }} |
| distribution: ${{ env.default_java_distribution }} |
| |
| - 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@v3 |
| with: |
| name: build |
| |
| - name: Extract |
| run: tar --zstd -xf build.tar.zst |
| |
| - name: profiler |
| run: ant $OPTS -f profiler/profiler test-unit |
| |
| - name: profiler.oql |
| run: ant $OPTS -f profiler/profiler.oql test |
| |
| - name: Create Test Summary |
| uses: test-summary/action@v2 |
| if: failure() |
| with: |
| paths: "./*/*/build/test/*/results/TEST-*.xml" |
| |
| |
| webcommon-test: |
| name: Webcommon Modules on Linux/JDK ${{ matrix.java }} |
| needs: base-build |
| runs-on: ubuntu-latest |
| timeout-minutes: 60 |
| strategy: |
| matrix: |
| java: [ '11' ] |
| steps: |
| |
| - name: Set up JDK ${{ matrix.java }} |
| uses: actions/setup-java@v3 |
| with: |
| java-version: ${{ matrix.java }} |
| distribution: ${{ env.default_java_distribution }} |
| |
| - 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@v3 |
| with: |
| name: build |
| |
| - name: Extract |
| run: tar --zstd -xf build.tar.zst |
| |
| - name: webcommon/api.knockout |
| run: ant $OPTS -f webcommon/api.knockout test |
| |
| # - name: webcommon/cordova |
| # run: ant $OPTS -f webcommon/cordova test |
| |
| - name: webcommon/html.angular |
| run: ant $OPTS -f webcommon/html.angular test-unit |
| |
| - name: webcommon/html.knockout |
| run: ant $OPTS -f webcommon/html.knockout test-unit |
| |
| - name: webcommon/javascript.bower |
| run: ant $OPTS -f webcommon/javascript.bower test |
| |
| - name: webcommon/javascript.cdnjs |
| run: ant $OPTS -f webcommon/javascript.cdnjs test |
| |
| - name: webcommon/javascript.grunt |
| run: ant $OPTS -f webcommon/javascript.grunt test |
| |
| - name: webcommon/javascript.karma |
| run: ant $OPTS -f webcommon/javascript.karma test |
| |
| - name: webcommon/javascript.nodejs |
| run: ant $OPTS -f webcommon/javascript.nodejs test |
| |
| - name: webcommon/javascript.v8debug |
| run: ant $OPTS -f webcommon/javascript.v8debug test |
| |
| - name: webcommon/javascript2.doc |
| run: ant $OPTS -f webcommon/javascript2.doc test |
| |
| - name: webcommon/javascript2.editor |
| if: env.test_javascript == 'true' && success() |
| run: ant $OPTS -f webcommon/javascript2.editor test-unit |
| |
| - name: webcommon/javascript2.extdoc |
| run: ant $OPTS -f webcommon/javascript2.extdoc test |
| |
| - name: webcommon/javascript2.extjs |
| run: ant $OPTS -f webcommon/javascript2.extjs test |
| |
| - name: webcommon/javascript2.jade |
| run: ant $OPTS -f webcommon/javascript2.jade test |
| |
| - name: webcommon/javascript2.jquery |
| run: .github/retry.sh ant $OPTS -f webcommon/javascript2.jquery test |
| |
| - name: webcommon/javascript2.jsdoc |
| run: ant $OPTS -f webcommon/javascript2.jsdoc test |
| |
| - name: webcommon/javascript2.json |
| run: ant $OPTS -f webcommon/javascript2.json test |
| |
| - name: webcommon/javascript2.knockout |
| run: ant $OPTS -f webcommon/javascript2.knockout test |
| |
| - name: webcommon/javascript2.lexer |
| run: ant $OPTS -f webcommon/javascript2.lexer test |
| |
| - name: webcommon/javascript2.model |
| run: ant $OPTS -f webcommon/javascript2.model test |
| |
| - name: webcommon/javascript2.nodejs |
| run: ant $OPTS -f webcommon/javascript2.nodejs test-unit |
| |
| - name: webcommon/javascript2.prototypejs |
| run: ant $OPTS -f webcommon/javascript2.prototypejs test |
| |
| - name: webcommon/javascript2.requirejs |
| run: ant $OPTS -f webcommon/javascript2.requirejs test-unit |
| |
| - name: webcommon/javascript2.sdoc |
| run: ant $OPTS -f webcommon/javascript2.sdoc test |
| |
| - name: webcommon/languages.apacheconf |
| run: ant $OPTS -f webcommon/languages.apacheconf test |
| |
| - name: webcommon/languages.ini |
| run: ant $OPTS -f webcommon/languages.ini test |
| |
| # - name: webcommon/lib.v8debug |
| # run: ant $OPTS -f webcommon/lib.v8debug test |
| |
| - name: webcommon/libs.graaljs |
| run: ant $OPTS -f webcommon/libs.graaljs test |
| |
| - name: webcommon/selenium2.webclient |
| run: ant $OPTS -f webcommon/selenium2.webclient test |
| |
| - name: webcommon/web.clientproject |
| run: ant $OPTS -f webcommon/web.clientproject test-unit |
| |
| - name: webcommon/web.clientproject.api |
| run: ant $OPTS -f webcommon/web.clientproject.api test |
| |
| - name: webcommon/web.inspect |
| run: ant $OPTS -f webcommon/web.inspect test |
| |
| - name: Create Test Summary |
| uses: test-summary/action@v2 |
| if: failure() |
| with: |
| paths: "./*/*/build/test/*/results/TEST-*.xml" |
| |
| |
| macos: |
| name: Tests on MacOS/JDK ${{ matrix.java }} |
| needs: base-build |
| runs-on: macos-11 |
| timeout-minutes: 90 |
| strategy: |
| matrix: |
| java: [ '11' ] |
| steps: |
| |
| - name: Set up JDK ${{ matrix.java }} |
| uses: actions/setup-java@v3 |
| with: |
| java-version: ${{ matrix.java }} |
| distribution: ${{ env.default_java_distribution }} |
| |
| - name: Download Build |
| uses: actions/download-artifact@v3 |
| with: |
| name: build |
| |
| # tar on MacOS is not aware of zstd "tar --zstd -xf build.tar.zst" isn't working |
| - name: Extract |
| run: unzstd -c build.tar.zst | tar -x |
| |
| - name: Test platform/masterfs.macosx |
| run: ant $OPTS -f platform/masterfs.macosx test |
| |
| - name: Test platform/core.network |
| run: ant $OPTS -f platform/core.network test |
| |
| - name: Commit Validation tests |
| run: ant $OPTS -Dcluster.config=$CLUSTER_CONFIG commit-validation |
| |
| - name: Create Test Summary |
| uses: test-summary/action@v2 |
| if: failure() |
| with: |
| paths: | |
| "./*/*/build/test/*/results/TEST-*.xml" |
| "./nbbuild/build/test/commit-validation/results/TEST-*.xml" |
| |
| |
| javafx-test: |
| name: JavaFX on Linux/JDK ${{ matrix.java }} |
| needs: base-build |
| runs-on: ubuntu-latest |
| timeout-minutes: 60 |
| strategy: |
| matrix: |
| java: [ '11' ] |
| steps: |
| |
| - name: Set up JDK ${{ matrix.java }} |
| uses: actions/setup-java@v3 |
| with: |
| java-version: ${{ matrix.java }} |
| distribution: ${{ env.default_java_distribution }} |
| |
| - 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@v3 |
| with: |
| name: build |
| |
| - name: Extract |
| run: tar --zstd -xf build.tar.zst |
| |
| - name: javafx2.editor |
| run: ant $OPTS -f javafx/javafx2.editor test -Dtest.config=stable |
| |
| # - name: javafx2.project |
| # run: ant $OPTS -f javafx/javafx2.project test |
| |
| - name: Create Test Summary |
| uses: test-summary/action@v2 |
| if: failure() |
| with: |
| paths: "./*/*/build/test/*/results/TEST-*.xml" |
| |
| |
| groovy-test: |
| name: Groovy on Linux/JDK ${{ matrix.java }} |
| # equals env.test_groovy == 'true' |
| if: ${{ contains(github.event.pull_request.labels.*.name, 'Groovy') || 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: |
| java: [ '8' ] |
| steps: |
| |
| - name: Set up JDK ${{ matrix.java }} |
| uses: actions/setup-java@v3 |
| with: |
| java-version: ${{ matrix.java }} |
| distribution: ${{ env.default_java_distribution }} |
| |
| - 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@v3 |
| with: |
| name: build |
| |
| - name: Extract |
| run: tar --zstd -xf build.tar.zst |
| |
| - name: groovy/groovy.editor |
| run: ant $OPTS -f groovy/groovy.editor test |
| |
| - name: groovy/groovy.gsp |
| run: ant $OPTS -f groovy/groovy.gsp test |
| |
| - name: groovy/groovy.support |
| run: ant $OPTS -f groovy/groovy.support test |
| |
| # - name: groovy/groovy |
| # run: ant $OPTS -f groovy/groovy test |
| |
| # - name: groovy/groovy.java |
| # run: ant $OPTS -f groovy/groovy.java test |
| |
| # - name: groovy/groovy.kit |
| # run: ant $OPTS -f groovy/groovy.kit test |
| |
| - name: Create Test Summary |
| uses: test-summary/action@v2 |
| if: failure() |
| with: |
| paths: "./*/*/build/test/*/results/TEST-*.xml" |
| |
| |
| rust-test: |
| name: Rust on Linux/JDK ${{ matrix.java }} |
| # equals env.test_rust == 'true' |
| if: ${{ contains(github.event.pull_request.labels.*.name, 'Rust') || 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: |
| java: [ '11' ] |
| steps: |
| |
| - name: Set up JDK ${{ matrix.java }} |
| uses: actions/setup-java@v3 |
| with: |
| java-version: ${{ matrix.java }} |
| distribution: ${{ env.default_java_distribution }} |
| |
| - 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@v3 |
| with: |
| name: build |
| |
| - name: Extract |
| run: tar --zstd -xf build.tar.zst |
| |
| - name: rust/rust.cargo |
| run: ant $OPTS -f rust/rust.cargo test |
| |
| - name: rust/rust.grammar |
| run: ant $OPTS -f rust/rust.grammar test |
| |
| - name: rust/rust.options |
| run: ant $OPTS -f rust/rust.options test |
| |
| - name: Create Test Summary |
| uses: test-summary/action@v2 |
| if: failure() |
| with: |
| paths: "./*/*/build/test/*/results/TEST-*.xml" |
| |
| |
| enterprise-test: |
| name: Enterprise on Linux/JDK ${{ matrix.java }} |
| needs: base-build |
| runs-on: ubuntu-latest |
| timeout-minutes: 60 |
| strategy: |
| matrix: |
| java: [ '8' ] |
| steps: |
| |
| - name: Set up JDK ${{ matrix.java }} |
| uses: actions/setup-java@v3 |
| with: |
| java-version: ${{ matrix.java }} |
| distribution: ${{ env.default_java_distribution }} |
| |
| - 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@v3 |
| with: |
| name: build |
| |
| - name: Extract |
| run: tar --zstd -xf build.tar.zst |
| |
| - name: enterprise/j2ee.core |
| run: ant $OPTS -f enterprise/j2ee.core test |
| |
| - name: enterprise/micronaut |
| run: .github/retry.sh ant $OPTS -f enterprise/micronaut test |
| |
| - name: spring.webmvc |
| run: ant $OPTS -f enterprise/spring.webmvc test |
| |
| - name: tomcat5 |
| run: ant $OPTS -f enterprise/tomcat5 test |
| |
| - name: websvc.editor.hints |
| run: ant $OPTS -f enterprise/websvc.editor.hints test |
| |
| - name: websvc.websvcapi |
| run: ant $OPTS -f enterprise/websvc.websvcapi test |
| |
| - name: websvc.wsstackapi |
| run: ant $OPTS -f enterprise/websvc.wsstackapi test |
| |
| - name: Create Test Summary |
| uses: test-summary/action@v2 |
| if: failure() |
| with: |
| paths: "./*/*/build/test/*/results/TEST-*.xml" |
| |
| |
| versioning-test: |
| name: Versioning Modules on Linux/JDK ${{ matrix.java }} |
| needs: base-build |
| runs-on: ubuntu-latest |
| timeout-minutes: 60 |
| strategy: |
| matrix: |
| java: [ '11' ] |
| |
| steps: |
| - name: Set up JDK ${{ matrix.java }} |
| uses: actions/setup-java@v3 |
| with: |
| java-version: ${{ matrix.java }} |
| distribution: ${{ env.default_java_distribution }} |
| |
| - 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@v3 |
| with: |
| name: build |
| |
| - name: Extract |
| run: tar --zstd -xf build.tar.zst |
| |
| - name: Setup Env |
| run: echo "GIT_TEST_REPO=$HOME/git_test_repo" >> $GITHUB_ENV |
| |
| - name: ide/versioning.core |
| run: ant $OPTS -f ide/versioning.core test-unit |
| |
| - name: ide/versioning |
| run: ant $OPTS -f ide/versioning test-unit |
| |
| - name: ide/versioning.core test-qa-functional |
| run: | |
| #Prepare git repo for tests |
| git init $GIT_TEST_REPO |
| # Prepare config file for ide/versioning.core module |
| touch ide/versioning.core/test/qa-functional/data/tck.properties |
| echo "test.root = $GIT_TEST_REPO" > ide/versioning.core/test/qa-functional/data/tck.properties |
| echo "test.vcs = org.netbeans.modules.versioning.DelegatingVCS" >> ide/versioning.core/test/qa-functional/data/tck.properties |
| # Run functional tests for ide/versioning.core module |
| ant $OPTS -f ide/versioning.core test-qa-functional |
| |
| - name: ide/versioning test-qa-functional |
| run: | |
| # Prepare config file for ide/versioning module |
| touch ide/versioning/test/qa-functional/data/tck.properties |
| echo "test.root = $GIT_TEST_REPO" > ide/versioning/test/qa-functional/data/tck.properties |
| echo "test.vcs = org.netbeans.modules.git.GitVCS" >> ide/versioning/test/qa-functional/data/tck.properties |
| # Run functional tests for ide/versioning module |
| ant $OPTS -f ide/versioning test-qa-functional |
| |
| - name: Create Test Summary |
| uses: test-summary/action@v2 |
| if: failure() |
| with: |
| paths: "./*/*/build/test/*/results/TEST-*.xml" |
| |
| |
| mysql-db-test: |
| name: DB Tests with MySQL on Linux/JDK ${{ matrix.java }} |
| needs: base-build |
| runs-on: ubuntu-latest |
| timeout-minutes: 60 |
| strategy: |
| matrix: |
| java: [ '11' ] |
| |
| services: |
| mysql: |
| image: mysql:5.7 |
| env: |
| MYSQL_ROOT_PASSWORD: test |
| MYSQL_DATABASE: test |
| ports: |
| - 3306:3306 |
| options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 |
| |
| steps: |
| - name: Set up JDK ${{ matrix.java }} |
| uses: actions/setup-java@v3 |
| with: |
| java-version: ${{ matrix.java }} |
| distribution: ${{ env.default_java_distribution }} |
| |
| - 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@v3 |
| with: |
| name: build |
| |
| - name: Extract |
| run: tar --zstd -xf build.tar.zst |
| |
| - name: Setup Env |
| run: | |
| echo "OPTS_TEST=-Dtest-unit-sys-prop.mysql.user=root -Dtest-unit-sys-prop.mysql.password=test -Dtest-unit-sys-prop.mysql.host=127.0.0.1" >> $GITHUB_ENV |
| echo "ALTER USER 'root'@'localhost' IDENTIFIED BY 'test';\nFLUSH PRIVILEGES;\n" | mysql -h 127.0.0.1 --port 3306 -u root -ptest |
| |
| - name: ide/db.metadata.model |
| run: .github/retry.sh ant $OPTS $OPTS_TEST -f ide/db.metadata.model test |
| |
| - name: ide/db.mysql |
| run: .github/retry.sh ant $OPTS $OPTS_TEST -f ide/db.mysql test |
| |
| - name: Create Test Summary |
| uses: test-summary/action@v2 |
| if: failure() |
| with: |
| paths: "./*/*/build/test/*/results/TEST-*.xml" |
| |
| |
| php: |
| name: PHP on ${{ matrix.os }}/JDK ${{ matrix.java }} |
| needs: base-build |
| runs-on: ${{ matrix.os }} |
| timeout-minutes: 120 |
| defaults: |
| run: |
| shell: bash |
| env: |
| DISPLAY: ":99.0" |
| strategy: |
| matrix: |
| java: [ '11' ] |
| os: [ 'windows-2022', 'ubuntu-20.04' ] |
| fail-fast: false |
| steps: |
| |
| - name: Set up JDK ${{ matrix.java }} |
| uses: actions/setup-java@v3 |
| with: |
| java-version: ${{ matrix.java }} |
| distribution: ${{ env.default_java_distribution }} |
| |
| # linux specific setup |
| - name: Setup PHP |
| if: contains(matrix.os, 'ubuntu') |
| uses: shivammathur/setup-php@v2 |
| with: |
| php-version: '7.4' |
| tools: pecl |
| extensions: xdebug |
| ini-values: xdebug.mode=debug |
| |
| - name: Setup Xvfb |
| if: contains(matrix.os, 'ubuntu') |
| run: Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 & |
| # - - - |
| |
| - name: Download Build |
| uses: actions/download-artifact@v3 |
| with: |
| name: build |
| |
| - name: Extract |
| run: tar --zstd -xf build.tar.zst |
| |
| - name: Test Platform Core Network |
| run: ant $OPTS -f platform/core.network test |
| |
| - name: hudson.php |
| run: ant $OPTS -f php/hudson.php test |
| |
| - name: languages.neon |
| run: ant $OPTS -f php/languages.neon test |
| |
| - name: php.api.annotation |
| run: ant $OPTS -f php/php.api.annotation test |
| |
| - name: php.api.documentation |
| run: ant $OPTS -f php/php.api.documentation test |
| |
| - name: php.api.executable |
| run: ant $OPTS -f php/php.api.executable test |
| |
| - name: php.api.framework |
| run: ant $OPTS -f php/php.api.framework test |
| |
| - name: php.api.phpmodule |
| run: ant $OPTS -f php/php.api.phpmodule test |
| |
| - name: php.api.testing |
| run: ant $OPTS -f php/php.api.testing test |
| |
| - name: php.apigen |
| run: ant $OPTS -f php/php.apigen test |
| |
| - name: php.atoum |
| run: ant $OPTS -f php/php.atoum test |
| |
| - name: php.code.analysis |
| run: ant $OPTS -f php/php.code.analysis test |
| |
| - name: php.codeception |
| run: ant $OPTS -f php/php.codeception test |
| |
| - name: php.composer |
| run: ant $OPTS -f php/php.composer test |
| |
| # needs X fails on Windows |
| - name: php.dbgp |
| if: contains(matrix.os, 'ubuntu') |
| run: ant $OPTS -f php/php.dbgp test |
| |
| - name: php.doctrine2 |
| run: ant $OPTS -f php/php.doctrine2 test |
| |
| # longest step (~40min) |
| - name: php.editor |
| if: env.test_php == 'true' && success() |
| run: ant $OPTS -f php/php.editor test |
| |
| - name: php.latte |
| run: ant $OPTS -f php/php.latte test |
| |
| - name: php.nette.tester |
| run: ant $OPTS -f php/php.nette.tester test |
| |
| - name: php.phpunit |
| run: ant $OPTS -f php/php.phpunit test |
| |
| - name: php.project |
| run: ant $OPTS -f php/php.project test |
| |
| - name: php.refactoring |
| run: ant $OPTS -f php/php.refactoring test |
| |
| - name: php.smarty |
| run: ant $OPTS -f php/php.smarty test |
| |
| - name: php.symfony |
| run: ant $OPTS -f php/php.symfony test |
| |
| - name: php.symfony2 |
| run: ant $OPTS -f php/php.symfony2 test |
| |
| - name: php.twig |
| run: ant $OPTS -f php/php.twig test |
| |
| - name: php.zend |
| run: ant $OPTS -f php/php.zend test |
| |
| - name: php.zend2 |
| run: ant $OPTS -f php/php.zend2 test |
| |
| - name: spellchecker.bindings.php |
| run: ant $OPTS -f php/spellchecker.bindings.php test |
| |
| - name: Create Test Summary |
| uses: test-summary/action@v2 |
| if: failure() |
| with: |
| paths: "./*/*/build/test/*/results/TEST-*.xml" |
| |
| |
| lsp-test: |
| name: LSP tests on Linux/JDK ${{ matrix.java }} |
| # equals env.test_lsp == 'true' |
| if: ${{ contains(github.event.pull_request.labels.*.name, 'LSP') || 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: |
| java: [ '11' ] |
| |
| steps: |
| - name: Set up JDK ${{ matrix.java }} |
| uses: actions/setup-java@v3 |
| with: |
| java-version: ${{ matrix.java }} |
| distribution: ${{ env.default_java_distribution }} |
| |
| - 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@v3 |
| with: |
| name: build |
| |
| - name: Extract |
| run: tar --zstd -xf build.tar.zst |
| |
| - name: java/java.lsp.server |
| run: .github/retry.sh ant $OPTS -f java/java.lsp.server test |
| |
| - name: Create Test Summary |
| uses: test-summary/action@v2 |
| if: failure() |
| with: |
| 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: [ '20.3.0', '21.1.0' ] |
| 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@v3 |
| with: |
| name: build |
| |
| - name: Extract |
| run: tar --zstd -xf build.tar.zst |
| |
| - name: Setup GraalVM |
| run: | |
| URL=https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${{ matrix.graal }}/graalvm-ce-java8-linux-amd64-${{ matrix.graal }}.tar.gz |
| curl -L $URL | tar -xz |
| GRAALVM=`pwd`/graalvm-ce-java8-${{ matrix.graal }} |
| echo "JAVA_HOME=$GRAALVM" >> $GITHUB_ENV |
| |
| - name: Setup GraalVM Languages |
| run: | |
| $JAVA_HOME/bin/gu install python |
| $JAVA_HOME/bin/gu install R |
| $JAVA_HOME/bin/gu install ruby |
| |
| - name: platform/core.network |
| run: ant $OPTS -f platform/core.network test |
| |
| - name: platform/api.scripting |
| run: ant $OPTS -f platform/api.scripting test |
| |
| - 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 |
| |
| - 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 |
| |
| - name: Create Test Summary |
| uses: test-summary/action@v2 |
| if: failure() |
| with: |
| paths: "./*/*/build/test/*/results/TEST-*.xml" |
| |
| |
| vscode-extension-test: |
| name: VSCode Extension Tests on JDK ${{ matrix.java }} |
| # equals env.test_vscode_extension == 'true' |
| if: ${{ contains(github.event.pull_request.labels.*.name, 'VSCode Extension') || 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: |
| java: [ '11' ] |
| |
| steps: |
| - name: Set up JDK ${{ matrix.java }} |
| uses: actions/setup-java@v3 |
| with: |
| java-version: ${{ matrix.java }} |
| distribution: ${{ env.default_java_distribution }} |
| |
| - name: Set up node |
| uses: actions/setup-node@v3 |
| with: |
| node-version: 16.13.2 |
| |
| - 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@v3 |
| with: |
| name: build |
| |
| - name: Extract |
| run: tar --zstd -xf build.tar.zst |
| |
| - name: build-vscode-ext |
| run: | |
| cd java/java.lsp.server |
| ant $OPTS build-vscode-ext -D3rdparty.modules=.*externalcodeformatter.* |
| |
| - name: test-vscode-ext |
| run: | |
| cd java/java.lsp.server |
| ant $OPTS test-vscode-ext |
| |
| |
| # last job depends on everything so that it is forced to run last even if a long job fails early |
| cleanup: |
| name: Cleanup Workflow Artifacts |
| needs: |
| - base-build |
| - linux-commit-validation |
| - paperwork |
| - build-system-test |
| - build-nbms |
| - ide-modules-test |
| - platform-modules-test1 |
| - platform-modules-test2 |
| - harness-modules-test |
| - java-modules-test |
| - java-hints-test |
| - java-debugger-test |
| - profiler-test |
| - apisupport-modules-test |
| - build-tools |
| - webcommon-test |
| - macos |
| - php |
| - javafx-test |
| - groovy-test |
| - rust-test |
| - enterprise-test |
| - versioning-test |
| - lsp-test |
| - mysql-db-test |
| - graalvm-test |
| - vscode-extension-test |
| |
| # cleanup if the primary build job succeeded and |
| # * nothing else failed (allows manual restarts) |
| # * the workflow got cancelled |
| if: ${{ always() && needs.base-build.result == 'success' && (!contains(needs.*.result, 'failure') || cancelled()) }} |
| runs-on: ubuntu-latest |
| timeout-minutes: 60 |
| steps: |
| |
| - name: Checkout |
| uses: actions/checkout@v3 |
| with: |
| persist-credentials: false |
| submodules: true |
| |
| - name: Delete Workspace Artifact |
| uses: ./.github/actions/delete-artifact/ |
| with: |
| name: build |
| failOnError: true |
| |
| - name: Delete Dev Build Artifact |
| uses: ./.github/actions/delete-artifact/ |
| if: ${{ contains(github.event.pull_request.labels.*.name, 'ci:dev-build') && cancelled() }} |
| with: |
| name: dev-build |
| failOnError: true |