From: Vincent Pit Date: Mon, 18 Mar 2024 22:43:25 +0000 (+0100) Subject: Add a CONTRIBUTING guidelines file X-Git-Tag: rt151104~1 X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2FVariable-Magic.git;a=commitdiff_plain;h=f5cc0e8060f5255eb848d02f5d58d2f9eb96dfee Add a CONTRIBUTING guidelines file --- diff --git a/CONTRIBUTING b/CONTRIBUTING new file mode 100644 index 0000000..4d72bda --- /dev/null +++ b/CONTRIBUTING @@ -0,0 +1,39 @@ +Contributing guildelines for the Variable-Magic distribution + +Patch submissions guidelines : +- Patches VERY MUCH SHOULD be generated with "git format-patch". + If that's really not possible, make sure your patches apply cleanly in the + distribution directory. +- Single patches MUST be submitted to the bugtracker. + Open a ticket and add your patch as an attachment. +- Series of patches CAN be submitted as a public feature branch. + You can clone the directory wherever you want and point me to your remote + branch as long as I don't need to log in. + +C/XS-related guidelines : +- C code MUST be kept ANSI-compliant. + Older perl versions may have been built with a C compiler that does not + support C99 features (plus they are mostly useless except for restrict). + In particular, this means no C99 comments, no mixed declaration and code, + and no C++ void* casts. +- XS code MUST be buildable with any perl matching the META requirements. + If needed, wrap your code around with the XSH_HAS_PERL(x, y, z) macro. + +Tests-related guidelines : +- Patches MUST be tested before being sent. + Make sure the distribution builds and tests correctly. +- Patches that add version-specific code MUST be tested with at least + one perl release matching each version interval. + That is, if you add new code specific to perl 5.34 and above, then you + have to test it with a pre-5.34 perl (e.g. 5.32) and a post-5.34 perl + (e.g. 5.34). +- C/XS patches MUST be tested with a threaded perl regardless of how much you + dislike perl threads. + Testing with a threaded perl makes sure your code can build in many more + situations. Memory issues are also more easily spotted. +- Bugfixes SHOULD come with a regression test. + Add it to an existing .t file or create your own. + +What you don't need to do : +- DON'T update the Changes file. +- DON'T run author tests. diff --git a/MANIFEST b/MANIFEST index 83bea10..716bdfc 100644 --- a/MANIFEST +++ b/MANIFEST @@ -1,3 +1,4 @@ +CONTRIBUTING Changes MANIFEST META.json