Skip to content

Commit cca43f0

Browse files
authored
Merge pull request #4 from PHPOffice/master
Sync with Base
2 parents 79d024f + 0bf3986 commit cca43f0

File tree

334 files changed

+17944
-4799
lines changed

Some content is hidden

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

334 files changed

+17944
-4799
lines changed

.github/workflows/github-pages.yml

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: GithHub Pages
2+
on:
3+
push:
4+
tags:
5+
- '*'
6+
7+
jobs:
8+
github-pages:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- name: Checkout
12+
uses: actions/checkout@v2
13+
14+
- name: Setup PHP, with composer and extensions
15+
uses: shivammathur/setup-php@v2
16+
with:
17+
php-version: 7.4
18+
coverage: none # remove xdebug
19+
20+
- name: Build API documentation
21+
run: |
22+
curl -LO https://github.com/phpDocumentor/phpDocumentor/releases/download/v3.0.0-rc/phpDocumentor.phar
23+
php phpDocumentor.phar --directory src/ --target docs/api
24+
25+
- name: Deploy to GithHub Pages
26+
uses: peaceiris/actions-gh-pages@v3
27+
with:
28+
github_token: ${{ secrets.GITHUB_TOKEN }}
29+
publish_dir: ./docs/api

.github/workflows/main.yml

+150
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,150 @@
1+
name: Build
2+
on: [ push, pull_request ]
3+
jobs:
4+
test:
5+
runs-on: ubuntu-latest
6+
strategy:
7+
matrix:
8+
php-version:
9+
- '7.2'
10+
- '7.3'
11+
- '7.4'
12+
- '8.0'
13+
14+
name: PHP ${{ matrix.php-version }}
15+
16+
steps:
17+
- name: Checkout
18+
uses: actions/checkout@v2
19+
20+
- name: Setup PHP, with composer and extensions
21+
uses: shivammathur/setup-php@v2
22+
with:
23+
php-version: ${{ matrix.php-version }}
24+
extensions: ctype, dom, gd, iconv, fileinfo, libxml, mbstring, simplexml, xml, xmlreader, xmlwriter, zip, zlib
25+
coverage: none
26+
27+
- name: Get composer cache directory
28+
id: composer-cache
29+
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
30+
31+
- name: Cache composer dependencies
32+
uses: actions/cache@v2
33+
with:
34+
path: ${{ steps.composer-cache.outputs.dir }}
35+
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
36+
restore-keys: ${{ runner.os }}-composer-
37+
38+
- name: Delete composer lock file
39+
id: composer-lock
40+
if: ${{ matrix.php-version == '8.0' }}
41+
run: |
42+
rm composer.lock
43+
echo "::set-output name=flags::--ignore-platform-reqs"
44+
45+
- name: Install dependencies
46+
run: composer install --no-progress --prefer-dist --optimize-autoloader ${{ steps.composer-lock.outputs.flags }}
47+
48+
- name: Setup problem matchers for PHP
49+
run: echo "::add-matcher::${{ runner.tool_cache }}/php.json"
50+
51+
- name: Setup problem matchers for PHPUnit
52+
run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"
53+
54+
- name: Test with PHPUnit
55+
run: ./vendor/bin/phpunit
56+
57+
php-cs-fixer:
58+
runs-on: ubuntu-latest
59+
steps:
60+
- name: Checkout
61+
uses: actions/checkout@v2
62+
63+
- name: Setup PHP, with composer and extensions
64+
uses: shivammathur/setup-php@v2
65+
with:
66+
php-version: 7.4
67+
extensions: ctype, dom, gd, iconv, fileinfo, libxml, mbstring, simplexml, xml, xmlreader, xmlwriter, zip, zlib
68+
coverage: none
69+
tools: cs2pr
70+
71+
- name: Get composer cache directory
72+
id: composer-cache
73+
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
74+
75+
- name: Cache composer dependencies
76+
uses: actions/cache@v2
77+
with:
78+
path: ${{ steps.composer-cache.outputs.dir }}
79+
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
80+
restore-keys: ${{ runner.os }}-composer-
81+
82+
- name: Install dependencies
83+
run: composer install --no-progress --prefer-dist --optimize-autoloader
84+
85+
- name: Code style with PHP-CS-Fixer
86+
run: ./vendor/bin/php-cs-fixer fix --format=checkstyle | cs2pr
87+
88+
phpcs:
89+
runs-on: ubuntu-latest
90+
steps:
91+
- name: Checkout
92+
uses: actions/checkout@v2
93+
94+
- name: Setup PHP, with composer and extensions
95+
uses: shivammathur/setup-php@v2
96+
with:
97+
php-version: 7.4
98+
extensions: ctype, dom, gd, iconv, fileinfo, libxml, mbstring, simplexml, xml, xmlreader, xmlwriter, zip, zlib
99+
coverage: none
100+
tools: cs2pr
101+
102+
- name: Get composer cache directory
103+
id: composer-cache
104+
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
105+
106+
- name: Cache composer dependencies
107+
uses: actions/cache@v2
108+
with:
109+
path: ${{ steps.composer-cache.outputs.dir }}
110+
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
111+
restore-keys: ${{ runner.os }}-composer-
112+
113+
- name: Install dependencies
114+
run: composer install --no-progress --prefer-dist --optimize-autoloader
115+
116+
- name: Code style with PHP_CodeSniffer
117+
run: ./vendor/bin/phpcs -q --report=checkstyle | cs2pr
118+
119+
coverage:
120+
runs-on: ubuntu-latest
121+
steps:
122+
- name: Checkout
123+
uses: actions/checkout@v2
124+
125+
- name: Setup PHP, with composer and extensions
126+
uses: shivammathur/setup-php@v2
127+
with:
128+
php-version: 7.4
129+
extensions: ctype, dom, gd, iconv, fileinfo, libxml, mbstring, simplexml, xml, xmlreader, xmlwriter, zip, zlib
130+
coverage: pcov
131+
132+
- name: Get composer cache directory
133+
id: composer-cache
134+
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
135+
136+
- name: Cache composer dependencies
137+
uses: actions/cache@v2
138+
with:
139+
path: ${{ steps.composer-cache.outputs.dir }}
140+
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
141+
restore-keys: ${{ runner.os }}-composer-
142+
143+
- name: Install dependencies
144+
run: composer install --no-progress --prefer-dist --optimize-autoloader
145+
146+
- name: Coverage
147+
run: |
148+
./vendor/bin/phpunit --coverage-clover coverage-clover.xml
149+
curl -LO https://scrutinizer-ci.com/ocular.phar
150+
php ocular.phar code-coverage:upload --format=php-clover coverage-clover.xml

.phpcs.xml.dist

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<?xml version="1.0"?>
2+
<ruleset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="PHP_CodeSniffer"
3+
xsi:noNamespaceSchemaLocation="vendor/squizlabs/php_codesniffer/phpcs.xsd">
4+
5+
<file>samples</file>
6+
<file>src</file>
7+
<file>tests</file>
8+
9+
<exclude-pattern>samples/Header.php</exclude-pattern>
10+
<exclude-pattern>*/tests/Core/*/*Test\.(inc|css|js)$</exclude-pattern>
11+
12+
<arg name="report-width" value="200"/>
13+
<arg name="parallel" value="80"/>
14+
<arg name="cache" value="/tmp/.phpspreadsheet.phpcs-cache"/>
15+
<arg name="colors"/>
16+
<arg value="np"/>
17+
18+
<!-- Include the whole PSR12 standard -->
19+
<rule ref="PSR12">
20+
<exclude name="PSR2.Methods.MethodDeclaration.Underscore"/>
21+
</rule>
22+
</ruleset>

.travis.yml

+8-25
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ php:
55
- 7.2
66
- 7.3
77
- 7.4
8+
- nightly
89

910
cache:
1011
directories:
@@ -13,11 +14,15 @@ cache:
1314

1415
before_script:
1516
# Deactivate xdebug
16-
- phpenv config-rm xdebug.ini
17+
- if [[ $TRAVIS_PHP_VERSION != nightly ]]; then phpenv config-rm xdebug.ini; fi
18+
- if [[ $TRAVIS_PHP_VERSION == nightly ]]; then rm composer.lock; fi
1719
- composer install --ignore-platform-reqs
1820

1921
script:
20-
- ./vendor/bin/phpunit
22+
- ./vendor/bin/phpunit --color=always --coverage-text
23+
24+
allow_failures:
25+
- php: nightly
2126

2227
jobs:
2328
include:
@@ -26,26 +31,4 @@ jobs:
2631
php: 7.4
2732
script:
2833
- ./vendor/bin/php-cs-fixer fix --diff --verbose --dry-run
29-
- ./vendor/bin/phpcs --report-width=200 samples/ src/ tests/ --ignore=samples/Header.php --standard=PSR2 -n
30-
31-
- stage: Coverage
32-
php: 7.4
33-
script:
34-
- pecl install pcov
35-
- ./vendor/bin/phpunit --coverage-clover coverage-clover.xml
36-
after_script:
37-
- wget https://scrutinizer-ci.com/ocular.phar
38-
- php ocular.phar code-coverage:upload --format=php-clover tests/coverage-clover.xml
39-
40-
- stage: API documentations
41-
if: tag is present AND branch = master
42-
php: 7.4
43-
before_script:
44-
- curl -LO https://github.com/phpDocumentor/phpDocumentor/releases/download/v3.0.0-rc/phpDocumentor.phar
45-
script:
46-
- php phpDocumentor.phar --directory src/ --target docs/api
47-
deploy:
48-
provider: pages
49-
skip-cleanup: true
50-
local-dir: docs/api
51-
github-token: $GITHUB_TOKEN
34+
- ./vendor/bin/phpcs

0 commit comments

Comments
 (0)