| # 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.3.1 |
| with: |
| php-version: '7.4' |
| tools: pecl |
| extensions: xdebug |
| ini-values: xdebug.remote_enable=on |
| |
| - 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 |
| |