Skip to content

Commit 010b4d2

Browse files
authored
Modernized Build System and CI/CD Pipeline (#73)
* Updated Dependencies and Fix Security Vulnerabilities * added Changelog * updated changelog and removed travis.yml * updated readme and modernized CI/CD pipelines * clarified readme
1 parent 5862042 commit 010b4d2

2 files changed

Lines changed: 68 additions & 2 deletions

File tree

.github/workflows/ci.yml

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [ master ]
6+
pull_request:
7+
branches: [ master ]
8+
9+
jobs:
10+
test:
11+
runs-on: ubuntu-latest
12+
13+
strategy:
14+
fail-fast: false
15+
matrix:
16+
php-version: ['7.4', '8.0', '8.1', '8.2', '8.3']
17+
18+
name: PHP ${{ matrix.php-version }} Tests
19+
20+
steps:
21+
- name: Checkout code
22+
uses: actions/checkout@v4
23+
24+
- name: Setup PHP
25+
uses: shivammathur/setup-php@v2
26+
with:
27+
php-version: ${{ matrix.php-version }}
28+
extensions: mbstring, xml, ctype, json
29+
coverage: xdebug
30+
31+
- name: Validate composer.json and composer.lock
32+
run: composer validate --strict
33+
34+
- name: Cache Composer packages
35+
id: composer-cache
36+
uses: actions/cache@v4
37+
with:
38+
path: vendor
39+
key: ${{ runner.os }}-php-${{ matrix.php-version }}-${{ hashFiles('**/composer.lock') }}
40+
restore-keys: |
41+
${{ runner.os }}-php-${{ matrix.php-version }}-
42+
43+
- name: Install dependencies
44+
run: composer install --prefer-dist --no-progress
45+
46+
- name: Run test suite
47+
run: vendor/bin/phpunit
48+
49+
- name: Generate coverage report
50+
if: matrix.php-version == '8.3'
51+
run: vendor/bin/phpunit --coverage-clover build/logs/clover.xml
52+
53+
- name: Upload coverage to Coveralls
54+
if: matrix.php-version == '8.3'
55+
env:
56+
COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
57+
run: |
58+
composer global require php-coveralls/php-coveralls
59+
export PATH="$HOME/.composer/vendor/bin:$PATH"
60+
php-coveralls --coverage_clover=build/logs/clover.xml --json_path=build/logs/coveralls-upload.json -v

README.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
# GedcomX - PHP SDK
22

33
[![Packagist](https://img.shields.io/packagist/v/gedcomx/gedcomx-php.svg)](https://packagist.org/packages/gedcomx/gedcomx-php)
4-
[![Build Status](https://travis-ci.org/FamilySearch/gedcomx-php.svg?branch=master)](https://travis-ci.org/FamilySearch/gedcomx-php)
4+
[![CI](https://github.com/FamilySearch/gedcomx-php/actions/workflows/ci.yml/badge.svg)](https://github.com/FamilySearch/gedcomx-php/actions/workflows/ci.yml)
55
[![Coverage Status](https://coveralls.io/repos/FamilySearch/gedcomx-php/badge.svg?branch=master&service=github)](https://coveralls.io/github/FamilySearch/gedcomx-php?branch=master)
6-
[![Dependency Status](https://www.versioneye.com/user/projects/5633c23236d0ab0016001f02/badge.svg?style=flat)](https://www.versioneye.com/user/projects/5633c23236d0ab0016001f02)
76

87
The PHP implementation of [GEDCOM X](http://www.gedcomx.org), including GEDCOM X extension projects.
98
The library only provides classes for serialization and deserialization of GEDCOM X
@@ -69,6 +68,13 @@ Do **one** of the following steps to activate Composer and install the gedcomx-p
6968
7069
## Changelog
7170
71+
* v3.1.0
72+
* Migrate from Travis CI to GitHub Actions
73+
* Add multi-version PHP testing (7.4, 8.0, 8.1, 8.2, 8.3)
74+
* Update CI/CD pipeline with automated testing and coverage reporting
75+
* Update README badges to reflect GitHub Actions status
76+
* Added CHANGELOG.md for a more extensive overview on changes
77+
7278
* v3.0.0
7379
* Split out the API networking code into [gedcomx-php-client](https://github.com/FamilySearch/gedcomx-php-client)
7480

0 commit comments

Comments
 (0)