Skip to content

Commit 08f72b6

Browse files
committed
preparing v0.002 for release
1 parent 11427fd commit 08f72b6

File tree

8 files changed

+175
-5
lines changed

8 files changed

+175
-5
lines changed

CHANGES

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
Revision history for Perl distribution Win32-Mechanize-NotepadPlusPlus
2+
3+
v0.002 2020-Oct-24
4+
- Initial public release
5+
6+
v0.001
7+
- Initial pre-release development

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ AUTHOR
22
Peter C. Jones "<petercj AT cpan DOT org>"
33

44
COPYRIGHT
5-
Copyright (C) 2017,2018,2019 Peter C. Jones
5+
Copyright (C) 2017,2018,2019,2020 Peter C. Jones
66

77
LICENSE
88
This program is free software; you can redistribute it and/or modify it

MANIFEST

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
CHANGES
2+
files/cube.stl
3+
files/cube_binary.stl
4+
lib/CAD/Mesh3D.pm
5+
lib/CAD/Mesh3D/ProvideNewFormat.pod
6+
lib/CAD/Mesh3D/STL.pm
7+
LICENSE
8+
Makefile.PL
9+
MANIFEST This list of files
10+
patch/attemptWinPatch.pl
11+
patch/STL.pm
12+
README.md
13+
t/00-use.t
14+
t/10-initialize.t
15+
t/20-math.t
16+
t/40-format.t
17+
t/99-fault.t
18+
t/STL-inputStl.t
19+
t/STL-outputStl.t
20+
t/stl_bin_crlf.t
21+
xt/00-sign.t
22+
xt/README.md
23+
xt/stl_load.t
24+
xt/stl_save.t

MANIFEST.SKIP

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
#defaults
2+
^Makefile$
3+
^blib/
4+
^pm_to_blib
5+
^blibdirs
6+
7+
#Module::Build = n/a, but included anyway
8+
^Build$
9+
^_build/
10+
11+
# this is in perldoc ExtUtils::Manifest example, but not in #defaults:
12+
^MANIFEST\.
13+
14+
# pcj
15+
^.svn/
16+
^MYMETA
17+
^\.?travis\.yml$
18+
^\.?appveyor\.yml$
19+
\.old$
20+
\.bak$
21+
\.tar\.gz$
22+
23+
#########################################
24+
# module-specific
25+
#########################################
26+
^RELEASE.md$
27+
28+
# end with a blank line

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ Peter C. Jones `<petercj AT cpan DOT org>`
4040

4141
# COPYRIGHT
4242

43-
Copyright (C) 2017,2018,2019 Peter C. Jones
43+
Copyright (C) 2017,2018,2019,2020 Peter C. Jones
4444

4545
# LICENSE
4646

RELEASE.md

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
[![](https://img.shields.io/cpan/v/CAD-Mesh3D.svg?colorB=00CC00 "metacpan")](https://metacpan.org/pod/CAD::Mesh3D)
2+
[![](http://cpants.cpanauthors.org/dist/CAD-Mesh3D.png "cpan testers")](http://matrix.cpantesters.org/?dist=CAD-Mesh3D)
3+
[![](https://img.shields.io/github/release/pryrt/CAD-Mesh3D.svg "github release")](https://github.com/pryrt/CAD-Mesh3D/releases)
4+
[![](https://img.shields.io/github/issues/pryrt/CAD-Mesh3D.svg "issues")](https://github.com/pryrt/CAD-Mesh3D/issues)
5+
[![](https://ci.appveyor.com/api/projects/status/6gv0lnwj1t6yaykp/branch/master?svg=true "build status")](https://ci.appveyor.com/project/pryrt/CAD-Mesh3D)
6+
7+
# Releasing CAD::Mesh3D
8+
9+
This describes some of my methodology for releasing a distribution. To help with testing, I've integrated the [GitHub repo](https://github.com/pryrt/CAD-Mesh3D/)
10+
with [AppVeyor CI](https://ci.appveyor.com/project/pryrt/cad-mesh3d) and [Travis CI](https://travis-ci.org/github/pryrt/CAD-Mesh3D).
11+
12+
## My Methodology
13+
14+
I use a local svn client to checkout the GitHub repo. All these things can be done with a git client, but the terminology changes, and I cease being comfortable.
15+
16+
* **Development:**
17+
18+
* **GitHub:** create a branch
19+
20+
* **svn:** switch from trunk to branch
21+
22+
* `prove -l t` for normal tests, `prove -l xt` for author tests
23+
* use `berrybrew exec` or `perlbrew exec` on those `prove`s to get a wider suite
24+
* every `svn commit` to the GitHub repo should trigger AppVeyor build suite
25+
26+
* **Release:**
27+
28+
* Verify perl v5.10: that isn't covered in appveyor
29+
30+
* Verify dos8.3-style shortnames: # shortname cannot be auto-tested (easily?) in appveyor
31+
* dir .. /X # list the shortname for parent directory
32+
* cd ..\short8.3 # force cmd.exe to use shortname notation
33+
* `prove -l t` # ensure it still works in shortname mode
34+
35+
* **Verify Documentation:**
36+
* make sure versioning is correct
37+
* verify README.md is up-to-date
38+
* `dmake README.md` or `gmake README.md`
39+
* or `dmake docs` or `gmake docs`
40+
* verify CHANGES (history)
41+
42+
* **Build Distribution**
43+
44+
gmake veryclean # clear out all the extra junk
45+
perl Makefile.PL # create a new makefile
46+
gmake # copy the library to ./blib/lib...
47+
gmake distcheck # check for new or removed files
48+
gmake manifest # if this steps adds or deletes incorrectly, please fix MANIFEST.SKIP ; MANIFEST is auto-generated
49+
gmake disttest # optional, if you want to verify that make test will work for the CPAN audience
50+
set MM_SIGN_DIST=1 # enable signatures for build
51+
set TEST_SIGNATURE=1 # verify signatures during `disttest`
52+
perl Makefile.PL && gmake distauthtest # recreate Makefile and re-run distribution test with signing & test-signature turned on
53+
set TEST_SIGNATURE= # clear signature verification during `disttest`
54+
gmake dist # actually make the tarball
55+
gmake veryclean # clean out this directory
56+
set MM_SIGN_DIST= # clear signatures after build
57+
58+
* **svn:** final commit of the development branch
59+
60+
* **svn:** switch back to trunk (master) repo
61+
62+
* **GitHub:** make a pull request to bring the branch back into the trunk
63+
* This should trigger AppVeyor approval for the pull request
64+
* Once AppVeyor approves, need to approve the pull request, then the branch will be merged back into the trunk
65+
* If that branch is truly done, delete the branch using the pull-request page (wait until AFTER `svn switch`, otherwise `svn switch` will fail)
66+
67+
* **GitHub:** [create a new release](https://help.github.com/articles/creating-releases/):
68+
* Releases > Releases > Draft a New Release
69+
* tag name = `v#.###`
70+
* release title = `v#.###`
71+
72+
* **PAUSE:** [upload distribution tarball to CPAN/PAUSE](https://pause.perl.org/pause/authenquery?ACTION=add_uri) by browsing to the file on my computer.
73+
* Watch <https://metacpan.org/author/PETERCJ> and <http://search.cpan.org/~petercj/> for when it updates
74+
* Watch CPAN Testers
75+
76+
* **GitHub:** Clear out any [issues](https://github.com/pryrt/Win32-Mechanize-NotepadPlusPlus/issues/) that were resolved by this release
77+

lib/CAD/Mesh3D.pm

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ use Carp;
55
use 5.010; # M::V::R requires 5.010, so might as well make use of the defined-or // notation :-)
66
use Math::Vector::Real 0.18;
77
use CAD::Format::STL qw//;
8-
our $VERSION = 0.001_011;
8+
our $VERSION = 0.002;
99

1010
=head1 NAME
1111
@@ -515,7 +515,7 @@ Peter C. Jones C<E<lt>petercj AT cpan DOT orgE<gt>>
515515
516516
=head1 COPYRIGHT
517517
518-
Copyright (C) 2017,2018,2019 Peter C. Jones
518+
Copyright (C) 2017,2018,2019,2020 Peter C. Jones
519519
520520
=head1 LICENSE
521521
@@ -527,4 +527,4 @@ See L<http://dev.perl.org/licenses/> for more information.
527527
528528
=cut
529529

530-
1;
530+
1;

xt/00-sign.t

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
use 5.010;
2+
use strict;
3+
use Test::More;
4+
5+
if (!$ENV{TEST_SIGNATURE}) {
6+
plan skip_all =>
7+
"Set the environment variable TEST_SIGNATURE to enable this test.";
8+
}
9+
elsif (!eval { require Module::Signature; 1 }) {
10+
plan skip_all =>
11+
"Next time around, consider installing Module::Signature, ".
12+
"so you can verify the integrity of this distribution.";
13+
}
14+
elsif ( !-e 'SIGNATURE' ) {
15+
plan skip_all => "SIGNATURE not found";
16+
}
17+
elsif ( -s 'SIGNATURE' == 0 ) {
18+
plan skip_all => "SIGNATURE file empty";
19+
}
20+
elsif (!eval { require Socket; Socket::inet_aton('pool.sks-keyservers.net') }) {
21+
plan skip_all => "Cannot connect to the keyserver to check module ".
22+
"signature";
23+
}
24+
else {
25+
plan tests => 1;
26+
}
27+
28+
my $ret = Module::Signature::verify();
29+
SKIP: {
30+
skip "Module::Signature cannot verify", 1
31+
if $ret eq Module::Signature::CANNOT_VERIFY();
32+
33+
cmp_ok $ret, '==', Module::Signature::SIGNATURE_OK(), "Valid signature";
34+
}

0 commit comments

Comments
 (0)