Moving PHP and Laravel tests from Travis CI to GitHub Actions
Earlier this year, Travis CI announced a new pricing model that effectively ends the generous open-source offering they had for many years. It seems that, even though there were some plans to provide free resources for OSS projects in the future, all activity for OSS projects has stopped.
At our company, we create a lot of open-source projects and packages. Beginning 2020, we already moved most of our stuff to GitHub actions.
Sure, you can read the GitHub actions docs to start learning the possibilities, but in my experience, it might be better to see some examples of practical uses cases. Here are some interesting links that might help you get started with GitHub actions.
Videos
- Running PHP package tests on GitHub Actions
- Supporting multiple versions of PHP and Laravel on GitHub actions
- GitHub Actions for Laravel Developers, a talk given by Ryan Chandler at The Laravel Worldwide Meetup
Blogposts
- Using GitHub actions to run the tests of Laravel projects and packages
- How to use a MySQL database on GitHub actions
- Rynan Chandler: Running GitHub actions for Certain Commit Messages
- Dries Vints: Building and Deploying Laravel with Github Actions
- Stefan Zweifel: Run prettier or php-cs-fixer with GitHub Actions
- Dan Mason: automating the Laravel 8 schema dump using GitHub actions
Code
- Awesome Actions list
- The action we use to test our framework agnostic packages
- The action we use to test our Laravel packages
- Running Psalm
- Running PHP CS Fixer
Paid stuff
I'm not getting paid to mention these; I trust these folks to deliver quality stuff.
In closing
At Spatie, we're pretty happy with GitHub Actions. If you have a practical question on getting started, feel free to hit me up on Twitter.
Like Nuno, I'm grateful for all the years that Travis CI offered a free tier for opensource. Also keep in mind what Stefan said: GitHub actions aren't the only alternative, do take a look at CircleCI and Gitlab CI as well.
What are your thoughts on "Moving PHP and Laravel tests from Travis CI to GitHub Actions"?