blob: 16dfb786f0ba191b5f6d8ee14ae637b177122efb [file] [log] [blame]
# 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