Command-line tool to release new versions of composer packages.
Usage:
package-release [options]
Options:
-b, --branch=BRANCH Remote branch to use for release. [default: "master"]
-m, --message=MESSAGE Message to use for the release tag.
-t, --type=TYPE Release type. Must be one of "major", "minor", or
"patch". Semver 2.0 (https://semver.org/) is used to
pick the next release number. [default: "minor"]
-h, --help Display this help message
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi Force ANSI output
--no-ansi Disable ANSI output
-n, --no-interaction Do not ask any interactive question
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal
output, 2 for more verbose output and 3 for debug
Help:
This tool is used to release new versions of composer packages. It uses
Semver 2.0 to automatically pick the next version number and tag the release
on GitHub.
Command-line tool to prepare websites for testing before release.
Usage:
prepare-site [options]
Options:
-t, --type=TYPE Release type. Must be one of "major", "minor", or
"patch". Semver 2.0 (https://semver.org/) is used to
pick the next release number. [default: "minor"]
-h, --help Display this help message
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi Force ANSI output
--no-ansi Disable ANSI output
-n, --no-interaction Do not ask any interactive question
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal
output, 2 for more verbose output and 3 for debug
Help:
Prepares a release-branch of a site for testing and release. Must be used in
a site’s live directory. This script should be run before release-site.
The prepare-site and release-site tools can use a file named
release-metadata.ini if it exists. The format of the file is as follows:
[site]
title = "My Human-Readable Title" ; Human-readable site title for messages
[testing]
url = "https://$hostname/testpath" ; URL to visit to perform manual testing
command = "composer run test" ; command to run automated testsThe metadata file may use the following variables inside values:
- $hostname - the hostname of the machine where the release is being prepared.
- $branch - the name of the current Git branch.
Other variables will be ignored and used verbatim.
For sites using a lerna monorepo setup, the scope.is_web setting is used to control
which packages are built for a web deployment. Packages are built in the order they appear
in the metadata file, for example:
[shared]
scope.is_web = true
[web]
scope.is_web = true
These tools uses composer. To test during
development, make sure you have the required packages installed by running
composer install.
You can run to tool using ./bin/package-release.
To update tools used in staging after changes have been merged you first
must release the package using package-release from a working dir in
/so/packages/package-release -- then ansible should be run against
staging servers using the composer_global tag. E.x.
ansible-playbook -l dev site.yml --tags composer_global