mirror of https://github.com/sualko/cloud_bbb
ci: move to github actions
parent
b20eb7acf7
commit
92b85ba6ff
|
@ -0,0 +1,33 @@
|
||||||
|
name: Lint
|
||||||
|
on: pull_request
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
xml-linters:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@master
|
||||||
|
- name: Download schema
|
||||||
|
run: wget https://apps.nextcloud.com/schema/apps/info.xsd
|
||||||
|
- name: Lint info.xml
|
||||||
|
uses: ChristophWurst/xmllint-action@v1
|
||||||
|
with:
|
||||||
|
xml-file: ./appinfo/info.xml
|
||||||
|
xml-schema-file: ./info.xsd
|
||||||
|
|
||||||
|
php-linters:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
php-versions: [7.2, 7.3, 7.4, 8.0]
|
||||||
|
name: php${{ matrix.php-versions }} lint
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@master
|
||||||
|
- name: Set up php${{ matrix.php-versions }}
|
||||||
|
uses: shivammathur/setup-php@master
|
||||||
|
with:
|
||||||
|
php-version: ${{ matrix.php-versions }}
|
||||||
|
coverage: none
|
||||||
|
- name: Lint
|
||||||
|
run: composer run lint
|
|
@ -0,0 +1,57 @@
|
||||||
|
name: PHP Tests
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
unit-tests:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
php-versions: ['7.3', '7.4']
|
||||||
|
nextcloud-versions: ['stable19', 'stable20', 'stable21', 'master']
|
||||||
|
include:
|
||||||
|
- php-versions: '7.2'
|
||||||
|
nextcloud-versions: 'stable19'
|
||||||
|
- php-versions: '7.2'
|
||||||
|
nextcloud-versions: 'stable20'
|
||||||
|
- php-versions: '8.0'
|
||||||
|
nextcloud-versions: 'stable21'
|
||||||
|
- php-versions: '8.0'
|
||||||
|
nextcloud-versions: 'master'
|
||||||
|
name: php${{ matrix.php-versions }} on ${{ matrix.nextcloud-versions }} unit tests
|
||||||
|
env:
|
||||||
|
CI: true
|
||||||
|
XDEBUG_MODE: coverage
|
||||||
|
steps:
|
||||||
|
- name: Set up php${{ matrix.php-versions }}
|
||||||
|
uses: shivammathur/setup-php@master
|
||||||
|
with:
|
||||||
|
php-version: ${{ matrix.php-versions }}
|
||||||
|
extensions: ctype, curl, dom, gd, gmp, iconv, intl, json, mbstring, openssl, pdo_sqlite, posix, sqlite, xml, zip
|
||||||
|
coverage: xdebug
|
||||||
|
- name: Checkout Nextcloud
|
||||||
|
run: git clone https://github.com/nextcloud/server.git --recursive --depth 1 -b ${{ matrix.nextcloud-versions }} nextcloud
|
||||||
|
- name: Install Nextcloud
|
||||||
|
run: php -f nextcloud/occ maintenance:install --database-name oc_autotest --database-user oc_autotest --admin-user admin --admin-pass admin --database sqlite --database-pass=''
|
||||||
|
- name: Checkout the app
|
||||||
|
uses: actions/checkout@master
|
||||||
|
with:
|
||||||
|
path: nextcloud/apps/bbb
|
||||||
|
- name: Fix php-parser on stable20 incompatibility with phpunit 9.3+
|
||||||
|
if: ${{ matrix.nextcloud-versions == 'stable20' }}
|
||||||
|
working-directory: nextcloud/3rdparty
|
||||||
|
run: composer require nikic/php-parser:4.10
|
||||||
|
- name: Downgrade phpunit for php7.2
|
||||||
|
if: ${{ matrix.php-versions == '7.2' }}
|
||||||
|
working-directory: nextcloud/apps/bbb
|
||||||
|
run: composer update christophwurst/nextcloud_testing -W
|
||||||
|
- name: Install dependencies
|
||||||
|
working-directory: nextcloud/apps/bbb
|
||||||
|
run: composer install
|
||||||
|
- name: Run tests
|
||||||
|
working-directory: nextcloud/apps/bbb
|
||||||
|
run: composer run test
|
|
@ -0,0 +1,24 @@
|
||||||
|
name: Static analysis
|
||||||
|
on: [push]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
static-psalm-analysis:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
ocp-version: [ 'dev-master', 'v20.0.0' ]
|
||||||
|
name: Nextcloud ${{ matrix.ocp-version }}
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@master
|
||||||
|
- name: Set up php
|
||||||
|
uses: shivammathur/setup-php@master
|
||||||
|
with:
|
||||||
|
php-version: 7.4
|
||||||
|
coverage: none
|
||||||
|
- name: Install dependencies
|
||||||
|
run: composer i
|
||||||
|
- name: Install dependencies
|
||||||
|
run: composer require --dev christophwurst/nextcloud:${{ matrix.ocp-version }}
|
||||||
|
- name: Run coding standards check
|
||||||
|
run: composer run psalm
|
87
.travis.yml
87
.travis.yml
|
@ -1,87 +0,0 @@
|
||||||
dist: bionic
|
|
||||||
language: php
|
|
||||||
php:
|
|
||||||
- 7.2
|
|
||||||
- 7.3
|
|
||||||
- 7.4
|
|
||||||
|
|
||||||
services:
|
|
||||||
- mysql
|
|
||||||
- postgresql
|
|
||||||
|
|
||||||
env:
|
|
||||||
global:
|
|
||||||
- CORE_BRANCH=stable20
|
|
||||||
- DB=mysql
|
|
||||||
- LINT=false
|
|
||||||
- BUILD=false
|
|
||||||
|
|
||||||
matrix:
|
|
||||||
include:
|
|
||||||
- php: 7.3
|
|
||||||
env: DB=sqlite
|
|
||||||
- php: 7.4
|
|
||||||
env: DB=sqlite
|
|
||||||
- php: 7.3
|
|
||||||
env: DB=pgsql
|
|
||||||
- php: 7.4
|
|
||||||
env: DB=pgsql
|
|
||||||
- php: 7.3
|
|
||||||
env: LINT=true
|
|
||||||
env: BUILD=true
|
|
||||||
- php: 7.2
|
|
||||||
env: DB=sqlite CORE_BRANCH=stable19
|
|
||||||
- php: 7.3
|
|
||||||
env: CORE_BRANCH=stable18
|
|
||||||
- php: 7.4
|
|
||||||
env: CORE_BRANCH=master
|
|
||||||
- php: nightly
|
|
||||||
env: DB=sqlite
|
|
||||||
fast_finish: true
|
|
||||||
allow_failures:
|
|
||||||
- php: nightly
|
|
||||||
- php: 7.4
|
|
||||||
env: "CORE_BRANCH=master"
|
|
||||||
|
|
||||||
cache:
|
|
||||||
yarn: true
|
|
||||||
directories:
|
|
||||||
- "$HOME/core/apps/bbb/node_modules"
|
|
||||||
- "$HOME/.composer/cache/files"
|
|
||||||
- "$HOME/.npm"
|
|
||||||
|
|
||||||
#before_script: phpenv global 7.3
|
|
||||||
|
|
||||||
before_install:
|
|
||||||
- php --info
|
|
||||||
|
|
||||||
# Set up DB
|
|
||||||
- if [[ "$DB" == 'pgsql' ]]; then createuser -U travis -s oc_autotest; fi
|
|
||||||
- if [[ "$DB" == 'mysql' ]]; then mysql -u root -e 'create database oc_autotest;'; fi
|
|
||||||
- if [[ "$DB" == 'mysql' ]]; then mysql -u root -e "CREATE USER 'oc_autotest'@'localhost' IDENTIFIED BY '';"; fi
|
|
||||||
- if [[ "$DB" == 'mysql' ]]; then mysql -u root -e "GRANT ALL ON oc_autotest.* TO 'oc_autotest'@'localhost';"; fi
|
|
||||||
|
|
||||||
- composer self-update
|
|
||||||
- yarn install
|
|
||||||
- yarn composer:install:dev
|
|
||||||
- cd ..
|
|
||||||
- git clone https://github.com/nextcloud/server.git --recursive --depth 1 -b $CORE_BRANCH core
|
|
||||||
- mv cloud_bbb core/apps/bbb
|
|
||||||
|
|
||||||
before_script:
|
|
||||||
# Set up core
|
|
||||||
- php -f core/occ maintenance:install --database-name oc_autotest --database-user oc_autotest --admin-user admin --admin-pass admin --database $DB --database-pass=''
|
|
||||||
|
|
||||||
# Set up app
|
|
||||||
- php -f core/occ app:enable bbb
|
|
||||||
# Enable app twice to check occ errors of registered commands
|
|
||||||
- php -f core/occ app:enable bbb
|
|
||||||
|
|
||||||
- cd core/apps/bbb
|
|
||||||
|
|
||||||
script:
|
|
||||||
- php -v
|
|
||||||
- yarn test
|
|
||||||
- if [[ "$LINT" = 'true' ]]; then yarn lint; fi
|
|
||||||
- if [[ "$LINT" = 'true' ]]; then yarn commitlint-travis; fi
|
|
||||||
- if [[ "$BUILD" = 'true' ]]; then yarn build; fi
|
|
|
@ -25,6 +25,7 @@
|
||||||
"classmap-authoritative": true
|
"classmap-authoritative": true
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
"test": "phpunit --configuration phpunit.xml --fail-on-warning",
|
||||||
"cs:check": "php-cs-fixer fix --dry-run --diff",
|
"cs:check": "php-cs-fixer fix --dry-run --diff",
|
||||||
"cs:fix": "php-cs-fixer fix",
|
"cs:fix": "php-cs-fixer fix",
|
||||||
"lint": "find . -name \\*.php -not -path './vendor/*' -exec php -l \"{}\" \\;",
|
"lint": "find . -name \\*.php -not -path './vendor/*' -exec php -l \"{}\" \\;",
|
||||||
|
|
Loading…
Reference in New Issue