summaryrefslogtreecommitdiffstats
path: root/.cirrus.yml
blob: a83129ae46d1e37d14d0ac1da1b28a0e3c30651b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# CI configuration file for CI utilizing cirrus-ci.org
#
# For instructions on how to enable the CI integration in a repository and
# further details, see src/tools/ci/README
#
#
# The actual CI tasks are defined in .cirrus.tasks.yml. To make the compute
# resources for CI configurable on a repository level, the "final" CI
# configuration is the combination of:
#
# 1) the contents of this file
#
# 2) if defined, the contents of the file referenced by the, repository
#    level, REPO_CI_CONFIG_GIT_URL variable (see
#    https://cirrus-ci.org/guide/programming-tasks/#fs for the accepted
#    format)
#
# 3) .cirrus.tasks.yml
#
# This composition is done by .cirrus.star


env:
  # Source of images / containers
  GCP_PROJECT: pg-ci-images
  IMAGE_PROJECT: $GCP_PROJECT
  CONTAINER_REPO: us-docker.pkg.dev/${GCP_PROJECT}/ci
  DISK_SIZE: 25


# Define how to run various types of tasks.

# VMs provided by cirrus-ci. Each user has a limited number of "free" credits
# for testing.
cirrus_community_vm_template: &cirrus_community_vm_template
  compute_engine_instance:
    image_project: $IMAGE_PROJECT
    image: family/$IMAGE_FAMILY
    platform: $PLATFORM
    cpu: $CPUS
    disk: $DISK_SIZE


default_linux_task_template: &linux_task_template
  env:
    PLATFORM: linux
  <<: *cirrus_community_vm_template


default_freebsd_task_template: &freebsd_task_template
  env:
    PLATFORM: freebsd
  <<: *cirrus_community_vm_template


default_windows_task_template: &windows_task_template
  env:
    PLATFORM: windows
  <<: *cirrus_community_vm_template


# macos workers provided by cirrus-ci
default_macos_task_template: &macos_task_template
  env:
    PLATFORM: macos
  macos_instance:
    image: $IMAGE


# Contents of REPO_CI_CONFIG_GIT_URL, if defined, will be inserted here,
# followed by the contents .cirrus.tasks.yml. This allows
# REPO_CI_CONFIG_GIT_URL to override how the task types above will be
# executed, e.g. using a custom compute account or permanent workers.