Permalink
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
60 lines (52 sloc) 3.03 KB
type layout title excerpt published last_modified_at header classes toc categories tags meta
post
single
Free CI for your GitHub forks
How to build & test your feature branch for free on AppVeyor & Travis CI before submitting a pull request.
true
2018-05-20
overlay_image overlay_filter teaser
/assets/images/technology-3389917.jpg
0.5
/assets/images/technology-3389917_640.jpg
wide
false
Automation
Appveyor
Continuous Integration
FOSS
Free
GitHub
Open source
Travis CI
_wpcom_is_markdown _thumbnail_id _publicize_done_external _rest_api_published _rest_api_client_id _publicize_job_id _publicize_done_18611616 _wpas_done_18402702 publicize_twitter_user publicize_google_plus_url _publicize_done_18611618 _wpas_done_18402704 publicize_linkedin_url _publicize_done_18611619 _wpas_done_18402705 _publicize_done_19035169 _wpas_done_18883722
1
329
1
-1
11987160237
1
1
troylindsay42
1
1
1
1
1
1

I had an epiphany the other day when troubleshooting an issue with a pull request that I had submitted, which is that you can have AppVeyor and Travis CI (free CI/CD services for public repos) build & test your commits to your fork's feature branch on push by simply enabling the repo in your AppVeyor and/or Travis CI accounts.  In this instance, my changes had worked on my Fedora image, but the build failed on Travis CI's Ubuntu Trusty image.  Had I thought of this beforehand, I would have been able to detect and resolve the issue before submitting the pull request.  This is especially useful if you are attempting to help augment and/or optimize the project's build configuration.

Also, you can implement this even if the project doesn't use either of these CI/CD services or if the owners do not store the build configuration in the respective YAML file.  The caveat is that in either case, you would have to configure the CI services yourself.

To start building & testing a new project in AppVeyor, go here, and for Travis CI, go to your profile page.

Enable a new project in AppVeyor{: .align-center}

Enable a new project in Travis CI{: .align-center}

So far, I have used this methodology to provide screenshots and build logs as evidence in a couple of pull requests.  I have also used this to create and submit a Travis CI build configuration for a project that was only using AppVeyor and demonstrated how it would work if merged.  Pretty cool, right?

Enjoy!