blessing-skin-server/azure-pipelines.yml

86 lines
2.2 KiB
YAML
Raw Normal View History

2019-02-16 16:42:23 +08:00
jobs:
2019-02-17 09:47:47 +08:00
- job: php
displayName: PHP
2019-02-16 16:42:23 +08:00
pool:
vmImage: 'Ubuntu-16.04'
strategy:
2019-02-18 11:53:27 +08:00
parallel: 3
2019-02-16 16:42:23 +08:00
matrix:
2019-02-17 09:14:41 +08:00
'7.1':
2019-02-16 16:42:23 +08:00
phpVersion: 7.1
2019-02-17 09:14:41 +08:00
'7.2':
2019-02-16 16:42:23 +08:00
phpVersion: 7.2
variables:
APP_ENV: testing
DB_CONNECTION: mysql
DB_DATABASE: test
DB_USERNAME: root
DB_PASSWORD: root
steps:
- script: |
sudo update-alternatives --set php /usr/bin/php$(phpVersion)
sudo update-alternatives --set phar /usr/bin/phar$(phpVersion)
sudo update-alternatives --set phpdbg /usr/bin/phpdbg$(phpVersion)
sudo update-alternatives --set php-cgi /usr/bin/php-cgi$(phpVersion)
sudo update-alternatives --set phar.phar /usr/bin/phar.phar$(phpVersion)
php -version
displayName: 'Use PHP version $(phpVersion)'
- script: composer install --no-interaction --prefer-dist
displayName: 'composer install'
- script: |
cp .env.testing .env
php artisan key:random
php artisan salt:random
mysql -uroot -proot -e 'CREATE DATABASE IF NOT EXISTS test;'
2019-02-18 11:53:27 +08:00
mkdir junitReports
2019-02-16 16:42:23 +08:00
displayName: 'Prepare testing environment'
2019-02-18 11:53:27 +08:00
- script: node scripts/distribute-test.js
2019-02-16 16:42:23 +08:00
displayName: Test
2019-02-16 17:31:21 +08:00
- task: PublishTestResults@2
condition: succeededOrFailed()
inputs:
testRunner: JUnit
testResultsFiles: './junit.xml'
2019-02-17 09:47:47 +08:00
- job: javascript
displayName: JavaScript
2019-02-16 16:42:23 +08:00
pool:
vmImage: 'Ubuntu-16.04'
steps:
- script: yarn
displayName: Install dependencies
- script: |
yarn lint
2019-02-17 09:14:41 +08:00
yarn test --ci --reporters=default --reporters=jest-junit --coverage
2019-02-16 16:42:23 +08:00
displayName: 'Run Test'
2019-02-16 17:31:21 +08:00
- task: PublishTestResults@2
condition: succeededOrFailed()
inputs:
testRunner: JUnit
testResultsFiles: './junit.xml'
2019-02-17 21:39:06 +08:00
- job: build
displayName: Build & Compile
2019-02-18 09:13:54 +08:00
condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest'))
2019-02-17 21:39:06 +08:00
dependsOn:
- php
- javascript
pool:
vmImage: 'Ubuntu-16.04'
steps:
- script: yarn
displayName: Install dependencies
2019-02-17 22:26:17 +08:00
- script: mkdir dist
2019-02-18 11:53:27 +08:00
- script: yarn release dist/blessing-skin-server.zip --ci
2019-02-17 21:39:06 +08:00
displayName: Generate package
- task: PublishPipelineArtifact@0
2019-02-17 21:41:12 +08:00
inputs:
2019-02-18 09:37:44 +08:00
artifactName: 'blessing-skin-server.zip'
2019-02-17 22:14:22 +08:00
targetPath: dist