> dzil

Plugin Catalog - before-release

BeforeRelease plugins run only when you run dzil release. They confirm that the distribution is in a proper state to release.

CheckChangesHasContentby JQUELIN(also tagged: changelog)

This plugin ensures that your Changes file actually has some content since the last release. If it doesn't find any, it will abort the release process.

CheckExtraTestsby DAGOLDEN(also tagged: tests, tests-extra)

This plugin ensures that the tests in the xt/ directory pass before allowing a release. It is a complement to the xtest command and an alternative to the ExtraTests and RunExtraTests plugins. (You should probably use RunExtraTests instead.)

CheckPrereqsIndexedby RJBS(also tagged: prereqs)

This plugin will check every required package against the CPAN index to ensure that they're all real, installable packages. If any are unknown, it will prompt the user to continue or abort. This is especially useful if you're using AutoPrereqs, as it can be a little overzealous on occasion.

ConfirmReleaseby RJBS(also tagged: core)

This plugin displays the name of the distribution tarball about to be released, and asks you if you really mean to release it.

Git::Checkby JQUELIN(also tagged: git, version-control)

This plugin ensures that Git is in a clean state before releasing. This means you have no no untracked files or uncommitted changes in the working copy (execpt those you intend to commit as part of the release process).

Git::CheckFor::CorrectBranchby RSRCHBOY(also tagged: git, version-control)

This plugin checks that you are on the correct branch before allowing a release. It prevents accidental releases being cut from topic branches.

Git::CheckFor::Fixupsby RSRCHBOY(also tagged: git, version-control)

This plugin checks that you have no fixup or squash commits remaining in your history since the last release. The presence of these commits is almost certainly an oversight, so if any are found the release is aborted.

Git::Tagby JQUELIN(also tagged: after-release, git, version-control)

Once the release is done, this plugin will record this fact in Git by creating a tag. It also checks before a release to ensure that tag doesn't already exist (which would indicate you're trying to release the same version twice).

TestReleaseby CJM(also tagged: core, tests)

This plugin extracts the tarball that's about to be released and ensures that it passes its tests. If any tests fail it aborts the release. You should be using this plugin. (It's included in @Basic.)

You can fork and improve this documentation on GitHub!