Switch from Travis-Ci to GitHub actions for continuous integration workflow
froschdesign opened this issue · 1 comments
froschdesign commented
To prepare a pull request following these steps:
- Remove the
CHANGELOG.md
file (we will be doing changelogs in the milestone descriptions, and those get propagated to tags and release notes) - Add the workflow file:
mkdir -p .github/workflows ; cd .github/workflows ; wget https://gist.githubusercontent.com/weierophinney/9decd19f76b7d9745c6559074053fa65/raw/6ffb33e59796cfec569405139aa65da9396ea5cd/continuous-integration.yml
- Check to see if there are any differences between what the Travis config and the GHA workflow do - don't worry about code coverage - but check for things like: extensions required, any pre-script tasks, etc. (Most of the time, there aren't any). If you see any, either: (1) add a
.laminas-ci.json
file with required configuration (e.g., adding extensions, adding php.ini settings; see https://github.com/laminas/laminas-ci-matrix-action#configuration for details), or (2) add information to the GHA workflow file (e.g., adding a service such as MySQL, Redis, etc.; see the laminas-db or laminas-cache adapter packages for examples). - Remove the
.travis.yml
file. - Remove the entry for
composer.lock
from the.gitignore
file. - In the
.gitattributes
file:- Remove the entry for
.travis.yml
- Add an entry for
.laminas-ci.json
if you created one - Add an entry for
.github
if one does not exist
- Remove the entry for
- Using PHP 7.4, run
composer update
- Update the
README.md
file:- Remove any existing badges for Travis and/or Coveralls.
- Add a badge with the following (substituting in the correct organization and repository name):
[![Build Status](https://github.com/laminas/laminas-hydrator/actions/workflows/continuous-integration.yml/badge.svg)](https://github.com/laminas/laminas-hydrator/actions/workflows/continuous-integration.yml)
- Add and commit the GHA workflow, the
.gitignore
and.gitattribute
files, thecomposer.lock
file, and theREADME.md
file. - Push to your fork and create the PR. If there are any QA job failures, fix and push the changes.
- If the package supports PHP
^5.6 | ^7.0
, you will need to exclude locked runs for PHP 5.6 - 7.2. The way to do that is to create the.laminas-ci.json
file if you haven't already, and ensure it has the following contents:{ "exclude": [ {"name": "PHPUnit on PHP 5.6 with locked dependencies"}, {"name": "PHPUnit on PHP 7.0 with locked dependencies"}, {"name": "PHPUnit on PHP 7.1 with locked dependencies"}, {"name": "PHPUnit on PHP 7.2 with locked dependencies"} ] }
sasezaki commented
Remove any existing badges for Travis and/or Coveralls.
I noticed that coverall still exists, and target branch is master.