diff --git a/.github/workflows/cv.yml b/.github/workflows/cv.yml new file mode 100644 index 000000000000..7dffff8b894b --- /dev/null +++ b/.github/workflows/cv.yml @@ -0,0 +1,49 @@ +# 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: Apache Netbeans + +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') }} + 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/javadoc.yml b/.github/workflows/javadoc.yml new file mode 100644 index 000000000000..1febbd3ac242 --- /dev/null +++ b/.github/workflows/javadoc.yml @@ -0,0 +1,51 @@ +# 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: Apache Netbeans + +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') }} + 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.yml b/.github/workflows/linux.yml new file mode 100644 index 000000000000..75d861b17cca --- /dev/null +++ b/.github/workflows/linux.yml @@ -0,0 +1,48 @@ +# 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: Apache Netbeans + +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') }} + 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 new file mode 100644 index 000000000000..12d95c92cba0 --- /dev/null +++ b/.github/workflows/macos.yml @@ -0,0 +1,56 @@ +# 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: Apache Netbeans + +on: + push: + pull_request: + +jobs: + macos: + name: Commit-validation (on Mac OS X) + 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') }} + restore-keys: ${{ runner.os }}- + + - run: brew install ant + + - name: Clean + run: ant clean + + - name: Build + run: ant build + + - name: Test + run: | + ant -f platform/masterfs.macosx test + 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 deleted file mode 100644 index daeaa60d0502..000000000000 --- a/.github/workflows/main.yml +++ /dev/null @@ -1,311 +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: Apache Netbeans Continuous Integration - -on: - push: - pull_request: - -jobs: - windows: - name: Windows build - runs-on: windows-2019 - 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') }} - restore-keys: ${{ runner.os }}- - - - name: Clean - run: ant clean - - - name: Build - run: ant build - - - name: Test - run: ant -f platform/core.network test - - - name: Test PHP cluster - env: - OPTS: -Dtest-unit-sys-prop.ignore.random.failures=true - run: | - ant $OPTS -f php/hudson.php test - ant $OPTS -f php/languages.neon test - ant $OPTS -f php/php.api.annotation test - ant $OPTS -f php/php.api.documentation test - ant $OPTS -f php/php.api.executable test - ant $OPTS -f php/php.api.framework test - ant $OPTS -f php/php.api.phpmodule test - ant $OPTS -f php/php.api.testing test - ant $OPTS -f php/php.apigen test - ant $OPTS -f php/php.atoum test - ant $OPTS -f php/php.code.analysis test - ant $OPTS -f php/php.codeception test - ant $OPTS -f php/php.composer test - ant $OPTS -f php/php.dbgp test - ant $OPTS -f php/php.doctrine2 test - ant $OPTS -f php/php.editor test - ant $OPTS -f php/php.latte test - ant $OPTS -f php/php.nette.tester test - ant $OPTS -f php/php.phpunit test - ant $OPTS -f php/php.project test - ant $OPTS -f php/php.refactoring test - ant $OPTS -f php/php.smarty test - ant $OPTS -f php/php.symfony test - ant $OPTS -f php/php.symfony2 test - ant $OPTS -f php/php.twig test - ant $OPTS -f php/php.zend test - ant $OPTS -f php/php.zend2 test - ant $OPTS -f php/spellchecker.bindings.php test - - linux: - name: Check Build System - 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') }} - 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 - - linux-javadoc: - name: Check Javadoc build - 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') }} - 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 - - linux-php: - name: Linux build of PHP cluster - 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') }} - 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 -f php/php.apigen test - - - name: Test Atoum - run: ant -f php/php.atoum test - - - name: Test Code Analysis - run: ant -f php/php.code.analysis test - - - name: Test Codeception - run: ant -f php/php.codeception test - - - name: Test Composer - run: ant -f php/php.composer test - - - name: Test PHP Debugger - run: ant -f php/php.dbgp test - - - name: Test Doctrine2 - run: ant -f php/php.doctrine2 test - - - name: Test PHP Editor - run: ant -f php/php.editor test - - - name: Test Latte - run: ant -f php/php.latte test - - - name: Test Nette Tester - run: ant -f php/php.nette.tester test - - - name: Test PHPUnit - run: ant -f php/php.phpunit test - - - name: Test PHP Project - run: ant -f php/php.project test - - - name: Test Refactoring - run: ant -f php/php.refactoring test - - - name: Test Smarty - run: ant -f php/php.smarty test - - - name: Test Symfony - run: ant -f php/php.symfony test - - - name: Test Symfony 2 - run: ant -f php/php.symfony2 test - - - name: Test Twig - run: ant -f php/php.twig test - - - name: Test Zend - run: ant -f php/php.zend test - - - name: Test Zend 2 - run: ant -f php/php.zend2 test - - - name: Test Spellchecker Bindings - run: ant -f php/spellchecker.bindings.php test - - macos: - name: MacOS build - 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') }} - restore-keys: ${{ runner.os }}- - - - run: brew install ant - - - name: Clean - run: ant clean - - - name: Build - run: ant build - - - name: Test - run: | - ant -f platform/masterfs.macosx test - ant -f platform/core.network test - - - name: Validate consistency and basic tests - run: ant -Dcluster.config=release commit-validation - - 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') }} - 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/php.yml b/.github/workflows/php.yml new file mode 100644 index 000000000000..a6d79569e38f --- /dev/null +++ b/.github/workflows/php.yml @@ -0,0 +1,143 @@ +# 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: Apache Netbeans + +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') }} + 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 -f php/php.apigen test + + - name: Test Atoum + run: ant -f php/php.atoum test + + - name: Test Code Analysis + run: ant -f php/php.code.analysis test + + - name: Test Codeception + run: ant -f php/php.codeception test + + - name: Test Composer + run: ant -f php/php.composer test + + - name: Test PHP Debugger + run: ant -f php/php.dbgp test + + - name: Test Doctrine2 + run: ant -f php/php.doctrine2 test + + - name: Test PHP Editor + run: ant -f php/php.editor test + + - name: Test Latte + run: ant -f php/php.latte test + + - name: Test Nette Tester + run: ant -f php/php.nette.tester test + + - name: Test PHPUnit + run: ant -f php/php.phpunit test + + - name: Test PHP Project + run: ant -f php/php.project test + + - name: Test Refactoring + run: ant -f php/php.refactoring test + + - name: Test Smarty + run: ant -f php/php.smarty test + + - name: Test Symfony + run: ant -f php/php.symfony test + + - name: Test Symfony 2 + run: ant -f php/php.symfony2 test + + - name: Test Twig + run: ant -f php/php.twig test + + - name: Test Zend + run: ant -f php/php.zend test + + - name: Test Zend 2 + run: ant -f php/php.zend2 test + + - name: Test Spellchecker Bindings + run: ant -f php/spellchecker.bindings.php test + diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml new file mode 100644 index 000000000000..ef2224ad9593 --- /dev/null +++ b/.github/workflows/windows.yml @@ -0,0 +1,83 @@ +# 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: Apache Netbeans + +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 + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Caching dependencies + uses: actions/cache@v2 + with: + path: ~/.hgexternalcache + key: ${{ runner.os }}-${{ hashFiles('**/external/binaries-list') }} + restore-keys: ${{ runner.os }}- + + - name: Clean + run: ant clean + + - name: Build + run: ant build + + - name: Test + run: ant -f platform/core.network test + + - name: Test PHP cluster + env: + OPTS: -Dtest-unit-sys-prop.ignore.random.failures=true + run: | + ant $OPTS -f php/hudson.php test + ant $OPTS -f php/languages.neon test + ant $OPTS -f php/php.api.annotation test + ant $OPTS -f php/php.api.documentation test + ant $OPTS -f php/php.api.executable test + ant $OPTS -f php/php.api.framework test + ant $OPTS -f php/php.api.phpmodule test + ant $OPTS -f php/php.api.testing test + ant $OPTS -f php/php.apigen test + ant $OPTS -f php/php.atoum test + ant $OPTS -f php/php.code.analysis test + ant $OPTS -f php/php.codeception test + ant $OPTS -f php/php.composer test + ant $OPTS -f php/php.dbgp test + ant $OPTS -f php/php.doctrine2 test + ant $OPTS -f php/php.editor test + ant $OPTS -f php/php.latte test + ant $OPTS -f php/php.nette.tester test + ant $OPTS -f php/php.phpunit test + ant $OPTS -f php/php.project test + ant $OPTS -f php/php.refactoring test + ant $OPTS -f php/php.smarty test + ant $OPTS -f php/php.symfony test + ant $OPTS -f php/php.symfony2 test + ant $OPTS -f php/php.twig test + ant $OPTS -f php/php.zend test + ant $OPTS -f php/php.zend2 test + ant $OPTS -f php/spellchecker.bindings.php test + + \ No newline at end of file