Environment Variables

DEBUG

Set to * to get a lot of debug information. See Showing debug output for more.

CI

See Environment checks.

CIRCLECI

Used to check if this is a Circle CI environment.

FRIGG

Used to check if this is a Frigg environment.

SEMAPHORE

Used to check if this is a Semaphore environment.

TRAVIS

Used to check if this is a Travis CI environment.

GITLAB_CI

Used to check if this is a GitLab CI environment.

JENKINS_URL

Used to check if this is a Jenkins CI environment.

CI_SERVER_HOST

Host component of the GitLab instance URL, without protocol and port. Example: gitlab.example.com

Note

Automatically set in a GitLab CI environment from version 12.1.

HVCS Authentication

GH_TOKEN

A personal access token from GitHub. This is used for authenticating when pushing tags, publishing releases etc. See Configuring push to Github for usage.

To generate a token go to https://github.com/settings/tokens and click on Personal access token.

GL_TOKEN

A personal access token from GitLab. This is used for authenticating when pushing tags, publishing releases etc.

GITEA_TOKEN

A personal access token from Gitea. This is used for authenticating when pushing tags, publishing releases etc.

Artifact Repository Authentication

PYPI_TOKEN

Deprecated since version 7.20.0: Please use REPOSITORY_PASSWORD instead

Set an API token for publishing to https://pypi.org/.

PYPI_PASSWORD

Deprecated since version 7.20.0: Please use REPOSITORY_PASSWORD instead

Used together with PYPI_USERNAME when publishing to https://pypi.org/.

PYPI_USERNAME

Deprecated since version 7.20.0: Please use REPOSITORY_USERNAME instead

Used together with PYPI_PASSWORD when publishing to https://pypi.org/.

REPOSITORY_USERNAME

Used together with REPOSITORY_PASSWORD when publishing artifact.

Note

If you use token authentication with pypi set this to __token__

REPOSITORY_PASSWORD

Used together with REPOSITORY_USERNAME when publishing artifact. Also used for token when using token authentication.

Warning

You should use token authentication instead of username and password authentication for the following reasons:

  • It is strongly recommended by PyPI.
  • Tokens can be given access to only a single project, which reduces the possible damage if it is compromised.
  • You can change your password without having to update it in CI settings.
  • If your PyPI username is the same as your GitHub and you have it set as a secret in a CI service, they will likely scrub it from the build output. This can break things, for example repository links.
  • Find more information on how to obtain a token.