Some actions are enabled by default and others are disabled by default, based on the script. However, sometimes the set of default actions are biased towards developers, or a production environment, and are not the ideal set of default actions for another environment.

Action groups allow for defining other sets of defaults. For example, there could be a development, staging, or production action group for that environment. These would have to be defined in the script.

Consider the following action groups.

Action

development

production

clobber

no

yes

pull

no

yes

prepare-dev-env

yes

no

build

yes

yes

package

yes

yes

upload

no

yes

notify

no

yes

Running the script with --action-groupdevelopment would enable the prepare-dev-env, build, and package actions, while --action-groupproduction would enable all actions except for prepare-dev-env.

There are also the built-in all and none groups, that enable all and disable all actions, respectively.

The --add-actions option adds a set of actions to the set of already enabled actions. In the above example, --action-groupdevelopment--add-actionsnotify would enable the prepare-dev-env, build, package, and notify actions.

The --skip-actions option removes a set of actions from the set of already enabled actions. In the above example, --action-groupdevelopment--skip-actionspackage would enable the prepare-dev-env and build actions.