campaignmonitor/createsend-perl

Script the process of building, testing, and releasing

jdennes opened this issue · 3 comments

Script the process of building, testing, and releasing this library.

See the createsend-ruby Rakefile for equivalent functionality.

So, building/testing is basically (as per the updated README):

cpanm --quiet --installdeps --notest .
perl Makefile.PL && make test

Release process should be scripted too.

I've just committed a script (package.pl) which performs the steps to create the distribution, ready to upload to CPAN.

It takes the version number as an argument and adds the relevant files into a new zipped tarball named Net-CampaiagnMonitor-[version].tar.gz, in the directory above the repository root.

It errors out if $VERSION in CampaignMonitor.pm does not match the new version number and also outputs a warning if the Changes file does not contain an entry for this version.

To run, e.g.:

package.pl 1.03

Let me know if you think I've missed anything in the script or if anything in particular could be improved.

I think best not to script the upload to CPAN as it's a good idea to do a quick check of the distribution before it goes live. Does this sound reasonable to you? Uploading is an easy process anyway - just need to login to PAUSE and select "Upload a file to CPAN".

👍 I've fixed the user agent, fixed the package script, and introduced semantic versioning, so I think v1.20.1 is ready. I still don't seem to have permission to upload an official version of Net::CampaignMonitor. Just need to package, upload, and tag, unless there's anything else you want to add. I'll start adding missing API functionality in a separate branch soon.

Closing this for now. In future, we should probably look into using Dist::Zilla