Skip to content

Zesk Build Environment Variables


Zesk Build supports environment variables and certain patterns around their usage to assist in documentation and proper usage.

None of these are a requirement unless you use buildEnvironmentLoad or buildEnvironmentGet to access environment variables or a tool which uses these functions.

The primary pattern is to place environment variables (if you override the default, for example), in:

./bin/env/VARIABLE_NAME.sh

Where VARIABLE_NAME is the name of your environment variable. buildEnvironmentAdd does this for you if you want.

Also buildEnvironmentNames shows all known names within the current application scope.

You can document your environment variables automatically using Type: and a description using comments and the standard Zesk Build bash comment syntax of # Name: value

So an example environment file is:

#!/usr/bin/env bash
# Type: String
# Category: Documentation
# ID of CloudFront provider for web site, for invalidation
export DOCUMENTATION_CLOUDFRONT_ID
DOCUMENTATION_CLOUDFRONT_ID="${DOCUMENTATION_CLOUDFRONT_ID-}"

The values for Type: match standard types. The Category: simply places the variable in that documentation category. The behavior here is to set the environment variable to blank unless it is set already. Most project environment variables will follow this pattern unless they are derived from other environment variables and the idea is that this value should come from, you know, the environment.

The exception to this is derived values (based on another environment variable) or values which can be computed easily.

It's important to avoid side effects in the environment loader file unless you are strict about access to the environment variable solely through the buildEnvironmentLoad and buildEnvironmentGet calls as it is NOT a requirement to accessing environment variables, rather a convenience.

Environment variables documented using this scheme can generate their own documentation, and the Type: can be used to validate environment variables by other tools.

Note that most environment variables will simply inherit the already-set value (as shown in the example above), except in cases where it more of a project configuration such as APPLICATION_NAME or APPLICATION_JSON — which tends to be a fixed value.

Project configuration variables:

  • APPLICATION_NAME, APPLICATION_JSON, APPLICATION_JSON_PREFIX, BUILD_HOOK_EXTENSIONS, APPLICATION_CODE_EXTENSIONS, APPLICATION_CODE

See also:

Amazon Web Services

  • AWS_ACCESS_KEY_DATE — AWS Access Key Issue Date Date. Date of key expiration which can be checked in pipelines. notes
  • AWS_ACCESS_KEY_ID — AWS Access Key String. Amazon Web Services IAM Identity notes
  • AWS_PROFILE — AWS Profile String. Default profile for Amazon Web Services notes
  • AWS_REGION — AWS Region String. Region for Amazon Web Services notes
  • AWS_SECRET_ACCESS_KEY — AWS Secret Access Key Secret. Private Secret Password for AWS notes

Application

  • APPLICATION_CODE — Application Code Name String. This is the unique code name of the application. Use notes
  • APPLICATION_CODE_EXTENSIONS — Application Code File Extension List ColonDelimitedList. List of extensions for code in the application. Required. notes
  • APPLICATION_CODE_IGNORE — Application Code Ignore Paths ColonDelimitedList. List of path names to ignore for application code. (e.g. notes
  • APPLICATION_JSON — Application JSON File ApplicationFile. Path to the application configuration JSON notes
  • APPLICATION_JSON_PREFIX — Application JSON Prefix String. Prefix to place we can store things in the JSON notes
  • APPLICATION_NAME — Application Name String. This is the display name of the application notes
  • APPLICATION_OWNER — Application Legal Owner String. The entity which owns or manages the application. Typically the notes
  • BUILD_COMPANY — Company Name String. Legal copyright holder for this codebase notes
  • BUILD_COMPANY_LINK — Company URL URL. Legal copyright holder website for this codebase notes
  • BUILD_HOOK_EXTENSIONS — Build Hook Extension List ColonDelimitedList. List of extensions to run when looking for hooks notes
  • BUILD_MAINTENANCE_CREATED_FILE — Maintenance Created Flag Boolean. When true, means the .env.local file was created by the notes
  • BUILD_MAINTENANCE_MESSAGE_VARIABLE — Maintenance Variable Message Name EnvironmentVariable. Name of the environment variable (if any) which reflects the notes
  • BUILD_MAINTENANCE_VARIABLE — Maintenance Variable Name EnvironmentVariable. The maintenance variable name which enables (or disabled) maintenance mode. notes
  • BUILD_PROJECT_DEACTIVATE — Project Deactivation Function Function. Set this to a function which cleans up the project notes
  • BUILD_TERM_COLORS_STATE — Terminal Color State String. State to store state of current terminal color state notes

Bash

  • BUILD_DOCUMENTATION_PATH — Build Documentation Path List DirectoryList. Search path for documentation settings file. notes
  • DISPLAY — X Display String. Environment variable for X windows display. notes
  • EDITOR — Editor Command Callable. Binary for editing files notes
  • HOME — User Home Directory. Current user's home directory. notes
  • LC_TERMINAL — Terminal Application String. LC_TERMINAL typically identifies the terminal application notes
  • MANPATH — Manual Pages Path DirectoryList. A colon : separated list of paths to search for notes
  • PATH — Executable Search Path DirectoryList. A colon : separated list of paths to search for notes
  • PRODUCTION — Production Flag Boolean. Is this a production system? e.g. remove unnecessary runtime checks. notes
  • PROMPT_COMMAND — Prompt function Callable. Command is run before displaying the prompt, receives exit status notes
  • PS1 — Bash Command Prompt String. Bash Prompt for terminals notes
  • SHFMT_ARGUMENTS — Shell Formatting Arguments Array. Arguments passed to shfmt when running as a pre-commit hook notes
  • TERM — Terminal Type String. The current terminal type. notes
  • VISUAL — File Preview Executable. Binary for viewing files notes

Bash Prompt

  • __BASH_PROMPT_MARKERS — Prompt marker list Array:EmptyString. Bash Prompt escape codes for prompt reporting notes
  • __BASH_PROMPT_MODULES — Prompt module list Array:Callable. List of functions to run each prompt command notes
  • __BASH_PROMPT_PREVIOUS — Prompt command previous result Array. Previous result code notes
  • __BASH_PROMPT_SLOW — Prompt command slow threshold PositiveInteger. Bash Prompt slow timer notes

Build Configuration

  • BUILD_CACHE_HOME — Build Cache Directory Directory. Location for the build system cache files. Defaults to $HOME/.build notes
  • BUILD_DEBUG — Debugging Flag CommaDelimitedList. Constant for turning debugging on during build to find errors notes
  • BUILD_DEBUG_LINES — Debugging output lines PositiveInteger. Number of lines of debugging output to send to stderr notes
  • BUILD_ENVIRONMENT_DIRS — Build Environment Directory List DirectoryList. Search directory for environment definition files. : separated. notes
  • BUILD_HOME — Build Home Directory Directory. BUILD_HOME is . when this code is installed - at notes
  • BUILD_HOOK_DIRS — Build Hook Directory List ApplicationDirectoryList. List of directories to search for hooks. Defaults to bin/hooks:bin/build/hooks. notes
  • BUILD_INSTALL_URL — Build Installation URL URL. BUILD_INSTALL_URL for installInstallBuild - source URL for a raw installer. notes
  • BUILD_MAXIMUM_TAGS_PER_VERSION — Maximum Git Tags per Version PositiveInteger. Number of versions tags (d0, d1, d2, etc.) to look notes
  • BUILD_NOTIFY_SOUND — Notification Sound String. Sound for notifications. Set to - for no sound. Defaults notes
  • BUILD_PRECOMMIT_EXTENSIONS — Pre-Commit Extension List List. List of extensions for which build hooks may be written notes
  • BUILD_RELEASE_NOTES — Release Notes Application Path ApplicationDirectory. Constant for the release notes path. Defaults to ./docs/release. notes
  • BUILD_URL_TIMEOUT — URL Timeout PositiveInteger. Timeout in seconds for fetching URLs in urlFetch notes
  • BUILD_VERSION_NO_OPEN — Build Version No Open Flag Boolean. Constant for whether to open release notes when a version notes
  • BUILD_VERSION_SUFFIX — Build Version Suffix String. Default suffix used in gitTagVersion notes
  • IP_URL — IP Lookup URL URL. URL to look up IP my address remotely notes
  • IP_URL_FILTER — Filter for IP Lookup String. jq filter to parse IP_URL result (assuming JSON) notes
  • XDG_CACHE_HOME — Main Cache Directory Directory. Main Cache Directory notes
  • XDG_CONFIG_DIRS — Configuration Path Directories DirectoryList. Configuration Path Directories notes
  • XDG_CONFIG_HOME — Main Configuration Path Directory. Main Configuration Path notes
  • XDG_DATA_DIRS — Data Path Directories DirectoryList. Data Path Directories notes
  • XDG_DATA_HOME — Data Home Directory Directory. Data Home Directory notes
  • XDG_STATE_HOME — State Home Directory Directory. State Home Directory notes

Continuous Integration

  • BITBUCKET_CLONE_DIR — Bitbucket Clone Directory Directory. Defined in BITBUCKET Pipelines notes
  • BITBUCKET_REPO_SLUG — Bitbucket Repository Slug String. Defined in BITBUCKET Pipelines, represents the project code name. notes
  • BITBUCKET_WORKSPACE — Bitbucket Workspace String. Defined in BITBUCKET Pipelines. represents the project workspace. notes
  • CI — Continuous Integration String. If this value is non-blank, then console statusMessages are just notes

Continuous Integration: BitBucket

  • BUILD_DOCKER_BITBUCKET_IMAGE — Docker Image for Bitbucket Containers String. undocumented
  • BUILD_DOCKER_BITBUCKET_PATH — Docker Path for Bitbucket Containers RemoteDirectory. undocumented

Decoration

  • BUILD_COLORS — Build Colors Flag Boolean. If true then colors are shown, blank means guess the notes
  • BUILD_PAIR_WIDTH — Pair Width PositiveInteger. Width for pairs. Defaults to 40. notes
  • BUILD_PROMPT_COLORS — Prompt Color List ColonDelimitedList. Colon-separated list of colors for the prompt notes
  • BUILD_TEXT_BINARY — Text Executable Callable. Binary used to generate decorate big notes
  • BUILD_URL_BINARY — URL Executable Callable. Binary used in __urlOpen notes
  • COLORFGBG — Terminal Foreground and Background String. Standard way to express the foreground and background colors notes

Deployment

  • APPLICATION_BUILD_DATE — Application Build Date String. Time when a build was initiated, set upon first invocation notes
  • APPLICATION_ID — Application ID String. This is the unique hash which represents the source code notes
  • APPLICATION_REMOTE_HOME — Application Remote Home Directory RemoteDirectory. Path on the remote server where the application is served notes
  • APPLICATION_TAG — Application Tag String. This is the full version number including debugging or release notes
  • APPLICATION_VERSION — Application Version String. This is the version number which can be displayed notes
  • BUILD_TARGET — Build Application Target File Name String. The file to generate when generating builds notes
  • BUILD_TIMESTAMP — Build Timestamp UnsignedInteger. Time when a build was initiated, set upon first invocation notes
  • DEPLOYMENT — Deployment Code String. Target deployment for this code notes
  • DEPLOY_REMOTE_HOME — Remote directory for deployment RemoteDirectory. Path on the remote server where the application deployment home notes
  • DEPLOY_USER_HOSTS — Host list for deployment String. A list of one ore more user@host for installation of notes

Deployment: GitHub

  • GITHUB_REPOSITORY_OWNER — GitHub Repository Owner String. Repository owner for release notes

Development

  • BUILD_DEVELOPMENT_HOME — Home for Zesk Build development String. Directory where Zesk Build is being developed in the file notes
  • GITHUB_ACCESS_TOKEN — GitHub Access Token Secret. Access token used for release notes
  • GITHUB_ACCESS_TOKEN_EXPIRE — GitHub Access Token Expiration Date Date. GitHub Access token expiration date. Invalid AFTER this date. notes
  • GITHUB_REPOSITORY_NAME — GitHub Repository Name String. Repository name for release notes
  • GIT_BRANCH_FORMAT — Git Branch Format String String. undocumented
  • GIT_OPEN_LINKS — Git Open Links Flag Boolean. Open links from git remotes in gitCommit notes
  • GIT_REMOTE — GitHub Remote Name String. undocumented

Docker

  • BUILD_DOCKER_IMAGE — Docker Image String. Default docker image to use when launching dockerLocalContainer notes
  • BUILD_DOCKER_PATH — Docker Mapped Path RemoteDirectory. Default path for the shell to map the current directory notes
  • BUILD_DOCKER_PLATFORM — Docker Platform String. The platform for dockerLocalContainer notes

Documentation

  • BUILD_DOCUMENTATION_SOURCE_LINK_PATTERN — Build documentation URL Pattern String. Links in documentation notes

Installation

  • BUILD_COMPOSER_VERSION — Composer Version String. Version of composer to use for building vendor directory notes
  • BUILD_NPM_VERSION — npm Version String. Version of npm to install using native npm binary. notes
  • BUILD_PACKAGE_MANAGER — Package Manager Binary Executable. The default package manager on systems which have more than notes

Internal

  • __BUILD_HAS_TTY — TTY Cached Result Boolean. Cached value of the availability of /dev/tty. notes

Notify

  • NOTIFY_URL — Notification URL URL. URL to send default notifications notes
  • NOTIFY_URL_AUTHORIZATION — Notification URL Authorization Token Secret. Authorization token for default notifications. notes

PHP

  • XDEBUG_ENABLED — xDebug Enabled Flag Boolean. Is xdebug enabled? The application can honor this environment variable notes

Testing

  • BUILD_TEST_FLAGS — Test Flags String. Test flags affect controls and how tests are run. notes
  • TEST_TRACK_ASSERTIONS — Track Assertions Flag Boolean. Assertion tracking testing optimization notes

Vendor

  • APACHE_HOME — Apache Home Directory Directory. Constant for the Apache configuration home directory. notes
  • BUILD_YARN_VERSION — Yarn Version String. Version of yarn to install using corepack notes
  • DAEMONTOOLS_HOME — Daemontools Home Directory. Constant for the directory where services are monitored by daemontools notes
  • MARIADB_BINARY_CONNECT — mariadb Connect Executable Executable. MariaDB binary for database connections notes
  • MARIADB_BINARY_DUMP — mariadb Dump Executable Executable. MariaDB binary for dump notes
  • NODE_PACKAGE_MANAGER — node Package Manager Executable. The package manager used for node operations. Usually yarn or notes

Additional Details on Environment Variables

APACHE_HOME

Apache Home Directory — Constant for the Apache configuration home directory.

Type: DirectoryCategory: Vendor

Constant for the Apache configuration home directory.

APPLICATION_BUILD_DATE

Application Build Date — Time when a build was initiated, set upon first invocation

Type: StringCategory: Deployment

Time when a build was initiated, set upon first invocation if not already.

APPLICATION_CODE

Application Code Name — This is the unique code name of the application. Use

Type: StringCategory: Application

This is the unique code name of the application. Use a domain name suffix to ensure global uniqueness.

APPLICATION_CODE_EXTENSIONS

Application Code File Extension List — List of extensions for code in the application. Required.

Type: ColonDelimitedListCategory: Application

List of extensions for code in the application. Required.

APPLICATION_CODE_IGNORE

Application Code Ignore Paths — List of path names to ignore for application code. (e.g.

Type: ColonDelimitedListCategory: Application

List of path names to ignore for application code. (e.g. /vendor/, /node_modules/, etc.)

APPLICATION_ID

Application ID — This is the unique hash which represents the source code

Type: StringCategory: Deployment

This is the unique hash which represents the source code state (typically a git hash)

APPLICATION_JSON

Application JSON File — Path to the application configuration JSON

Type: ApplicationFileCategory: Application

Path to the application configuration JSON

APPLICATION_JSON_PREFIX

Application JSON Prefix — Prefix to place we can store things in the JSON

Type: StringCategory: Application

Prefix to place we can store things in the JSON file (e.g. to set the fingerprint)

APPLICATION_NAME

Application Name — This is the display name of the application

Type: StringCategory: Application

This is the display name of the application

APPLICATION_OWNER

Application Legal Owner — The entity which owns or manages the application. Typically the

Type: StringCategory: Application

The entity which owns or manages the application. Typically the owning company name. This is used in Copyright notices in code and other locations.

APPLICATION_REMOTE_HOME

Application Remote Home Directory — Path on the remote server where the application is served

Type: RemoteDirectoryCategory: Deployment

Path on the remote server where the application is served

APPLICATION_TAG

Application Tag — This is the full version number including debugging or release

Type: StringCategory: Deployment

This is the full version number including debugging or release identifiers

APPLICATION_VERSION

Application Version — This is the version number which can be displayed

Type: StringCategory: Deployment

This is the version number which can be displayed

AWS_ACCESS_KEY_DATE

AWS Access Key Issue Date — Date of key expiration which can be checked in pipelines.

Type: DateCategory: Amazon Web Services

Date of key expiration which can be checked in pipelines. Not part of the Amazon specification but a good idea to track expiration of keys.

AWS_ACCESS_KEY_ID

AWS Access Key — Amazon Web Services IAM Identity

Type: StringCategory: Amazon Web Services

Amazon Web Services IAM Identity

AWS_PROFILE

AWS Profile — Default profile for Amazon Web Services

Type: StringCategory: Amazon Web Services

Default profile for Amazon Web Services

AWS_REGION

AWS Region — Region for Amazon Web Services

Type: StringCategory: Amazon Web Services

Region for Amazon Web Services

See Also

  • awsIPAccess - Grant access to AWS security group for this IP only using Amazon IAM credentials (source)

AWS_SECRET_ACCESS_KEY

AWS Secret Access Key — Private Secret Password for AWS

Type: SecretCategory: Amazon Web Services

Private Secret Password for AWS

BITBUCKET_CLONE_DIR

Bitbucket Clone Directory — Defined in BITBUCKET Pipelines

Type: DirectoryCategory: Continuous Integration

Defined in BITBUCKET Pipelines Typically should match BUILD_HOME

BITBUCKET_REPO_SLUG

Bitbucket Repository Slug — Defined in BITBUCKET Pipelines, represents the project code name.

Type: StringCategory: Continuous Integration

Defined in BITBUCKET Pipelines, represents the project code name.

BITBUCKET_WORKSPACE

Bitbucket Workspace — Defined in BITBUCKET Pipelines. represents the project workspace.

Type: StringCategory: Continuous Integration

Defined in BITBUCKET Pipelines. represents the project workspace.

BUILD_CACHE_HOME

Build Cache Directory — Location for the build system cache files. Defaults to $HOME/.build

Type: DirectoryCategory: Build Configuration

Location for the build system cache files. Defaults to $HOME/.build and if $HOME is not a directory then $(buildHome)/.build Cache MAY be deleted at any time. If you need your files to be preserved, store them elsewhere.

BUILD_COLORS

Build Colors Flag — If true then colors are shown, blank means guess the

Type: BooleanCategory: Decoration

If true then colors are shown, blank means guess the value, false means no colors

See Also

BUILD_COMPANY

Company Name — Legal copyright holder for this codebase

Type: StringCategory: Application

Legal copyright holder for this codebase

Company URL — Legal copyright holder website for this codebase

Type: URLCategory: Application

Legal copyright holder website for this codebase

BUILD_COMPOSER_VERSION

Composer Version — Version of composer to use for building vendor directory

Type: StringCategory: Installation

Version of composer to use for building vendor directory

See Also

BUILD_DEBUG

Debugging Flag — Constant for turning debugging on during build to find errors

Type: CommaDelimitedListCategory: Build Configuration

Constant for turning debugging on during build to find errors in the build scripts. Enable debugging globally in the build scripts. Set to a comma (,) delimited list string to enable specific debugging, or true for ALL debugging, false (or blank) for NO debugging.

BUILD_DEBUG_LINES

Debugging output lines — Number of lines of debugging output to send to stderr

Type: PositiveIntegerCategory: Build Configuration

Number of lines of debugging output to send to stderr before stopping

BUILD_DEVELOPMENT_HOME

Home for Zesk Build development — Directory where Zesk Build is being developed in the file

Type: StringCategory: Development

Directory where Zesk Build is being developed in the file system (for other projects to test against a changed version)

See Also

BUILD_DOCKER_IMAGE

Docker Image — Default docker image to use when launching dockerLocalContainer

Type: StringCategory: Docker

Default docker image to use when launching dockerLocalContainer

See Also

BUILD_DOCKER_PATH

Docker Mapped Path — Default path for the shell to map the current directory

Type: RemoteDirectoryCategory: Docker

Default path for the shell to map the current directory to when launching dockerLocalContainer

See Also

BUILD_DOCKER_PLATFORM

Docker Platform — The platform for dockerLocalContainer

Type: StringCategory: Docker

The platform for dockerLocalContainer

Contacts of this can be found via docker buildx ls

Valid values are:

  • linux/arm64
  • linux/amd64
  • linux/amd64/v2
  • linux/riscv64
  • linux/ppc64le
  • linux/s390x
  • linux/386
  • linux/mips64le
  • linux/mips64
  • linux/arm/v7
  • linux/arm/v6

If not specified, uses the default for the current platform.

See Also

BUILD_DOCUMENTATION_PATH

Build Documentation Path List — Search path for documentation settings file.

Type: DirectoryListCategory: Bash

Search path for documentation settings file. A colon : separated list of paths to search for function documentation settings file for __bashDocumentationCached

See Also

Build documentation URL Pattern — Links in documentation

Type: StringCategory: Documentation

Links in documentation

BUILD_ENVIRONMENT_DIRS

Build Environment Directory List — Search directory for environment definition files. : separated.

Type: DirectoryListCategory: Build Configuration

Search directory for environment definition files. : separated. Note these should be in addition to the default environment variables ALWAYS located at ./bin/build/env THe default is $(buildHome)/bin/env. Make sure to append to this as a :-list.

BUILD_HOME

Build Home DirectoryBUILD_HOME is . when this code is installed - at

Type: DirectoryCategory: Build Configuration

BUILD_HOME is . when this code is installed - at ./bin/build. Usually an absolute path and does NOT end with a trailing slash. This is computed from the current source file using ${BASH_SOURCE[0]}.

BUILD_HOOK_DIRS

Build Hook Directory List — List of directories to search for hooks. Defaults to bin/hooks:bin/build/hooks.

Type: ApplicationDirectoryListCategory: Build Configuration

List of directories to search for hooks. Defaults to bin/hooks:bin/build/hooks. Colon (:) separated list.

BUILD_HOOK_EXTENSIONS

Build Hook Extension List — List of extensions to run when looking for hooks

Type: ColonDelimitedListCategory: Application

List of extensions to run when looking for hooks

BUILD_INSTALL_URL

Build Installation URLBUILD_INSTALL_URL for installInstallBuild - source URL for a raw installer.

Type: URLCategory: Build Configuration

BUILD_INSTALL_URL for installInstallBuild - source URL for a raw installer.

BUILD_MAINTENANCE_CREATED_FILE

Maintenance Created Flag — When true, means the .env.local file was created by the

Type: BooleanCategory: Application

When true, means the .env.local file was created by the maintenance hook and should be deleted when maintenance is no longer enabled.

BUILD_MAINTENANCE_MESSAGE_VARIABLE

Maintenance Variable Message Name — Name of the environment variable (if any) which reflects the

Type: EnvironmentVariableCategory: Application

Name of the environment variable (if any) which reflects the current maintenance message. Default is MAINTENANCE_MESSAGE and this is typically added to the .env.local to a live application. Your application should monitor these files for changes if they are cached and reload as needed to ensure these messages are displayed immediately.

BUILD_MAINTENANCE_VARIABLE

Maintenance Variable Name — The maintenance variable name which enables (or disabled) maintenance mode.

Type: EnvironmentVariableCategory: Application

The maintenance variable name which enables (or disabled) maintenance mode. Default is MAINTENANCE. This value is set to true or false

BUILD_MAXIMUM_TAGS_PER_VERSION

Maximum Git Tags per Version — Number of versions tags (d0, d1, d2, etc.) to look

Type: PositiveIntegerCategory: Build Configuration

Number of versions tags (d0, d1, d2, etc.) to look for before giving up in gitTagVersion

See Also

BUILD_NOTIFY_SOUND

Notification Sound — Sound for notifications. Set to - for no sound. Defaults

Type: StringCategory: Build Configuration

Sound for notifications. Set to - for no sound. Defaults to zesk-build-notification.

See Also

BUILD_NPM_VERSION

npm Version — Version of npm to install using native npm binary.

Type: StringCategory: Installation

Version of npm to install using native npm binary.

See Also

BUILD_PACKAGE_MANAGER

Package Manager Binary — The default package manager on systems which have more than

Type: ExecutableCategory: Installation

The default package manager on systems which have more than one package manager available.

BUILD_PAIR_WIDTH

Pair Width — Width for pairs. Defaults to 40.

Type: PositiveIntegerCategory: Decoration

Width for pairs. Defaults to 40.

See Also

BUILD_PRECOMMIT_EXTENSIONS

Pre-Commit Extension List — List of extensions for which build hooks may be written

Type: ListCategory: Build Configuration

List of extensions for which build hooks may be written and run. Presence in this list simply means it may run, not that it is written or runs; add your own bin/hooks/pre-commit-XXX.sh to handle a specific file type in your application.

Currently:

  • sh - Bash
  • PHP - PHP
  • js - JavaScript
  • json - JSON
  • md - Markdown
  • yml - Yet Another Markup Language
  • txt - Text files
  • py - Python
  • go - Golang
  • rs - Rust
  • css - CSS
  • less, sass, scss - Compiled stylesheets

BUILD_PROJECT_DEACTIVATE

Project Deactivation Function — Set this to a function which cleans up the project

Type: FunctionCategory: Application

Set this to a function which cleans up the project context and will be run on project-deactivate hook which is sourced.

BUILD_PROMPT_COLORS

Prompt Color List — Colon-separated list of colors for the prompt

Type: ColonDelimitedListCategory: Decoration

Colon-separated list of colors for the prompt

Colors are escape codes. Last entry is a reset simply to make environment output less messy.

  1. Success color
  2. Failure color
  3. User
  4. Host
  5. Path

See Also

BUILD_RELEASE_NOTES

Release Notes Application Path — Constant for the release notes path. Defaults to ./docs/release.

Type: ApplicationDirectoryCategory: Build Configuration

Constant for the release notes path. Defaults to ./docs/release.

BUILD_TARGET

Build Application Target File Name — The file to generate when generating builds

Type: StringCategory: Deployment

The file to generate when generating builds

BUILD_TERM_COLORS_STATE

Terminal Color State — State to store state of current terminal color state

Type: StringCategory: Application

State to store state of current terminal color state

See Also

BUILD_TEST_FLAGS

Test Flags — Test flags affect controls and how tests are run.

Type: StringCategory: Testing

Test flags affect controls and how tests are run.

BUILD_TEXT_BINARY

Text Executable — Binary used to generate decorate big

Type: CallableCategory: Decoration

Binary used to generate decorate big

See Also

  • decorate - decorate text using colors and styles (source)
  • {SEE:big}
  • {SEE:__aptStandardPackages}
  • {SEE:__apkStandardPackages}
  • {SEE:__brewStandardPackages}

BUILD_TIMESTAMP

Build Timestamp — Time when a build was initiated, set upon first invocation

Type: UnsignedIntegerCategory: Deployment

Time when a build was initiated, set upon first invocation if not already

BUILD_URL_BINARY

URL Executable — Binary used in __urlOpen

Type: CallableCategory: Decoration

Binary used in __urlOpen

See Also

  • urlOpen - Opens the default browser for a URL on the host operating system (source)

BUILD_URL_TIMEOUT

URL Timeout — Timeout in seconds for fetching URLs in urlFetch

Type: PositiveIntegerCategory: Build Configuration

Timeout in seconds for fetching URLs in urlFetch

See Also

BUILD_VERSION_NO_OPEN

Build Version No Open Flag — Constant for whether to open release notes when a version

Type: BooleanCategory: Build Configuration

Constant for whether to open release notes when a version is requested (see version-already)

BUILD_VERSION_SUFFIX

Build Version Suffix — Default suffix used in gitTagVersion

Type: StringCategory: Build Configuration

Default suffix used in gitTagVersion

See Also

BUILD_YARN_VERSION

Yarn Version — Version of yarn to install using corepack

Type: StringCategory: Vendor

Version of yarn to install using corepack

See Also

CI

Continuous Integration — If this value is non-blank, then console statusMessages are just

Type: StringCategory: Continuous Integration

If this value is non-blank, then console statusMessages are just output normally. Continuous Integration - this is set to a non-blank value in:

  • Bitbucket pipelines

See Also

COLORFGBG

Terminal Foreground and Background — Standard way to express the foreground and background colors

Type: StringCategory: Decoration

Standard way to express the foreground and background colors

  • foregroundColor - UnsignedInteger. 0 to 16
  • backgroundColor - UnsignedInteger. 0 to 16

Not referenced in this product; referenced via rxvt and may be honored at some point.

DAEMONTOOLS_HOME

Daemontools Home — Constant for the directory where services are monitored by daemontools

Type: DirectoryCategory: Vendor

Constant for the directory where services are monitored by daemontools

DEPLOYMENT

Deployment Code — Target deployment for this code

Type: StringCategory: Deployment

Target deployment for this code

DEPLOY_REMOTE_HOME

Remote directory for deployment — Path on the remote server where the application deployment home

Type: RemoteDirectoryCategory: Deployment

Path on the remote server where the application deployment home is (per application)

DEPLOY_USER_HOSTS

Host list for deployment — A list of one ore more user@host for installation of

Type: StringCategory: Deployment

A list of one ore more user@host for installation of the application

See Also

DISPLAY

X Display — Environment variable for X windows display.

Type: StringCategory: Bash

Environment variable for X windows display. From the user's perspective, every X server has a display name of the form: hostname:displaynumber.screennumber

EDITOR

Editor Command — Binary for editing files

Type: CallableCategory: Bash

Binary for editing files

GITHUB_ACCESS_TOKEN

GitHub Access Token — Access token used for release

Type: SecretCategory: Development

Access token used for release

See Also

GITHUB_ACCESS_TOKEN_EXPIRE

GitHub Access Token Expiration Date — GitHub Access token expiration date. Invalid AFTER this date.

Type: DateCategory: Development

GitHub Access token expiration date. Invalid AFTER this date.

See Also

GITHUB_REPOSITORY_NAME

GitHub Repository Name — Repository name for release

Type: StringCategory: Development

Repository name for release

See Also

GITHUB_REPOSITORY_OWNER

GitHub Repository Owner — Repository owner for release

Type: StringCategory: Deployment: GitHub

Repository owner for release

See Also

Git Open Links Flag — Open links from git remotes in gitCommit

Type: BooleanCategory: Development

Open links from git remotes in gitCommit

See Also

  • gitCommit - Commits all files added to git and also update release (source)
  • gitCommit - Commits all files added to git and also update release (source)

HOME

User Home — Current user's home directory.

Type: DirectoryCategory: Bash

Current user's home directory.

IP_URL

IP Lookup URL — URL to look up IP my address remotely

Type: URLCategory: Build Configuration

URL to look up IP my address remotely

See Also

IP_URL_FILTER

Filter for IP Lookup — jq filter to parse IP_URL result (assuming JSON)

Type: StringCategory: Build Configuration

jq filter to parse IP_URL result (assuming JSON) if blank, no filter is used and raw result is returned

See Also

LC_TERMINAL

Terminal Application — LC_TERMINAL typically identifies the terminal application

Type: StringCategory: Bash

LC_TERMINAL typically identifies the terminal application

MANPATH

Manual Pages Path — A colon : separated list of paths to search for

Type: DirectoryListCategory: Bash

A colon : separated list of paths to search for manual pages. See manPathConfigure

See Also

MARIADB_BINARY_CONNECT

mariadb Connect Executable — MariaDB binary for database connections

Type: ExecutableCategory: Vendor

MariaDB binary for database connections

MARIADB_BINARY_DUMP

mariadb Dump Executable — MariaDB binary for dump

Type: ExecutableCategory: Vendor

MariaDB binary for dump

NODE_PACKAGE_MANAGER

node Package Manager — The package manager used for node operations. Usually yarn or

Type: ExecutableCategory: Vendor

The package manager used for node operations. Usually yarn or npm. Default is yarn.

NOTIFY_URL

Notification URL — URL to send default notifications

Type: URLCategory: Notify

URL to send default notifications

See Also

NOTIFY_URL_AUTHORIZATION

Notification URL Authorization Token — Authorization token for default notifications.

Type: SecretCategory: Notify

Authorization token for default notifications. Passed as a string to Notify URLs via a header:

See Also

PATH

Executable Search Path — A colon : separated list of paths to search for

Type: DirectoryListCategory: Bash

A colon : separated list of paths to search for executables in bash. See pathConfigure

See Also

PRODUCTION

Production Flag — Is this a production system? e.g. remove unnecessary runtime checks.

Type: BooleanCategory: Bash

Is this a production system? e.g. remove unnecessary runtime checks.

PROMPT_COMMAND

Prompt function — Command is run before displaying the prompt, receives exit status

Type: CallableCategory: Bash

Command is run before displaying the prompt, receives exit status from the prior command.

See Also

PS1

Bash Command Prompt — Bash Prompt for terminals

Type: StringCategory: Bash

Bash Prompt for terminals

See Also

SHFMT_ARGUMENTS

Shell Formatting Arguments — Arguments passed to shfmt when running as a pre-commit hook

Type: ArrayCategory: Bash

Arguments passed to shfmt when running as a pre-commit hook

See Also

  • {SEE:pre-commit-sh.sh}

TERM

Terminal Type — The current terminal type.

Type: StringCategory: Bash

The current terminal type.

TEST_TRACK_ASSERTIONS

Track Assertions Flag — Assertion tracking testing optimization

Type: BooleanCategory: Testing

Assertion tracking testing optimization Turn on or off tracking of function assertions within the testing core. If blank, the default behavior is to track; disable it with setting the value to false.

VISUAL

File Preview — Binary for viewing files

Type: ExecutableCategory: Bash

Binary for viewing files

XDEBUG_ENABLED

xDebug Enabled Flag — Is xdebug enabled? The application can honor this environment variable

Type: BooleanCategory: PHP

Is xdebug enabled? The application can honor this environment variable to automatically connect to the debugger.

See Also

XDG_CACHE_HOME

Main Cache Directory — Main Cache Directory

Type: DirectoryCategory: Build Configuration

Base directory for user-specific cache data to be stored See basedir-spec for explanation of this and other related environment variables.

XDG_CONFIG_DIRS

Configuration Path Directories — Configuration Path Directories

Type: DirectoryListCategory: Build Configuration

Search directory for user-specific configuration files to be stored. : separated. See basedir-spec for explanation of this and other related environment variables.

XDG_CONFIG_HOME

Main Configuration Path — Main Configuration Path

Type: DirectoryCategory: Build Configuration

Location for configuration files See basedir-spec for explanation of this and other related environment variables.

XDG_DATA_DIRS

Data Path Directories — Data Path Directories

Type: DirectoryListCategory: Build Configuration

Search directory for user-specific data files to be stored. : separated. See basedir-spec for explanation of this and other related environment variables.

XDG_DATA_HOME

Data Home Directory — Data Home Directory

Type: DirectoryCategory: Build Configuration

Base directory for user-specific data to be stored. See basedir-spec for explanation of this and other related environment variables.

XDG_STATE_HOME

State Home Directory — State Home Directory

Type: DirectoryCategory: Build Configuration

Base directory for user-specific state files to be stored See basedir-spec for explanation of this and other related environment variables.

__BASH_PROMPT_MARKERS

Prompt marker list — Bash Prompt escape codes for prompt reporting

Type: Array:EmptyStringCategory: Bash Prompt

List of markers to identify to the terminal location of the prompt. Used by iTerm2 and, hopefully, other terminal applications.

See Also

__BASH_PROMPT_MODULES

Prompt module list — List of functions to run each prompt command

Type: Array:CallableCategory: Bash Prompt

List of modules to run each prompt command.

Manage with bashPrompt functionName to add, bashPrompt --remove functionName to remove.

Make your functions really fast otherwise the shell becomes sluggish. Also try:

BUILD_DEBUG=bashPrompt

To report on each command and timing.

An automatic reporting occurs when commands exceed 0.3s.

See Also

__BASH_PROMPT_PREVIOUS

Prompt command previous result — Previous result code

Type: ArrayCategory: Bash Prompt

Previous result code

See Also

__BASH_PROMPT_SLOW

Prompt command slow threshold — Bash Prompt slow timer

Type: PositiveIntegerCategory: Bash Prompt

Number of milliseconds after which a bashPrompt command is considered slow.

See Also

__BUILD_HAS_TTY

TTY Cached Result — Cached value of the availability of /dev/tty.

Type: BooleanCategory: Internal

Cached value of the availability of /dev/tty. Possible values are true or false or blank.

  • true - /dev/tty appears to be operating without errors
  • false - /dev/tty appears to be disconnected and can not be used

This value is set automatically by isTTYAvailable and caches the value using this environment variable to avoid testing again.

See also:


⬅ Home