common_steps_template: &COMMON_STEPS_TEMPLATE install_prerequisites_script: ./cirrusci.sh install_host_compiler_script: ./ci.sh install_host_compiler setup_repos_script: | set -uexo pipefail ln -s $CIRRUS_WORKING_DIR ../dmd # for PRs - merge with target branch first if [ ! -z ${CIRRUS_PR+x} ] ; then git fetch origin "+refs/pull/$CIRRUS_PR/merge:"; git checkout -f FETCH_HEAD; fi ./ci.sh setup_repos "${CIRRUS_BASE_BRANCH:-$CIRRUS_BRANCH}" build_script: ./ci.sh build test_dmd_script: | if [ "${DMD_TEST_COVERAGE:-0}" == "1" ] then OS_NAME=$OS ENABLE_RELEASE=0 ENABLE_DEBUG=1 ENABLE_COVERAGE=1 ./ci.sh rebuild ./ci.sh test_dmd ./ci.sh codecov else ./ci.sh test_dmd fi test_druntime_script: \[ "${DMD_TEST_COVERAGE:-0}" == "1" \] || ./ci.sh test_druntime test_phobos_script: \[ "${DMD_TEST_COVERAGE:-0}" == "1" \] || ./ci.sh test_phobos environment: CIRRUS_CLONE_DEPTH: 50 # for ci.sh: MODEL: 64 HOST_DMD: dmd N: 4 OS_NAME: linux FULL_BUILD: true coverage_environment_template: &COVERAGE_ENVIRONMENT_TEMPLATE DMD_TEST_COVERAGE: 1 CODECOV_TOKEN: ENCRYPTED[cc6ce01618eaee6c9a08ebc81446a9233588df3b2c6ba4e30ffb7715ee9815734ccfd9fcec4f6abfc6a1b9dd8253110d] # Linux task: name: Ubuntu 16.04 $TASK_NAME_SUFFIX container: image: ubuntu:16.04 cpu: 4 memory: 8G timeout_in: 60m environment: matrix: - TASK_NAME_SUFFIX: x86, DMD (latest) MODEL: 32 - TASK_NAME_SUFFIX: x86, DMD (coverage) MODEL: 32 << : *COVERAGE_ENVIRONMENT_TEMPLATE - TASK_NAME_SUFFIX: x86, DMD (bootstrap) MODEL: 32 HOST_DMD: dmd-2.079.0 - TASK_NAME_SUFFIX: x64, DMD (latest) # Enable this to replace coverage tests on CircleCI # - TASK_NAME_SUFFIX: x64, DMD (coverage) # << : *COVERAGE_ENVIRONMENT_TEMPLATE - TASK_NAME_SUFFIX: x64, DMD (bootstrap) HOST_DMD: dmd-2.079.0 - TASK_NAME_SUFFIX: x64, LDC # Starting from LDC v1.27.0, a symbol for GLIBC_2.27 is required, # which doesn't work on 16.04 anymore. HOST_DC: ldc-1.26.0 #TODO: Update to HOST_DMD when support for HOST_DC is removed - TASK_NAME_SUFFIX: x64, GDC HOST_DMD: gdmd-9 << : *COMMON_STEPS_TEMPLATE # Mac task: name: macOS 10.15 x64, $TASK_NAME_SUFFIX osx_instance: image: catalina-xcode timeout_in: 60m environment: OS_NAME: darwin # override Cirrus default OS (`darwin`) OS: osx # 12 CPU cores and 24 GB of memory are available N: 12 matrix: - TASK_NAME_SUFFIX: DMD (latest) - TASK_NAME_SUFFIX: DMD (coverage) << : *COVERAGE_ENVIRONMENT_TEMPLATE - TASK_NAME_SUFFIX: DMD (bootstrap) # de-facto bootstrap version on OSX # See: https://forum.dlang.org/post/qfsgt2$1goc$1@digitalmars.com HOST_DMD: dmd-2.088.0 << : *COMMON_STEPS_TEMPLATE # FreeBSD task: name: FreeBSD 12.1 x64, DMD ($TASK_NAME_TYPE) freebsd_instance: image_family: freebsd-12-1 cpu: 4 memory: 8G timeout_in: 60m environment: OS_NAME: freebsd CI_DFLAGS: -version=TARGET_FREEBSD12 matrix: - TASK_NAME_TYPE: latest - TASK_NAME_TYPE: coverage << : *COVERAGE_ENVIRONMENT_TEMPLATE install_bash_script: pkg install -y bash << : *COMMON_STEPS_TEMPLATE task: name: FreeBSD 11.4 x64, DMD (bootstrap) freebsd_instance: image_family: freebsd-11-4 cpu: 4 memory: 8G timeout_in: 60m environment: OS_NAME: freebsd HOST_DMD: dmd-2.079.0 CI_DFLAGS: -version=TARGET_FREEBSD11 install_bash_script: pkg install -y bash << : *COMMON_STEPS_TEMPLATE