You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@netbeans.apache.org by mb...@apache.org on 2022/03/30 10:57:21 UTC
[netbeans] branch master updated: github actions ci pipeline.
This is an automated email from the ASF dual-hosted git repository.
mbien pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/netbeans.git
The following commit(s) were added to refs/heads/master by this push:
new 3f6562f github actions ci pipeline.
new 3625461 Merge pull request #3785 from mbien/ci-pipeline
3f6562f is described below
commit 3f6562f5b0497cb1d28e34b75e7156e979b59761
Author: Michael Bien <mb...@gmail.com>
AuthorDate: Tue Mar 15 20:18:43 2022 +0100
github actions ci pipeline.
- converted to matrix jobs + other improvements
- full cluster build on JDK 11 and 17
- moved commit-validation tests from travis to the gh actions matrix
- commit validaiton jobs on 8, 11, 17 and 19ea
- remove caching on secondary jobs since everything is in the artifact
- set bash as default shell on windows (everything uses bash now)
- bump JDK versions to 11, PHP remains on 8 since if fails otherwise
- bump OS versions to latest
- add cleanup job which removes temporary build artifacts to conserve
resources (gh action is deployed via a git submodule)
---
.github/actions/delete-artifact | 1 +
.github/workflows/cv.yml | 48 ----
.github/workflows/ensure-jdk8.yml | 60 -----
.github/workflows/javadoc.yml | 51 -----
.github/workflows/linux-upstream-jdk.yml | 56 -----
.github/workflows/linux.yml | 48 ----
.github/workflows/macos.yml | 56 -----
.github/workflows/main.yml | 371 +++++++++++++++++++++++++++++++
.github/workflows/php.yml | 142 ------------
.github/workflows/windows.yml | 134 -----------
.gitmodules | 3 +
.travis.yml | 39 ----
README.md | 9 +-
13 files changed, 376 insertions(+), 642 deletions(-)
diff --git a/.github/actions/delete-artifact b/.github/actions/delete-artifact
new file mode 160000
index 0000000..56e063d
--- /dev/null
+++ b/.github/actions/delete-artifact
@@ -0,0 +1 @@
+Subproject commit 56e063d7d8bf9972ac54aca4454d3a6675917f44
diff --git a/.github/workflows/cv.yml b/.github/workflows/cv.yml
deleted file mode 100644
index ae5e20c..0000000
--- a/.github/workflows/cv.yml
+++ /dev/null
@@ -1,48 +0,0 @@
-# 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: Commit-validation
-
-on:
- push:
- pull_request:
-
-jobs:
- commit-validation:
- name: Commit-validation (on Linux)
- runs-on: ubuntu-18.04
- env:
- OPTS: -Dcluster.config=release -Dtest-unit-sys-prop.ignore.random.failures=true
- steps:
- - name: Checkout
- uses: actions/checkout@v2
-
- - name: Caching dependencies
- uses: actions/cache@v2
- with:
- path: ~/.hgexternalcache
- key: ${{ runner.os }}-${{ hashFiles('*/external/binaries-list', '*/*/external/binaries-list') }}
- restore-keys: ${{ runner.os }}-
-
- - name: Clean
- run: ant -Dcluster.config=release clean
-
- - name: Build
- run: ant -Dcluster.config=release build
-
- - name: Validate consistency and basic tests
- run: ant -Dcluster.config=release commit-validation
diff --git a/.github/workflows/ensure-jdk8.yml b/.github/workflows/ensure-jdk8.yml
deleted file mode 100644
index c077eda..0000000
--- a/.github/workflows/ensure-jdk8.yml
+++ /dev/null
@@ -1,60 +0,0 @@
-# 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: Ensure JDK-8
-
-on:
- push:
- pull_request:
-
-jobs:
- jdk11-jdk8:
- name: "Compile with JDK-11 and test something on JDK-8"
- runs-on: ubuntu-18.04
- env:
- OPTS: -Dcluster.config=basic -Dtest-unit-sys-prop.ignore.random.failures=true
- steps:
- - uses: actions/checkout@v2
-
- - name: Caching dependencies
- uses: actions/cache@v2
- with:
- path: ~/.hgexternalcache
- key: ${{ runner.os }}-${{ hashFiles('*/external/binaries-list', '*/*/external/binaries-list') }}
- restore-keys: ${{ runner.os }}-
-
- - name: Set up JDK 8
- uses: actions/setup-java@v2
- with:
- distribution: 'zulu'
- java-version: 8
-
- - name: Record JDK8
- run: echo "$JAVA_HOME" | tee `pwd`/jdk8
-
- - name: Set up JDK 11
- uses: actions/setup-java@v2
- with:
- distribution: 'zulu'
- java-version: 11
-
-
- - name: Build
- run: ant $OPTS build
-
- - name: Test java.source.base on JDK-8
- run: JAVA_HOME=`cat jdk8` ant $OPTS -f java/java.source.base test
diff --git a/.github/workflows/javadoc.yml b/.github/workflows/javadoc.yml
deleted file mode 100644
index 105ecb2..0000000
--- a/.github/workflows/javadoc.yml
+++ /dev/null
@@ -1,51 +0,0 @@
-# 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: Javadoc
-
-on:
- push:
- pull_request:
-
-jobs:
- linux-javadoc:
- name: Check Javadoc
- runs-on: ubuntu-18.04
- env:
- ANT_OPTS: -Dmetabuild.jsonurl=https://raw.githubusercontent.com/apache/netbeans-jenkins-lib/master/meta/netbeansrelease.json
- steps:
- - name: Checkout
- uses: actions/checkout@v2
-
- - name: Caching dependencies
- uses: actions/cache@v2
- with:
- path: ~/.hgexternalcache
- key: ${{ runner.os }}-${{ hashFiles('*/external/binaries-list', '*/*/external/binaries-list') }}
- restore-keys: ${{ runner.os }}-
-
- - name: Get maven coordinates
- run: ant getallmavencoordinates
-
- - name: Build nbms
- run: ant build-nbms
-
- - name: Build source zips
- run: ant build-source-zips
-
- - name: Build javadoc
- run: ant build-javadoc
diff --git a/.github/workflows/linux-upstream-jdk.yml b/.github/workflows/linux-upstream-jdk.yml
deleted file mode 100644
index 12241ed..0000000
--- a/.github/workflows/linux-upstream-jdk.yml
+++ /dev/null
@@ -1,56 +0,0 @@
-# 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: Upstream JDK
-
-on:
- push:
- pull_request:
-
-# job is intended for early detection of build failures on new JDKs
-jobs:
- linux:
- name: Check Build on Linux/JDK17
- runs-on: ubuntu-latest
- env:
- ANT_OPTS: -Dmetabuild.jsonurl=https://raw.githubusercontent.com/apache/netbeans-jenkins-lib/master/meta/netbeansrelease.json
-
- steps:
-
- - name: Set up JDK 17
- uses: actions/setup-java@v2
- with:
- distribution: 'zulu'
- java-version: 17
-
- - name: Checkout
- uses: actions/checkout@v2
-
- - name: Caching dependencies
- uses: actions/cache@v2
- with:
- path: ~/.hgexternalcache
- key: ${{ runner.os }}-${{ hashFiles('*/external/binaries-list', '*/*/external/binaries-list') }}
- restore-keys: ${{ runner.os }}-
-
- - name: Clean
- run: ant -Dcluster.config=full clean
-
- - name: Build (cluster.config=full)
- run: ant -Dcluster.config=full build
-
-# todo: figure out if anything is testable post JDK 15
diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml
deleted file mode 100644
index a686a79..0000000
--- a/.github/workflows/linux.yml
+++ /dev/null
@@ -1,48 +0,0 @@
-# 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: Linux
-
-on:
- push:
- pull_request:
-
-jobs:
- linux:
- name: Check Linux
- runs-on: ubuntu-18.04
- env:
- ANT_OPTS: -Dmetabuild.jsonurl=https://raw.githubusercontent.com/apache/netbeans-jenkins-lib/master/meta/netbeansrelease.json
- steps:
- - name: Checkout
- uses: actions/checkout@v2
-
- - name: Caching dependencies
- uses: actions/cache@v2
- with:
- path: ~/.hgexternalcache
- key: ${{ runner.os }}-${{ hashFiles('*/external/binaries-list', '*/*/external/binaries-list') }}
- restore-keys: ${{ runner.os }}-
-
- - name: Clean
- run: ant -Dcluster.config=basic clean
-
- - name: Build
- run: ant -Dcluster.config=basic build
-
- - name: Test Netbeans Build System
- run: ant -Dcluster.config=basic localtest
diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml
deleted file mode 100644
index 06c824e..0000000
--- a/.github/workflows/macos.yml
+++ /dev/null
@@ -1,56 +0,0 @@
-# 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: macOS
-
-on:
- push:
- pull_request:
-
-jobs:
- macos:
- name: Commit-validation (on macOS)
- runs-on: macos-10.15
- env:
- ANT_OPTS: -Dmetabuild.jsonurl=https://raw.githubusercontent.com/apache/netbeans-jenkins-lib/master/meta/netbeansrelease.json
- steps:
- - uses: actions/checkout@v2
-
- - uses: actions/cache@v2
- with:
- path: |
- ~/.hgexternalcache
- ~/Library/Caches/Homebrew
- key: ${{ runner.os }}-${{ hashFiles('*/external/binaries-list', '*/*/external/binaries-list') }}
- restore-keys: ${{ runner.os }}-
-
- - run: brew install ant
-
- - name: Clean
- run: ant clean
-
- - name: Build
- run: ant build
-
- - name: Test platform/masterfs.macosx
- run: ant -f platform/masterfs.macosx test
-
- - name: Test platform/core.network
- run: ant -f platform/core.network test
-
- - name: Validate consistency and basic tests
- run: ant -Dcluster.config=release commit-validation
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
new file mode 100644
index 0000000..09fa14e
--- /dev/null
+++ b/.github/workflows/main.yml
@@ -0,0 +1,371 @@
+# 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:
+
+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 }}
+ runs-on: ubuntu-latest
+ env:
+ ANT_OPTS: -Dmetabuild.jsonurl=https://raw.githubusercontent.com/apache/netbeans-jenkins-lib/master/meta/netbeansrelease.json
+ strategy:
+ matrix:
+ java: [ '11', '17' ]
+ fail-fast: false
+ steps:
+
+ - name: Set up JDK ${{ matrix.java }}
+ uses: actions/setup-java@v2
+ with:
+ java-version: ${{ matrix.java }}
+ distribution: 'zulu'
+
+ - name: Caching dependencies
+ uses: actions/cache@v2
+ with:
+ path: ~/.hgexternalcache
+ key: ${{ runner.os }}-${{ hashFiles('*/external/binaries-list', '*/*/external/binaries-list') }}
+ restore-keys: ${{ runner.os }}-
+
+ - name: Checkout ${{ github.ref }} ( ${{ github.sha }} )
+ uses: actions/checkout@v3
+
+ - name: Build NetBeans
+ run: ant -Dcluster.config=release build-nozip
+
+ - name: Archive Build
+ if: ${{ matrix.java == '11' }}
+ run: tar -czf /tmp/build.tar.gz --exclude ".git" .
+
+ - name: Upload Build
+ if: ${{ matrix.java == '11' }}
+ uses: actions/upload-artifact@v3
+ with:
+ name: build
+ path: /tmp/build.tar.gz
+ retention-days: 1
+ if-no-files-found: error
+
+
+# secondary jobs
+ linux-commit-validation:
+ needs: base-build
+ name: Commit Validation on Linux/JDK ${{ matrix.java }}
+ runs-on: ubuntu-latest
+ env:
+ ANT_OPTS: -Dmetabuild.jsonurl=https://raw.githubusercontent.com/apache/netbeans-jenkins-lib/master/meta/netbeansrelease.json
+ strategy:
+ matrix:
+ java: [ '8', '11', '17', '19-ea' ]
+ fail-fast: false
+ steps:
+
+ - name: Set up JDK ${{ matrix.java }}
+ uses: actions/setup-java@v2
+ with:
+ java-version: ${{ matrix.java }}
+ distribution: 'zulu'
+
+ - name: Download Build
+ uses: actions/download-artifact@v3
+ with:
+ name: build
+
+ - name: Extract
+ run: tar -xzf build.tar.gz --exclude nbbuild/build/test
+
+ - name: SM config
+ if: ${{ matrix.java == '19-ea' }}
+ run: echo "SECURITY_MANAGER_OPTIONS=-Djava.security.manager=allow" >> $GITHUB_ENV
+
+ - name: JMS config
+ if: ${{ matrix.java != '8' }}
+ run: echo "JAVA_TOOL_OPTIONS=$SECURITY_MANAGER_OPTIONS --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.desktop/javax.swing=ALL-UNNAMED" >> $GITHUB_ENV
+
+ - name: Commit Validation tests
+ run: ant -Dcluster.config=release commit-validation
+
+ linux-build-system-test:
+ needs: base-build
+ name: Build-System Test on Linux/JDK ${{ matrix.java }}
+ runs-on: ubuntu-latest
+ 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@v2
+ with:
+ java-version: ${{ matrix.java }}
+ distribution: 'zulu'
+
+ - name: Download Build
+ uses: actions/download-artifact@v3
+ with:
+ name: build
+
+ - name: Extract
+ run: tar -xzf build.tar.gz --exclude nbbuild/build/test
+
+ - name: Test Netbeans Build System
+ run: ant -Dcluster.config=release localtest
+
+ linux-javadoc:
+ needs: base-build
+ name: Build NBMs, Source zips and Javadoc on JDK ${{ matrix.java }}
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ java: [ '11' ]
+ env:
+ ANT_OPTS: -Dmetabuild.jsonurl=https://raw.githubusercontent.com/apache/netbeans-jenkins-lib/master/meta/netbeansrelease.json
+ steps:
+
+ - name: Set up JDK ${{ matrix.java }}
+ uses: actions/setup-java@v2
+ with:
+ java-version: ${{ matrix.java }}
+ distribution: 'zulu'
+
+ - name: Download Build
+ uses: actions/download-artifact@v3
+ with:
+ name: build
+
+ - name: Extract
+ run: tar -xzf build.tar.gz --exclude nbbuild/build/test
+
+ - name: Get maven coordinates
+ run: ant getallmavencoordinates
+
+ - name: Build nbms
+ run: ant build-nbms
+
+ - name: Build source zips
+ run: ant build-source-zips
+
+ - name: Build javadoc
+ run: ant build-javadoc
+
+ macos:
+ needs: base-build
+ name: Tests on MacOS/JDK ${{ matrix.java }}
+ runs-on: macos-11
+ 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@v2
+ with:
+ java-version: ${{ matrix.java }}
+ distribution: 'zulu'
+
+ - uses: actions/cache@v2
+ with:
+ path: ~/Library/Caches/Homebrew
+ key: ${{ runner.os }}-homebrew
+ restore-keys: ${{ runner.os }}-homebrew
+
+ - name: Download Build
+ uses: actions/download-artifact@v3
+ with:
+ name: build
+
+ - name: Extract
+ run: tar -xzf build.tar.gz --exclude nbbuild/build/test
+
+ - run: brew install ant
+
+ - name: Test platform/masterfs.macosx
+ run: ant -f platform/masterfs.macosx test
+
+ - name: Test platform/core.network
+ run: ant -f platform/core.network test
+
+ - name: Validate consistency and basic tests
+ run: ant -Dcluster.config=release commit-validation
+
+ php:
+ needs: base-build
+ name: PHP on ${{ matrix.os }}/JDK ${{ matrix.java }}
+ runs-on: ${{ matrix.os }}
+ defaults:
+ run:
+ shell: bash
+ env:
+ DISPLAY: ":99.0"
+ ANT_OPTS: -Dmetabuild.jsonurl=https://raw.githubusercontent.com/apache/netbeans-jenkins-lib/master/meta/netbeansrelease.json
+ OPTS: -Dtest-unit-sys-prop.ignore.random.failures=true
+ strategy:
+ matrix:
+ java: [ '8' ]
+ os: [ 'windows-2022', 'ubuntu-20.04' ]
+ fail-fast: false
+ steps:
+
+ - name: Set up JDK ${{ matrix.java }}
+ uses: actions/setup-java@v2
+ with:
+ java-version: ${{ matrix.java }}
+ distribution: 'zulu'
+
+ # linux specific setup
+ - name: Setup PHP
+ if: contains(matrix.os, 'ubuntu')
+ uses: shivammathur/setup-php@2.8.0
+ with:
+ php-version: '7.4'
+ tools: pecl
+ extensions: xdebug
+ ini-values: xdebug.mode=debug
+
+ - name: Launch 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 -xzf build.tar.gz --exclude nbbuild/build/test
+
+ - name: Test Platform Core Network
+ run: ant $OPTS -f platform/core.network test
+
+ - name: Test PHP Hudson
+ run: ant $OPTS -f php/hudson.php test
+
+ - name: Test PHP Neon
+ run: ant $OPTS -f php/languages.neon test
+
+ - name: Test PHP API Annotation
+ run: ant $OPTS -f php/php.api.annotation test
+
+ - name: Test PHP API Documentation
+ run: ant $OPTS -f php/php.api.documentation test
+
+ - name: Test PHP API Executable
+ run: ant $OPTS -f php/php.api.executable test
+
+ - name: Test PHP API Framework
+ run: ant $OPTS -f php/php.api.framework test
+
+ - name: Test PHP API Module
+ run: ant $OPTS -f php/php.api.phpmodule test
+
+ - name: Test PHP API Testing
+ run: ant $OPTS -f php/php.api.testing test
+
+ - name: Test PHP ApiGen
+ run: ant $OPTS -f php/php.apigen test
+
+ - name: Test PHP Atoum
+ run: ant $OPTS -f php/php.atoum test
+
+ - name: Test PHP Code Analysis
+ run: ant $OPTS -f php/php.code.analysis test
+
+ - name: Test PHP Codeception
+ run: ant $OPTS -f php/php.codeception test
+
+ - name: Test PHP Composer
+ run: ant $OPTS -f php/php.composer test
+
+ # needs X fails on fails on Windows
+ - name: Test PHP Debugger
+ if: contains(matrix.os, 'ubuntu')
+ run: ant $OPTS -f php/php.dbgp test
+
+ - name: Test PHP Doctrine2
+ run: ant $OPTS -f php/php.doctrine2 test
+
+ - name: Test PHP Editor
+ run: ant $OPTS -f php/php.editor test
+
+ - name: Test PHP Latte
+ run: ant $OPTS -f php/php.latte test
+
+ - name: Test PHP Nette Tester
+ run: ant $OPTS -f php/php.nette.tester test
+
+ - name: Test PHPUnit
+ run: ant $OPTS -f php/php.phpunit test
+
+ - name: Test PHP Project
+ run: ant $OPTS -f php/php.project test
+
+ - name: Test PHP Refactoring
+ run: ant $OPTS -f php/php.refactoring test
+
+ - name: Test PHP Smarty
+ run: ant $OPTS -f php/php.smarty test
+
+ - name: Test PHP Symfony
+ run: ant $OPTS -f php/php.symfony test
+
+ - name: Test PHP Symfony 2
+ run: ant $OPTS -f php/php.symfony2 test
+
+ - name: Test PHP Twig
+ run: ant $OPTS -f php/php.twig test
+
+ - name: Test PHP Zend
+ run: ant $OPTS -f php/php.zend test
+
+ - name: Test PHP Zend 2
+ run: ant $OPTS -f php/php.zend2 test
+
+ - name: Test PHP Spellchecker Bindings
+ run: ant $OPTS -f php/spellchecker.bindings.php test
+
+
+# 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, linux-build-system-test, linux-javadoc, macos, php]
+ if: ${{ always() }}
+ runs-on: ubuntu-latest
+ steps:
+
+ - name: Checkout
+ uses: actions/checkout@v3
+ with:
+ persist-credentials: false
+ submodules: recursive
+
+ - uses: ./.github/actions/delete-artifact/
+ name: Delete build Artifact
+ with:
+ name: build
diff --git a/.github/workflows/php.yml b/.github/workflows/php.yml
deleted file mode 100644
index c9325c3..0000000
--- a/.github/workflows/php.yml
+++ /dev/null
@@ -1,142 +0,0 @@
-# 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: PHP
-
-on:
- push:
- pull_request:
-
-jobs:
- linux-php:
- name: PHP on Linux
- runs-on: ubuntu-18.04
- env:
- DISPLAY: ":99.0"
- ANT_OPTS: -Dmetabuild.jsonurl=https://raw.githubusercontent.com/apache/netbeans-jenkins-lib/master/meta/netbeansrelease.json
- OPTS: -Dcluster.config=php -Dtest-unit-sys-prop.ignore.random.failures=true
- steps:
- - name: Checkout
- uses: actions/checkout@v2
-
- - name: Caching dependencies
- uses: actions/cache@v2
- with:
- path: ~/.hgexternalcache
- key: ${{ runner.os }}-${{ hashFiles('*/external/binaries-list', '*/*/external/binaries-list') }}
- restore-keys: ${{ runner.os }}-
-
- - name: Setup PHP
- uses: shivammathur/setup-php@2.8.0
- with:
- php-version: '7.4'
- tools: pecl
- extensions: xdebug
- ini-values: xdebug.mode=debug
-
- - name: Launch Xvfb
- run: Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &
-
- - name: Clean
- run: ant $OPTS clean
-
- - name: Build
- run: ant $OPTS build
-
- - name: Test Hudson
- run: ant $OPTS -f php/hudson.php test
-
- - name: Test Neon
- run: ant $OPTS -f php/languages.neon test
-
- - name: Test API Annotation
- run: ant $OPTS -f php/php.api.annotation test
-
- - name: Test API Documentation
- run: ant $OPTS -f php/php.api.documentation test
-
- - name: Test API Executable
- run: ant $OPTS -f php/php.api.executable test
-
- - name: Test API Framework
- run: ant $OPTS -f php/php.api.framework test
-
- - name: Test API PHP Module
- run: ant $OPTS -f php/php.api.phpmodule test
-
- - name: Test API Testing
- run: ant $OPTS -f php/php.api.testing test
-
- - name: Test ApiGen
- run: ant $OPTS -f php/php.apigen test
-
- - name: Test Atoum
- run: ant $OPTS -f php/php.atoum test
-
- - name: Test Code Analysis
- run: ant $OPTS -f php/php.code.analysis test
-
- - name: Test Codeception
- run: ant $OPTS -f php/php.codeception test
-
- - name: Test Composer
- run: ant $OPTS -f php/php.composer test
-
- - name: Test PHP Debugger
- run: ant $OPTS -f php/php.dbgp test
-
- - name: Test Doctrine2
- run: ant $OPTS -f php/php.doctrine2 test
-
- - name: Test PHP Editor
- run: ant $OPTS -f php/php.editor test
-
- - name: Test Latte
- run: ant $OPTS -f php/php.latte test
-
- - name: Test Nette Tester
- run: ant $OPTS -f php/php.nette.tester test
-
- - name: Test PHPUnit
- run: ant $OPTS -f php/php.phpunit test
-
- - name: Test PHP Project
- run: ant $OPTS -f php/php.project test
-
- - name: Test Refactoring
- run: ant $OPTS -f php/php.refactoring test
-
- - name: Test Smarty
- run: ant $OPTS -f php/php.smarty test
-
- - name: Test Symfony
- run: ant $OPTS -f php/php.symfony test
-
- - name: Test Symfony 2
- run: ant $OPTS -f php/php.symfony2 test
-
- - name: Test Twig
- run: ant $OPTS -f php/php.twig test
-
- - name: Test Zend
- run: ant $OPTS -f php/php.zend test
-
- - name: Test Zend 2
- run: ant $OPTS -f php/php.zend2 test
-
- - name: Test Spellchecker Bindings
- run: ant $OPTS -f php/spellchecker.bindings.php test
diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml
deleted file mode 100644
index 1725ded..0000000
--- a/.github/workflows/windows.yml
+++ /dev/null
@@ -1,134 +0,0 @@
-# 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: Windows
-
-on:
- push:
- pull_request:
-
-jobs:
- windows:
- name: Check Windows
- runs-on: windows-2019
- env:
- ANT_OPTS: -Dmetabuild.jsonurl=https://raw.githubusercontent.com/apache/netbeans-jenkins-lib/master/meta/netbeansrelease.json
- OPTS: -Dtest-unit-sys-prop.ignore.random.failures=true
- steps:
- - name: Checkout
- uses: actions/checkout@v2
-
- - name: Caching dependencies
- uses: actions/cache@v2
- with:
- path: ~/.hgexternalcache
- key: ${{ runner.os }}-${{ hashFiles('*/external/binaries-list', '*/*/external/binaries-list') }}
- restore-keys: ${{ runner.os }}-
-
- - name: Clean
- run: ant clean
-
- - name: Build
- run: ant build
-
- - name: Test Platform Core Network
- run: ant $env:OPTS -f platform/core.network test
-
- - name: Test PHP Hudson
- run: ant $env:OPTS -f php/hudson.php test
-
- - name: Test PHP Neon
- run: ant $env:OPTS -f php/languages.neon test
-
- - name: Test PHP API Annotation
- run: ant $env:OPTS -f php/php.api.annotation test
-
- - name: Test PHP API Documentation
- run: ant $env:OPTS -f php/php.api.documentation test
-
- - name: Test PHP API Executable
- run: ant $env:OPTS -f php/php.api.executable test
-
- - name: Test PHP API Framework
- run: ant $env:OPTS -f php/php.api.framework test
-
- - name: Test PHP API PHP Module
- run: ant $env:OPTS -f php/php.api.phpmodule test
-
- - name: Test PHP API Testing
- run: ant $env:OPTS -f php/php.api.testing test
-
- - name: Test PHP ApiGen
- run: ant $env:OPTS -f php/php.apigen test
-
- - name: Test PHP Atoum
- run: ant $env:OPTS -f php/php.atoum test
-
- - name: Test PHP Code Analysis
- run: ant $env:OPTS -f php/php.code.analysis test
-
- - name: Test PHP Codeception
- run: ant $env:OPTS -f php/php.codeception test
-
- - name: Test PHP Composer
- run: ant $env:OPTS -f php/php.composer test
-
- # needs X fails on fails on Windows
- # - name: Test PHP Debugger
- # run: ant $env:OPTS -f php/php.dbgp test
-
- - name: Test PHP Doctrine2
- run: ant $env:OPTS -f php/php.doctrine2 test
-
- - name: Test PHP Editor
- run: ant $env:OPTS -f php/php.editor test
-
- - name: Test PHP Latte
- run: ant $env:OPTS -f php/php.latte test
-
- - name: Test PHP Nette Tester
- run: ant $env:OPTS -f php/php.nette.tester test
-
- - name: Test PHPUnit
- run: ant $env:OPTS -f php/php.phpunit test
-
- - name: Test PHP Project
- run: ant $env:OPTS -f php/php.project test
-
- - name: Test PHP Refactoring
- run: ant $env:OPTS -f php/php.refactoring test
-
- - name: Test PHP Smarty
- run: ant $env:OPTS -f php/php.smarty test
-
- - name: Test PHP Symfony
- run: ant $env:OPTS -f php/php.symfony test
-
- - name: Test PHP Symfony 2
- run: ant $env:OPTS -f php/php.symfony2 test
-
- - name: Test PHP Twig
- run: ant $env:OPTS -f php/php.twig test
-
- - name: Test PHP Zend
- run: ant $env:OPTS -f php/php.zend test
-
- - name: Test PHP Zend 2
- run: ant $env:OPTS -f php/php.zend2 test
-
- - name: Test PHP Spellchecker Bindings
- run: ant $env:OPTS -f php/spellchecker.bindings.php test
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..44927a9
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule ".github/actions/delete-artifact"]
+ path = .github/actions/delete-artifact
+ url = https://github.com/GeekyEggo/delete-artifact
diff --git a/.travis.yml b/.travis.yml
index 2c0af82..3b31f6a 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -682,45 +682,6 @@ matrix:
script:
- nbbuild/travis/scripting.sh
- - name: commit-validation
- jdk: openjdk8
- env:
- - OPTS="-quiet -Dcluster.config=release -Djavac.compilerargs=-nowarn -Dbuild.compiler.deprecation=false -Dtest-unit-sys-prop.ignore.random.failures=true"
- before_script:
- - nbbuild/travis/ant.sh $OPTS clean
- - nbbuild/travis/ant.sh $OPTS build
- script:
- - hide-logs.sh ant $OPTS commit-validation
-
- - name: commit-validation on Java 11
- jdk: openjdk11
- env:
- - OPTS="-quiet -Dcluster.config=release -Djavac.compilerargs=-nowarn -Dbuild.compiler.deprecation=false -Dtest-unit-sys-prop.ignore.random.failures=true"
- before_script:
- - wget https://raw.githubusercontent.com/sormuras/bach/master/install-jdk.sh
- - export TEST_JDK=`bash install-jdk.sh --feature 11 --license GPL --emit-java-home --silent | tail -1`
- - export JAVA_HOME=$TEST_JDK
- - export OPTS="-Dmetabuild.jsonurl=https://raw.githubusercontent.com/apache/netbeans-jenkins-lib/master/meta/netbeansrelease.json $OPTS -Dnbjdk.home=$TEST_JDK"
- - nbbuild/travis/ant.sh $OPTS clean
- - nbbuild/travis/ant.sh $OPTS build
- - ant $OPTS test -Dtest.includes=NoTestsJustBuild
- script:
- - hide-logs.sh ant $OPTS commit-validation
-
- - name: commit-validation on Java 15
- jdk: openjdk8
- env:
- - OPTS="-quiet -Dcluster.config=release -Djavac.compilerargs=-nowarn -Dbuild.compiler.deprecation=false -Dtest-unit-sys-prop.ignore.random.failures=true"
- before_script:
- - wget https://raw.githubusercontent.com/sormuras/bach/master/install-jdk.sh
- - export TEST_JDK=`bash install-jdk.sh --feature 15 --license GPL --emit-java-home --silent | tail -1`
- - export OPTS="-Dmetabuild.jsonurl=https://raw.githubusercontent.com/apache/netbeans-jenkins-lib/master/meta/netbeansrelease.json $OPTS -Dtest.nbjdk.home=$TEST_JDK"
- - nbbuild/travis/ant.sh $OPTS clean
- - nbbuild/travis/ant.sh $OPTS build
- script:
- - export JAVA_HOME=$TEST_JDK
- - hide-logs.sh ant $OPTS commit-validation
-
# exile: for tests which don't behave. Job should be kept short to be easily restartable
- name: Test unreliable tests on Java 8
jdk: openjdk8
diff --git a/README.md b/README.md
index 7b108fc..955db1d 100644
--- a/README.md
+++ b/README.md
@@ -27,14 +27,7 @@ Apache NetBeans is an open source development environment, tooling platform, and
### Build status
* GitHub actions
- * [![Linux](https://github.com/apache/netbeans/actions/workflows/linux.yml/badge.svg)](https://github.com/apache/netbeans/actions/workflows/linux.yml)
- * [![Windows](https://github.com/apache/netbeans/actions/workflows/windows.yml/badge.svg)](https://github.com/apache/netbeans/actions/workflows/windows.yml)
- * [![macOS](https://github.com/apache/netbeans/actions/workflows/macos.yml/badge.svg)](https://github.com/apache/netbeans/actions/workflows/macos.yml)
- * [![Commit Validation](https://github.com/apache/netbeans/actions/workflows/cv.yml/badge.svg)](https://github.com/apache/netbeans/actions/workflows/cv.yml)
- * [![Upstream JDK](https://github.com/apache/netbeans/actions/workflows/linux-upstream-jdk.yml/badge.svg)](https://github.com/apache/netbeans/actions/workflows/linux-upstream-jdk.yml)
- * [![Ensure JDK-8](https://github.com/apache/netbeans/actions/workflows/ensure-jdk8.yml/badge.svg)](https://github.com/apache/netbeans/actions/workflows/ensure-jdk8.yml)
- * [![PHP](https://github.com/apache/netbeans/actions/workflows/php.yml/badge.svg)](https://github.com/apache/netbeans/actions/workflows/php.yml)
- * [![Javadoc](https://github.com/apache/netbeans/actions/workflows/javadoc.yml/badge.svg)](https://github.com/apache/netbeans/actions/workflows/javadoc.yml)
+ * [![Build Status](https://github.com/apache/netbeans/actions/workflows/main.yml/badge.svg)](https://github.com/apache/netbeans/actions/workflows/main.yml)
* [![Profiler Lib Native Binaries](https://github.com/apache/netbeans/actions/workflows/native-binary-build-lib.profiler.yml/badge.svg)](https://github.com/apache/netbeans/actions/workflows/native-binary-build-lib.profiler.yml)
* TravisCI:
* [![Build Status](https://app.travis-ci.com/apache/netbeans.svg?branch=master)](https://app.travis-ci.com/apache/netbeans)
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@netbeans.apache.org
For additional commands, e-mail: commits-help@netbeans.apache.org
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists