laminas/laminas-hydrator

Switch from Travis-Ci to GitHub actions for continuous integration workflow

froschdesign opened this issue · 1 comments

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
  • 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, the composer.lock file, and the README.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"}
        ]
    }

Remove any existing badges for Travis and/or Coveralls.

I noticed that coverall still exists, and target branch is master.