File: .cirrus.yml

package info (click to toggle)
boxbackup 0.13~~git20231028.g3dd5194%2Bds-4
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 13,040 kB
  • sloc: xml: 70,723; cpp: 55,569; ansic: 24,659; perl: 4,845; sh: 4,294; makefile: 578; python: 311
file content (159 lines) | stat: -rw-r--r-- 5,470 bytes parent folder | download
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
gcp_credentials: ENCRYPTED[51b00226f2de108c3fa890e94efadc2d4efad2ca8d12d31794b8e8af33d1ece12c13d51dcf3cc0c0222cda3391a469b5]

standard_build: &standard_build
  configure_script:
    - ${CHROOT} su build -c ./bootstrap
    - ${CHROOT} su build -c ./configure
  build_client_script:
    - ${CHROOT} su build -c 'make build-backup-client'
  build_server_script:
    - ${CHROOT} su build -c 'make build-backup-server'
  debug_tests_script:
    - ${CHROOT} su build -c 'make debug_tests'
  release_tests_script:
    - ${CHROOT} su build -c 'make release_tests'

standard_gce_instance: &standard_gce_instance
  zone: europe-west2-c
  type: n1-standard-1  # 1 vCPU, 3.75GB mem
  disk: 30  # FreeBSD image is 29GB, VM can't be smaller
  use_ssd: true
  #preemptible: $CIRRUS_BRANCH != "master"

task:
  matrix:
    - name: CentOS 7 amd64
      gce_instance:
        <<: *standard_gce_instance
        image_project: centos-cloud
        image_name: centos-7-v20190619
    - name: CentOS 8 amd64
      gce_instance:
        <<: *standard_gce_instance
        image_project: centos-cloud
        image_family: centos-stream-8
  setup_script:
    - yum install -y --disablerepo=google-cloud-sdk --disablerepo=google-compute-engine git autoconf automake gcc gcc-c++ zlib-devel openssl-devel libdb-devel readline-devel make libxslt perl-libwww-perl boost-devel
    - useradd -m build
    - chown -R build: .
  <<: *standard_build

# gcloud compute images list --project=debian-cloud
# gcloud compute images list --filter debian --show-deprecated
task:
  matrix:
    - name: Debian 10 i386
      gce_instance:
        <<: *standard_gce_instance
        image_project: debian-cloud
        image_family: debian-10
      setup_chroot_script:
        - ./infrastructure/setup-debian-chroot.sh
        - schroot --begin-session --session-name debian-i386 --chroot buster
      env:
        CHROOT: schroot --run-session --chroot debian-i386 --directory /tmp/cirrus-ci-build --

    - name: Debian 10 amd64
      gce_instance:
        <<: *standard_gce_instance
        image_project: debian-cloud
        image_family: debian-10

  setup_script:
    - ${CHROOT} apt-get update
    - ${CHROOT} sh -c "DEBIAN_FRONTEND=noninteractive apt-get install -o Dpkg::Options::='--force-confold' -y git autoconf automake gcc g++ zlib1g-dev libssl-dev libdb-dev libreadline-dev libeditline-dev make xsltproc libwww-perl libboost-dev"
    - ${CHROOT} useradd -m build
    - ${CHROOT} chown -R build: .
  <<: *standard_build

freebsd_gce_instance: &freebsd_gce_instance
  <<: *standard_gce_instance
  platform: FreeBSD
  image_project: freebsd-org-cloud-dev
  # Need to use image_name for now: https://github.com/cirruslabs/cirrus-ci-docs/issues/422

task:
  matrix:
    # FreeBSD 14 has a newer GCC that's removed support for std::auto_ptr, so we can't enable it
    # until we have worked around that:
    # - name: FreeBSD 14.0 (pre) amd64
    #   gce_instance:
    #     <<: *freebsd_gce_instance
    #     image_family: freebsd-14-0-snap
    - name: FreeBSD 13.0 amd64
      gce_instance:
        <<: *freebsd_gce_instance
        image_family: freebsd-13-0
    - name: FreeBSD 12.3 amd64
      gce_instance:
        <<: *freebsd_gce_instance
        image_family: freebsd-12-3

  setup_script:
    - pkg install -y git autoconf automake libxslt p5-libwww boost-libs
    - pw useradd build -m -w none
    - chown -R build: .
  <<: *standard_build

task:
  name: MacOS Ventura
  macos_instance:
    image: ghcr.io/cirruslabs/macos-ventura-xcode:latest
  env:
    CPPFLAGS: -I/usr/local/opt/openssl/include
    LDFLAGS: -L/usr/local/opt/openssl/lib
  setup_script:
    - brew install autoconf automake openssl readline
  # Don't use standard_build for now - not sure if the build user is required, or how to add users on macOS
  configure_script:
    - export CPPFLAGS="-I/opt/homebrew/opt/openssl@3.1/include"
    - export LDFLAGS="-L/opt/homebrew/opt/openssl@3.1/lib"
    - ./bootstrap
    - ./configure
  build_client_script:
    - make build-backup-client
  build_server_script:
    - make build-backup-server
  debug_tests_script:
    - make debug_tests
  release_tests_script:
    - make release_tests

# gcloud compute images list --filter ubuntu-os-cloud
task:
  matrix:
    - name: Ubuntu 16.04 amd64
      gce_instance:
        <<: *standard_gce_instance
        image_project: ubuntu-os-cloud
        image_name: ubuntu-1604-xenial-v20190617
    - name: Ubuntu 18.04 amd64
      gce_instance:
        <<: *standard_gce_instance
        image_project: ubuntu-os-cloud
        image_name: ubuntu-1804-bionic-v20190617
    - name: Ubuntu 20.04 amd64
      gce_instance:
        <<: *standard_gce_instance
        image_project: ubuntu-os-cloud
        image_family: ubuntu-2004-lts
  setup_script:
    - apt-get update
    - apt-get install -y git autoconf automake gcc g++ zlib1g-dev libssl-dev libdb-dev libreadline-dev libeditline-dev make xsltproc libwww-perl libboost-dev
    - useradd -m build
    - chown -R build .
  <<: *standard_build

task:
  matrix:
    - name: Ubuntu 23.04 amd64
      gce_instance:
        <<: *standard_gce_instance
        image_project: ubuntu-os-cloud
        image_name: ubuntu-2304-lunar-amd64-v20231020
  setup_script:
    - apt-get update
    - apt-get install -y git autoconf automake gcc g++ zlib1g-dev libssl-dev libdb-dev libeditreadline-dev make xsltproc libwww-perl libboost-dev
    - useradd -m build
    - chown -R build .
  <<: *standard_build