ci: setup GitHub actions #1
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
|
# 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.
|
Random time/date generator fully compatible with PHP's date function.
|
||||||
|
|
||||||
Compatible with PHP 5.3+.
|
Compatible with PHP 5.3+.
|
||||||
|
@ -13,6 +19,7 @@ composer require joshtronic/randomdate
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
```php
|
```php
|
||||||
|
<?php
|
||||||
$rd = new joshtronic\RandomDate();
|
$rd = new joshtronic\RandomDate();
|
||||||
|
|
||||||
// Between the Unix Epoch and now
|
// 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",
|
"name": "joshtronic/randomdate",
|
||||||
"description": "Random time/date generator fully compatible with PHP's date function.",
|
"description": "Random time/date generator fully compatible with PHP's date function.",
|
||||||
"version": "0.1.0",
|
"version": "1.0.0",
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"random",
|
"random",
|
||||||
|
|
|
@ -13,8 +13,63 @@ class RandomDateTest extends PHPUnit_Framework_TestCase
|
||||||
{
|
{
|
||||||
public function testDate()
|
public function testDate()
|
||||||
{
|
{
|
||||||
|
if (version_compare(PHP_VERSION, '7.3.0', '>=')) {
|
||||||
|
$assertRegExp = 'assertMatchesRegularExpression';
|
||||||
|
} else {
|
||||||
|
$assertRegExp = 'assertRegExp';
|
||||||
|
}
|
||||||
|
|
||||||
$rd = new joshtronic\RandomDate();
|
$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