CI: switch to GitHub Actions #239
   Merged  
   Add this suggestion to a batch that can be applied as a single commit. This suggestion is invalid because no changes were made to the code. Suggestions cannot be applied while the pull request is closed. Suggestions cannot be applied while viewing a subset of changes. Only one suggestion per line can be applied in a batch. Add this suggestion to a batch that can be applied as a single commit. Applying suggestions on deleted lines is not supported. You must change the existing code in this line in order to create a valid suggestion. Outdated suggestions cannot be applied. This suggestion has been applied or marked resolved. Suggestions cannot be applied from pending reviews. Suggestions cannot be applied on multi-line comments. Suggestions cannot be applied while the pull request is queued to merge. Suggestion cannot be applied right now. Please check back later.    
 
CI: switch to GitHub Actions - step 1: sniff stage
This commit:
sniffstage.While these aren't 100% CS (= code style) checks, for the badge and workflow display,
CSstill seemed the most descriptive name..travis.ymlconfiguration.Notes:
Builds will run on all pushes and on pull requests, with the exception of those just modifying files which are irrelevant to this workflow.
CI: switch to GitHub Actions - step 2: docs stage
This commit:
docsstage..travis.ymlconfiguration.Notes:
docsfolder.setup-rubyaction works, gems will be installed in adocs/vendorfolder. For that reason, that folder now needs to be excluded from the build.CI: switch to GitHub Actions - step 3: quick test stage
This commit:
quickteststage..travis.ymlconfiguration.Notes:
pushevents, except when merging tomasterordevelop.The current set-up still does so, with one exception: pushes to
developwill now use this quicktest instead of the full test.developis a protected branch anyhow, so all merges will already have had the full test run in the pull request.For merges to
master, the full Test run will still be used as that will generally mean we're getting ready to tag a release and some extra safety checking before a release is not a bad thing.dev-masterfrom PHP 7.4 to PHP 8.0 by usinglatestwhich translates to "latest stable PHP release".CI: switch to GitHub Actions - step 4: test and coverage stage
This commit:
testandcoveragestages..travis.ymlconfiguration..gitattributesfile.TestActions runs.Notes:
needsdependency on the previous job to prevent it from starting if the previous job failed.While not 100% necessary, this is just an efficiency tweak, being kind to the free service being offered as we know that if linting fails, the tests will fail etc.
testandcoveragejobs are essentially the same as previously run on Travis, though PHP 8.0 is now fully accounted for and8.1is set asnightly.pull requestsevents.The current set-up still does so, with one addition: pushes to
master(merges) will now also use this workflow instead of the quicktest.This replaces the full run on tagging a release, meaning that thing will essentially be the same.
experimental= true), the build status will unfortunately show as "failed", even though all non-experimental jobs have succeeded.This is a known issue in GHA: Please support something like "allow-failure" for a given job actions/runner#2347
Future scope:
In the future additional workflows/jobs could be added to, for instance,
For now, this PR just converts the existing checks to GH Actions.