blob: 385af3434b972f05eecabb2ebb9c709852ca875f [file] [log] [blame] [view]
Davide Pesaventobd3642f2022-08-12 18:19:31 -04001# Continuous Integration Scripts
Joao Pereiraef326da2015-05-27 18:27:40 -04002
Davide Pesaventobd3642f2022-08-12 18:19:31 -04003## Environment Variables
Joao Pereiraef326da2015-05-27 18:27:40 -04004
Davide Pesaventobd3642f2022-08-12 18:19:31 -04005- `ID`: lower-case string that identifies the operating system, for example: `ID=ubuntu`,
6 `ID=centos`. See [os-release(5)] for more information. On macOS, where `os-release` is
7 not available, we emulate it by setting `ID=macos`.
Joao Pereiraef326da2015-05-27 18:27:40 -04008
Davide Pesaventobd3642f2022-08-12 18:19:31 -04009- `ID_LIKE`: space-separated list of operating system identifiers that are closely related
10 to the running OS. See [os-release(5)] for more information. The listed values are used
11 by the CI scripts to select the proper behavior for different platforms and OS flavors.
Joao Pereiraef326da2015-05-27 18:27:40 -040012
Davide Pesaventobd3642f2022-08-12 18:19:31 -040013 Examples:
Joao Pereiraef326da2015-05-27 18:27:40 -040014
Davide Pesaventobd3642f2022-08-12 18:19:31 -040015 - On CentOS, `ID_LIKE="centos rhel fedora linux"`
16 - On Ubuntu, `ID_LIKE="ubuntu debian linux"`
Joao Pereiraef326da2015-05-27 18:27:40 -040017
Davide Pesaventobd3642f2022-08-12 18:19:31 -040018- `VERSION_ID`: identifies the operating system version, excluding any release code names.
19 See [os-release(5)] for more information. Examples: `VERSION_ID=42`, `VERSION_ID=22.04`.
Joao Pereiraef326da2015-05-27 18:27:40 -040020
Davide Pesaventobd3642f2022-08-12 18:19:31 -040021- `JOB_NAME`: defines the type of the current CI job. Depending on the job type, the CI
22 scripts can perform different tasks.
23
24 Supported values:
Joao Pereiraef326da2015-05-27 18:27:40 -040025
Davide Pesaventod8398822020-03-29 18:46:19 -040026 - empty: default build task
Davide Pesaventobd3642f2022-08-12 18:19:31 -040027 - `code-coverage`: debug build with tests and code coverage analysis
Davide Pesaventod8398822020-03-29 18:46:19 -040028 - `limited-build`: only a single debug build with tests
Davide Pesavento956ac312016-09-20 19:11:30 +020029
Davide Pesaventobd3642f2022-08-12 18:19:31 -040030- `CACHE_DIR`: directory containing cached files from previous builds, e.g., a compiled
31 version of ndn-cxx. If not set, `/tmp` is used.
Davide Pesavento44660cf2017-08-16 00:44:23 -040032
Davide Pesaventobd3642f2022-08-12 18:19:31 -040033- `DISABLE_ASAN`: disable building with AddressSanitizer. This is automatically set for
34 the `code-coverage` job type.
35
36[os-release(5)]: https://www.freedesktop.org/software/systemd/man/os-release.html