Testing with AppVeyor
If you ever wanted to test your CPAN modules on Windows systems without having an own Windows system setup, then you should take a look at AppVeyor. Basically it's something like travis-ci, but just running on Windows. Configuration happens in a YAML file named appveyor.yml.
A sample appveyor.yml file for testing CPAN distributions may look like this:
branches: except: - /travis/ skip_tags: true
- if not exist "C:\strawberry" cinst strawberryperl
- set PATH=C:\strawberry\perl\bin;C:\strawberry\perl\site\bin;C:\strawberry\c\bin;%PATH%
- cd C:\projects\%APPVEYOR_PROJECT_NAME%
- cpanm --installdeps .
- perl Makefile.PL
- dmake test
The install entry is installing StrawberryPerl using chocolatey, a package manager for Windows, and CPAN dependencies with cpanm. The build_script entry is actually building and testing the distribution. These two entries are actually necessary for a minimal appveyor.yml file. The cache entry is useful to cache the downloaded StrawberryPerl, and, maybe more importantly, especially for large dependency trees, any CPAN module which was installed in the "install" step. The branches entry is just a private convention of mine (branches named XXX-travis-ci should be tested only on travis-ci and XXX-appveyor only on AppVeyor).
Here are more sample appveyor.yml files: