ci: setup GitHub actions
Been having issues with Travis CI, figured time to give GitHub Actions a go. Also moved over from Coveralls to CodeCov due to some limitations in coverage format.
This commit is contained in:
parent
4bfd20985d
commit
fb97d20b8e
7 changed files with 117 additions and 43 deletions
|
@ -1 +0,0 @@
|
|||
service_name: travis-ci
|
33
.github/workflows/test.yml
vendored
Normal file
33
.github/workflows/test.yml
vendored
Normal file
|
@ -0,0 +1,33 @@
|
|||
name: Test
|
||||
on: [push, pull_request]
|
||||
jobs:
|
||||
test:
|
||||
name: Test PHP ${{ matrix.php-version }}
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
php-version: ['5.3', '5.4', '5.5', '5.6', '7.0', '7.1', '7.2', '7.3', '7.4']
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
- name: Setup PHP
|
||||
uses: shivammathur/setup-php@v2
|
||||
with:
|
||||
php-version: ${{ matrix.php-version }}
|
||||
- name: PHP Version
|
||||
run: php --version
|
||||
- name: Composer Version
|
||||
run: composer --version
|
||||
- name: Update Composer
|
||||
run: composer self-update
|
||||
- name: Composer Version
|
||||
run: composer --version
|
||||
- name: Install Dependencies
|
||||
run: COMPOSER_MEMORY_LIMIT=-1 composer install
|
||||
- name: Run Tests
|
||||
run: vendor/bin/phpunit --coverage-clover ./coverage.xml
|
||||
- name: Upload Coverage
|
||||
if: ${{ matrix.php-version == '7.4' }}
|
||||
uses: codecov/codecov-action@v1
|
||||
with:
|
||||
file: ./coverage.xml
|
40
.travis.yml
40
.travis.yml
|
@ -1,40 +0,0 @@
|
|||
language: php
|
||||
dist: bionic
|
||||
sudo: required
|
||||
|
||||
matrix:
|
||||
include:
|
||||
- php: 5.3
|
||||
dist: precise
|
||||
- php: 5.4
|
||||
dist: trusty
|
||||
- php: 5.5
|
||||
dist: trusty
|
||||
- php: 5.6
|
||||
dist: trusty
|
||||
- php: 7.0
|
||||
dist: xenial
|
||||
- php: 7.1
|
||||
- php: 7.2
|
||||
- php: 7.3
|
||||
- php: 7.4
|
||||
env: COVERAGE=true
|
||||
- php: nightly
|
||||
allow_failures:
|
||||
- php: nightly
|
||||
|
||||
install:
|
||||
- php --version
|
||||
- composer install
|
||||
|
||||
before_script:
|
||||
- mkdir -p build/logs
|
||||
|
||||
script:
|
||||
- vendor/bin/phpunit --coverage-clover build/logs/clover.xml
|
||||
|
||||
after_success:
|
||||
- |
|
||||
if [[ $COVERAGE ]]; then
|
||||
travis_retry php vendor/bin/php-coveralls --config .coveralls.yml -v
|
||||
fi
|
|
@ -1,5 +1,11 @@
|
|||
# php-randomdate
|
||||
|
||||
[](https://github.com/joshtronic/php-randomdate/blob/master/LICENSE)
|
||||

|
||||
[](https://github.com/joshtronic/php-randomdate/actions)
|
||||
[](https://codecov.io/gh/joshtronic/php-randomdate)
|
||||
[](https://packagist.org/packages/joshtronic/php-randomdate)
|
||||
|
||||
Random time/date generator fully compatible with PHP's date function.
|
||||
|
||||
Compatible with PHP 5.3+.
|
||||
|
@ -13,6 +19,7 @@ composer require joshtronic/randomdate
|
|||
## Usage
|
||||
|
||||
```php
|
||||
<?php
|
||||
$rd = new joshtronic\RandomDate();
|
||||
|
||||
// Between the Unix Epoch and now
|
||||
|
|
20
codecov.yml
Normal file
20
codecov.yml
Normal file
|
@ -0,0 +1,20 @@
|
|||
codecov:
|
||||
require_ci_to_pass: yes
|
||||
|
||||
coverage:
|
||||
precision: 2
|
||||
round: down
|
||||
range: "70...100"
|
||||
|
||||
parsers:
|
||||
gcov:
|
||||
branch_detection:
|
||||
conditional: yes
|
||||
loop: yes
|
||||
method: no
|
||||
macro: no
|
||||
|
||||
comment:
|
||||
layout: "reach,diff,flags,tree"
|
||||
behavior: default
|
||||
require_changes: no
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "joshtronic/randomdate",
|
||||
"description": "Random time/date generator fully compatible with PHP's date function.",
|
||||
"version": "0.1.0",
|
||||
"version": "1.0.0",
|
||||
"type": "library",
|
||||
"keywords": [
|
||||
"random",
|
||||
|
|
|
@ -13,8 +13,63 @@ class RandomDateTest extends PHPUnit_Framework_TestCase
|
|||
{
|
||||
public function testDate()
|
||||
{
|
||||
if (version_compare(PHP_VERSION, '7.3.0', '>=')) {
|
||||
$assertRegExp = 'assertMatchesRegularExpression';
|
||||
} else {
|
||||
$assertRegExp = 'assertRegExp';
|
||||
}
|
||||
|
||||
$rd = new joshtronic\RandomDate();
|
||||
$this->assertRegExp('/^[0-9]{4}(-[0-9]{2}){2}$/i', $rd->date('Y-m-d'));
|
||||
$date = $rd->date('Y-m-d');
|
||||
|
||||
$this->$assertRegExp('/^[0-9]{4}(-[0-9]{2}){2}$/i', $date);
|
||||
}
|
||||
|
||||
public function testMin()
|
||||
{
|
||||
$rd = new joshtronic\RandomDate();
|
||||
$date = $rd->min('yesterday')->date('Y-m-d');
|
||||
|
||||
$min = date('Y-m-d', strtotime('yesterday'));
|
||||
$max = date('Y-m-d', strtotime('today'));
|
||||
|
||||
$this->assertGreaterThanOrEqual($min, $date);
|
||||
$this->assertLessThanOrEqual($max, $date);
|
||||
}
|
||||
|
||||
public function testMax()
|
||||
{
|
||||
$rd = new joshtronic\RandomDate();
|
||||
$date = $rd->min('5 days ago')->max('4 days ago')->date('Y-m-d');
|
||||
|
||||
$min = date('Y-m-d', strtotime('5 days ago'));
|
||||
$max = date('Y-m-d', strtotime('4 days ago'));
|
||||
|
||||
$this->assertGreaterThanOrEqual($min, $date);
|
||||
$this->assertLessThanOrEqual($max, $date);
|
||||
}
|
||||
|
||||
public function testBetween()
|
||||
{
|
||||
$rd = new joshtronic\RandomDate();
|
||||
$date = $rd->between('7 days ago', '6 days ago')->date('Y-m-d');
|
||||
|
||||
$min = date('Y-m-d', strtotime('7 days ago'));
|
||||
$max = date('Y-m-d', strtotime('6 days ago'));
|
||||
|
||||
$this->assertGreaterThanOrEqual($min, $date);
|
||||
$this->assertLessThanOrEqual($max, $date);
|
||||
}
|
||||
|
||||
public function testReset()
|
||||
{
|
||||
$rd = new joshtronic\RandomDate();
|
||||
$date = $rd->between('+8 days', '+9 days')->date('Y-m-d');
|
||||
$date = $rd->reset()->date('Y-m-d');
|
||||
|
||||
$today = date('Y-m-d', strtotime('today'));
|
||||
|
||||
$this->assertLessThanOrEqual($today, $date);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue