Skip to content

Commit 0d6774b

Browse files
author
janatzend
authored
Merge pull request #15 from tobias-trozowski/feature/automated-tests
Automated tests and release deployment
2 parents a00e8bf + 6db5c7f commit 0d6774b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+1073
-1089
lines changed

.coveralls.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
coverage_clover: clover.xml
2+
json_path: coveralls-upload.json

.travis.yml

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
sudo: false
2+
language: php
3+
cache:
4+
directories:
5+
- "$HOME/.composer/cache"
6+
- vendor
7+
- "$HOME/.local"
8+
9+
php:
10+
- 5.3
11+
- 5.4
12+
- 5.5
13+
- 5.6
14+
- 7.0
15+
- 7.1
16+
17+
env:
18+
global:
19+
- COMPOSER_ARGS="--no-interaction --no-suggest"
20+
- COMPOSER_ZPK_ARGS="--no-dev --classmap-authoritative"
21+
- COMPOSER_DISCARD_CHANGES=1
22+
- COVERAGE_DEPS="satooshi/php-coveralls"
23+
# matrix:
24+
# - DEPS=lowest
25+
# - DEPS=latest
26+
27+
matrix:
28+
fast_finish: true
29+
include:
30+
- php: 5.6
31+
env:
32+
# - DEPS=latest
33+
- CS_CHECK=true
34+
- TEST_COVERAGE=true
35+
- php: 5.6
36+
env:
37+
# - DEPS=latest
38+
- BUILD_ZPK="$(if [[ $TRAVIS_PULL_REQUEST == 'false' ]]; then echo -n 'true'; else echo -n 'false'; fi)"
39+
- PATH="$HOME/.composer/vendor/bin:$HOME/.local/bin:$PATH"
40+
exclude:
41+
- php: 5.6
42+
# env: DEPS=latest
43+
44+
before_install:
45+
- if [[ $TEST_COVERAGE != 'true' ]]; then phpenv config-rm xdebug.ini || return 0 ; fi
46+
- travis_retry composer self-update
47+
48+
install:
49+
- if [[ $DEPS == 'latest' ]]; then travis_retry composer update -vvv $COMPOSER_ARGS ; fi
50+
- if [[ $DEPS == 'lowest' ]]; then travis_retry composer update -vvv --prefer-lowest --prefer-stable $COMPOSER_ARGS ; fi
51+
- if [[ $BUILD_ZPK == 'true' ]]; then travis_retry composer global require --dev $COMPOSER_ARGS phing/phing ; fi
52+
- travis_retry composer install -vvv $COMPOSER_ARGS
53+
- if [[ $TEST_COVERAGE == 'true' ]]; then travis_retry composer require --dev $COMPOSER_ARGS $COVERAGE_DEPS ; fi
54+
- composer show
55+
56+
script:
57+
- if [[ $TEST_COVERAGE == 'true' ]]; then composer test-coverage ; else composer test ; fi
58+
- if [[ $BUILD_ZPK == 'true' ]]; then travis_retry composer install -vvv $COMPOSER_ARGS $COMPOSER_ZPK_ARGS ; fi
59+
- if [[ $BUILD_ZPK == 'true' ]]; then composer show --installed ; fi
60+
- if [[ $TRAVIS_TEST_RESULT == 0 && $BUILD_ZPK == 'true' ]]; then phing build ; fi
61+
62+
after_script:
63+
- if [[ $TEST_COVERAGE == 'true' ]]; then composer upload-coverage ; fi
64+
65+
deploy:
66+
- provider: releases
67+
api_key:
68+
secure: {ENCRYPTED GITHUB OAUTH TOKEN}
69+
file: "dist/ZendServerDeploymentHelper-${TRAVIS_TAG}.zpk"
70+
skip_cleanup: true
71+
on:
72+
condition: $BUILD_ZPK = true
73+
tags: true

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
[![Build Status](https://travis-ci.org/zend-patterns/ZendServerDeploymentHelper.svg?branch=master)](https://travis-ci.org/zend-patterns/ZendServerDeploymentHelper)
2+
[![Coverage Status](https://coveralls.io/repos/github/zend-patterns/ZendServerDeploymentHelper/badge.svg?branch=master)](https://coveralls.io/github/zend-patterns/ZendServerDeploymentHelper?branch=master)
3+
14
# Zend Server Deployment Helper
25
Zend Server Deployment Helper (DepH) is a Zend Framework 2 based set of classes
36
which supports in creating reliable hook scripts of Zend Server

build.properties

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
project.name=${phing.project.name}
2+
project.root=${project.basedir}
3+
project.source=${project.root}/src
4+
project.tests=${project.root}/tests
5+
project.vendor=${project.root}/vendor
6+
project.version=${build.version}
7+
build.dir=${project.root}/build
8+
dist.dir=${project.root}/dist
9+
dist.filename=${project.name}-${project.version}
10+
11+
library.updateurl=https://github.com/zendtech/ZendServerDeploymentHelper/raw/master/ZendServerDeploymentHelper.update.json

build.xml

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project name="ZendServerDeploymentHelper" default="build" description="">
3+
<property environment="env" />
4+
5+
<property name="env.TRAVIS_BRANCH" value="local"/>
6+
<property name="env.TRAVIS_TAG" value=""/>
7+
8+
<php expression="str_replace(['tags/', 'branches/', '/'], ['', '', '-'], !empty('${env.TRAVIS_TAG}') ? '${env.TRAVIS_TAG}' : '${env.TRAVIS_BRANCH}')" returnProperty="build.version"/>
9+
<php expression="date('Y-m-d')" returnProperty="library.releasedate"/>
10+
<php expression="!empty('${env.TRAVIS_TAG}') ? '${project.name}-latest.zpk' : '${project.name}-${env.TRAVIS_BRANCH}-latest.zpk'" returnProperty="build.filename.latest"/>
11+
12+
<property file="./build.properties"/>
13+
14+
<fileset id="sourcefileset" dir="${project.root}">
15+
<include name="deph.php"/>
16+
<include name="init_autoloader.php"/>
17+
<include name="LICENSE.txt"/>
18+
<include name="README.md"/>
19+
<include name="etc/**"/>
20+
<include name="src/**"/>
21+
<include name="vendor/**"/>
22+
<exclude name="**/tests/"/>
23+
<exclude name="**/test/"/>
24+
<exclude name="**/composer.json"/>
25+
<exclude name="**/composer.lock"/>
26+
<exclude name="**/.gitignore"/>
27+
<exclude name="**/.gitattributes"/>
28+
<exclude name="**/.gitmodules"/>
29+
<exclude name="**/.scruntinizer.yml"/>
30+
<exclude name="**/.travis.yml"/>
31+
<exclude name="**/.coveralls.yml"/>
32+
<exclude name="**/build.xml"/>
33+
<exclude name="**/build.properties"/>
34+
<exclude name="**/phpunit.xml"/>
35+
<exclude name="**/phpunit.xml.dist"/>
36+
<exclude name="**/phpmd.xml.dist"/>
37+
<exclude name="**/phpdox.xml.dist"/>
38+
<exclude name="**/installed.json"/>
39+
<exclude name="**/deployment.xml.in"/>
40+
<exclude name="**/deployment.xml.in.dist"/>
41+
<exclude name="**/*.md"/>
42+
<exclude name="**/*.mdown"/>
43+
<exclude name="**/.php_cs"/>
44+
<exclude name="**/Vagrantfile"/>
45+
<exclude name="**/Doxyfile"/>
46+
</fileset>
47+
48+
<target name="init">
49+
<tstamp/>
50+
<mkdir dir="${dist.dir}"/>
51+
<mkdir dir="${build.dir}"/>
52+
<mkdir dir="${build.dir}/scripts"/>
53+
<mkdir dir="${build.dir}/src"/>
54+
</target>
55+
56+
<target name="clean" description="Cleanup build artifacts">
57+
<delete dir="${dist.dir}" includeemptydirs="true" quiet="true"/>
58+
<delete dir="${build.dir}" includeemptydirs="true" quiet="true"/>
59+
</target>
60+
61+
<target name="build" depends="-create-zpk" description="Default build. Will build the ZPK."/>
62+
63+
<target name="-create-zpk" depends="init" description="Create a zend deployment package">
64+
<!-- http://files.zend.com/help/Zend-Server-6/content/updating_libraries.htm -->
65+
66+
<!--<copy todir="${build.dir}/scripts" tstamp="true">-->
67+
<!--<fileset dir="${project.root}/scripts">-->
68+
<!--<include name="**"/>-->
69+
<!--</fileset>-->
70+
<!--</copy>-->
71+
72+
<copy todir="${build.dir}/src" tstamp="true">
73+
<fileset refid="sourcefileset"/>
74+
</copy>
75+
76+
<copy file="${project.root}/deployment.in.xml" tofile="${build.dir}/deployment.xml" tstamp="true" overwrite="true">
77+
<filterchain>
78+
<replacetokens begintoken="%%" endtoken="%%">
79+
<token key="project.version" value="${project.version}"/>
80+
<token key="library.releasedate" value="${library.releasedate}"/>
81+
<token key="library.updateurl" value="${library.updateurl}"/>
82+
</replacetokens>
83+
</filterchain>
84+
</copy>
85+
86+
<zip destfile="${dist.dir}/${dist.filename}.zpk">
87+
<fileset dir="${build.dir}">
88+
<include name="**"/>
89+
</fileset>
90+
</zip>
91+
92+
<copy file="${dist.dir}/${dist.filename}.zpk" tofile="${dist.dir}/${build.filename.latest}" />
93+
</target>
94+
</project>

composer.json

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,30 @@
11
{
2-
"name" : "zend-pattern/ZendServerDeploymentHelper",
3-
"require" : {
4-
"zendframework/zendframework" : "=2.4.8"
2+
"name": "zend-pattern/ZendServerDeploymentHelper",
3+
"require": {
4+
"zendframework/zend-db": "2.4.8",
5+
"zendframework/zend-eventmanager": "2.4.8",
6+
"zendframework/zend-i18n": "2.4.8",
7+
"zendframework/zend-log": "2.4.8",
8+
"zendframework/zend-servicemanager": "2.4.8"
59
},
610
"require-dev": {
7-
"phpunit/phpunit" : "=3.7.32",
8-
"mockery/mockery" : "=0.9.4"
11+
"mockery/mockery": "0.9.4",
12+
"phpunit/phpunit": "4.8.36",
13+
"zendframework/zend-loader": "2.4.8"
914
},
1015
"autoload": {
1116
"psr-4": {
12-
"ZendServer\\DepH\\": "ZendServer/DepH"
17+
"ZendServer\\DepH\\": "src"
1318
}
1419
},
1520
"autoload-dev": {
1621
"psr-4": {
17-
"ZendServerTest\\DepH\\": "tests/ZendServer/DepH"
18-
},
19-
"classmap": ["tests/ZendServer/DepHSuite.php"]
22+
"ZendServerTest\\DepH\\": "tests/"
23+
}
2024
},
2125
"scripts": {
22-
"test": "phpunit --colors=auto --no-coverage"
23-
},
24-
"repositories" : [ {
25-
"type" : "composer",
26-
"url" : "https://packagist.org/"
27-
} ]
26+
"test": "phpunit --colors=auto --no-coverage",
27+
"test-coverage": "phpunit --colors=auto --coverage-clover clover.xml",
28+
"upload-coverage": "coveralls -v"
29+
}
2830
}
Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,18 @@
11
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
22
<package xmlns="http://www.zend.com/server/deployment-descriptor/1.0" version="1.0">
3-
<type>library</type>
3+
<type>library</type>
44
<name>ZendServerDeploymentHelper</name>
55
<summary>Zend Server Deployment Helper</summary>
6-
<description>Zend Server Deployment Helper (DepH) is a Zend Framework 2 based set of classes which supports in creating reliable hook scripts of Zend Server Deployment feature.</description>
6+
<description>Zend Server Deployment Helper (DepH) is a Zend Framework 2 based set of classes which supports in
7+
creating reliable hook scripts of Zend Server Deployment feature.
8+
</description>
79
<version>
8-
<release>1.1.2</release>
10+
<release>%%project.version%%</release>
911
</version>
12+
<releasedate>%%library.releasedate%%</releasedate>
1013
<icon>etc/logo.gif</icon>
1114
<eula>LICENSE.txt</eula>
1215
<libdir>src</libdir>
13-
<scriptsdir>_files</scriptsdir>
14-
<updateurl>https://github.com/zendtech/ZendServerDeploymentHelper/raw/master/ZendServerDeploymentHelper.zpk</updateurl>
15-
</package>
16+
<scriptsdir>scripts</scriptsdir>
17+
<updateurl>%%library.updateurl%%</updateurl>
18+
</package>

deployment.properties

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,8 @@
11
appdir.includes = deph.php,\
2-
ZendServer,\
2+
src,\
33
LICENSE.txt,\
44
etc,\
55
init_autoloader.php,\
66
vendor,\
77
README.md,\
8-
ZendServerDeploymentHelper.update.json,\
9-
ZendServerDeploymentHelper.zpk,\
10-
composer.json,\
11-
composer.lock,\
12-
tests,\
138
README.md~

phpunit.xml.dist

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -14,31 +14,30 @@
1414
verbose="true"
1515
colors="false">
1616
<testsuites>
17-
<!--<testsuite name="Zend Server DepH Deployment Suite">-->
18-
<!--<directory>./tests/Deployment</directory>-->
19-
<!--</testsuite>-->
20-
<!--<testsuite name="Zend Server DepH File Suite">-->
21-
<!--<directory>./tests/File</directory>-->
22-
<!--</testsuite>-->
23-
<!--<testsuite name="Zend Server DepH Params Suite">-->
24-
<!--<directory>./tests/Params</directory>-->
25-
<!--</testsuite>-->
26-
<!--<testsuite name="Zend Server DepH Path Suite">-->
27-
<!--<directory>./tests/Path</directory>-->
28-
<!--</testsuite>-->
29-
<!--<testsuite name="Zend Server DepH SystemCall Suite">-->
30-
<!--<directory>./tests/SystemCall</directory>-->
31-
<!--</testsuite>-->
32-
<testsuite name="Zend Server DepH Suite">
33-
<file>./tests/ZendServer/DepHSuite.php</file>
17+
<testsuite name="Zend Server DepH Deployment Suite">
18+
<directory>./tests/Deployment</directory>
19+
</testsuite>
20+
<testsuite name="Zend Server DepH File Suite">
21+
<directory>./tests/File</directory>
22+
</testsuite>
23+
<testsuite name="Zend Server DepH Params Suite">
24+
<directory>./tests/Params</directory>
25+
<file phpVersion="7.0" phpVersionOperator="&lt;">./tests/Params/ParamsTestPHP5.php</file>
26+
<file phpVersion="7.0" phpVersionOperator=">=">./tests/Params/ParamsTestPHP7.php</file>
27+
</testsuite>
28+
<testsuite name="Zend Server DepH Path Suite">
29+
<directory>./tests/Path</directory>
30+
</testsuite>
31+
<testsuite name="Zend Server DepH SystemCall Suite">
32+
<directory>./tests/SystemCall</directory>
3433
</testsuite>
3534
</testsuites>
3635

3736
<filter>
3837
<whitelist addUncoveredFilesFromWhitelist="true" processUncoveredFilesFromWhitelist="false">
39-
<directory suffix=".php">ZendServer/DepH</directory>
38+
<directory suffix=".php">src</directory>
4039
<exclude>
41-
<directory suffix=".php">test/ZendServer/DepH</directory>
40+
<directory suffix=".php">tests/</directory>
4241
</exclude>
4342
</whitelist>
4443
</filter>
@@ -53,7 +52,7 @@
5352
<php>
5453
<ini name="date.timezone" value="UTC"/>
5554
<ini name="memory_limit" value="128M"/>
56-
<ini name="error_reporting" value="-1" />
55+
<ini name="error_reporting" value="-1"/>
5756
<ini name="zend.enable_gc" value="0"/>
5857
</php>
5958

ZendServer/DepH/Db/AdapterMysqli.php renamed to src/Db/AdapterMysqli.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ class AdapterMysqli extends Adapter implements LogAwareInterface {
4040
/**
4141
* Shell
4242
*
43-
* @var \ZendServer\DepH\Shell\Shell
43+
* @var \ZendServer\DepH\SystemCall\Shell
4444
*/
4545
private $shell;
4646

@@ -76,7 +76,7 @@ public function setTemplate(\ZendServer\DepH\File\Template $template) {
7676
}
7777

7878
/**
79-
* @param \ZendServer\DepH\File\Path $path
79+
* @param \ZendServer\DepH\Path\Path $path
8080
*/
8181
public function setPath(\ZendServer\DepH\Path\Path $path) {
8282
$this->path = $path;

0 commit comments

Comments
 (0)