Skip to content

Conversation

@gfx
Copy link

@gfx gfx commented Mar 14, 2013

Sometimes we'd like to test the module to be released in strict-but-slow conditions. This environment allows authors to set such a condition. Can you review the change please?

Thanks,

@tokuhirom
Copy link

i guess RELEASE_ENGINEERING=1 is better.

@miyagawa
Copy link
Collaborator

Dist:Zilla, another popular distribution building tool for Perl, supports three different environment variables for testing http://search.cpan.org/dist/Dist-Zilla/lib/Dist/Zilla/App/Command/test.pm i.e. AUTHOR_TESTING, RELEASE_TESTING and AUTOMATED_TESTING.

They have their own scopes - AUTHOR_TESTING for develop time tests, RELEASE_TESTING for release-time, end-users simulated tests and AUTOMATED_TESTING for continuous integration such as CPAN Testers, Travis or Jenkins CI (so that time-consuming tests are ok, no user input expected, etc).

(More context for these variables: http://use.perl.org/use.perl.org/_Alias/journal/36128.html)

I think RELEASE_TESTING is what @gfx wants, and I think it's not a good idea to set that globally in shipit(1), and has to be scoped exactly during the test phase.

I'm +1 on making a plugin, or patch the test step so that it runs make disttest with RELEASE_TESTING on, or at least a config option for the test step with release=1 or something.

That said, an arbitrary configuration option to set whatever environment variable sounds less useful, since you can do that in the shell or wrapper scripts. Having a pre-defined variable (like dzil did) has a benefit of possibly becoming a de-facto standard for Perl dists. (Based on the article i posted above, you can argue that it already is a de-facto standard)

@miyagawa
Copy link
Collaborator

I also note that I don't like the idea of (re)using that "release engineering flag" in the build tools such as Module::Install or Module::Build whatever. They should have their own detection of "Author mode" already, and relying on shipit to set another flag sounds like a bad idea to me.

@gfx
Copy link
Author

gfx commented Mar 14, 2013

I think setting an environment variable indicating "release engineering" while shipit(1) is running is not a bad idea because shipit(1) is the only place to set it. It is not the author flag nor the automated testing flag, rather it is the release engineering flag. However, there's already RELEASE_TESTING and it's enough for my purpose so making a new step to test the dist with RELEASE_TESTING may be better.

Thanks,

@gfx gfx closed this Mar 14, 2013
@miyagawa miyagawa mentioned this pull request Jun 9, 2013
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.

3 participants