Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update.ci+fixes #14

Merged
merged 6 commits into from
Feb 25, 2019
Merged

Update.ci+fixes #14

merged 6 commits into from
Feb 25, 2019

Conversation

rivy
Copy link
Contributor

@rivy rivy commented Feb 19, 2019

I created an improved AppVeyor CI config (in the spirit of @haarg's Travis CI toolset) which I've been testing and using for a while and now I'm slowly releasing it into more public use. The supplied AppVeyor config (and related helper tools) is able to test all the way back to Perl v5.8.8.8 (the earliest Strawberry Perl available). Further information about the AppVeyor CI config is available at rivy/CI.AppVeyor.helpers-perl.

Notably, dzil is still a work-in-progress and not very functional on MSWin32. Additionally, dzil is version restricted to perl 5.14+. So, testing falls back to prove for non-build/make, which works just fine for this module.

Since, I'm using your module in my Win32::CommandLine module, I wanted to get it correctly testing and installable for all MSWin32 Strawberry Perl versions. So, I added the above noted improved AppVeyor CI config that I created. After expanding testing, I also added some minor test modifications to make all tests pass back to v5.8.8. This involves some test gating for non-CORE and low version modules (in earlier perl versions, because of using the prove testing fallback which doens't install any prereqs).

I had also added a fix for the known File::Temp failures though I see that you have a commit with a repair on "master". I do think the repair here is improved and has more documentation. But I'm happy to remove it if you'd prefer.

Ultimately, this PR compiles successfully all the way back to Perl v5.8.8.8 for MSWin32/AppVeyor and Perl v5.8 for Travis (see reports at AppVeyor CI and Travis CI). It also includes support for code coverage (see reports at CodeCov and Coveralls).

I hope this is acceptable, and let me know if you'd like any changes.

rivy and others added 5 commits February 19, 2019 09:50
* fixes/improves AppVeyor CI

* similar in spirit to @haarg's Travis CI helper scripts

* *robustly flexible*, working with make, build, and prove-compatible distributions
* supports integration of both CodeCov and Coveralls coverage testing
* overcomes bugs in AppVeyor and perl tooling
* robust in cases of inaccessible Chocolatey.org or StrawberryPerl.com downloads

* ".appveyor.yml" can be a simple drop-in for most distributions

* see <https://github.com/rivy/CI.AppVeyor.helpers-perl> for more information
@mschout
Copy link
Owner

mschout commented Feb 20, 2019

Hrm, this failed on 5.12 in AppVeyor because perl.exe wasn't found. Strange.

@rivy
Copy link
Contributor Author

rivy commented Feb 20, 2019

Yeah, I saw that last night and fixed it on "canary".

I traced it to a pl2bat bug in Perl v5.12. Using perl -S prove -bl instead of just prove -bl fixes the problem. Initially, I was just using that for v5.12, but I think it's more robust. So, I'm refactoring all prove uses into perl -S prove.

I hadn't seen it before; pulling in the needed dependencies for testing Text::Template installed a newer prove which triggered the bug.

I'm testing a few repos before I advance "stable".

But, it's passing completely for Text::Template now, see https://ci.appveyor.com/project/rivy/perl-text-template/builds/22505654.

@rivy
Copy link
Contributor Author

rivy commented Feb 20, 2019

BTW, I'm pulling in a couple of required testing dependencies with the .appveyor_init.BAT file (set "DIST_EXTRA_DEPS=Test::More~0.94 Test::More::UTF8 Test::Warnings"). That will need to change in the future if the module requirements change.

That line (actually, the entire .appveyor_init.BAT) could be removed if replaced with a cpanfile in the repo.

Either one will have to be maintained. But, it works either way... let me know if you want it changed.

@rivy
Copy link
Contributor Author

rivy commented Feb 22, 2019

I re-pushed an identical PR which does pass all tests (see https://ci.appveyor.com/project/rivy/perl-text-template/builds/22563686).

On your CI, v5.14 failed with a network DNS failure. If you restart the CI testing on your side, it should pass.

@mschout mschout merged commit ad050b9 into mschout:master Feb 25, 2019
@mschout
Copy link
Owner

mschout commented Feb 25, 2019

Merged. Will release to CPAN in the morning if the builds all check out.

@mschout
Copy link
Owner

mschout commented Feb 25, 2019

Thanks for the contribution!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants