summaryrefslogtreecommitdiff
path: root/.cirrus.yml
blob: fcca28ba6ed2fd8d2b8fa3485e4f4cb6a1b2afbf (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
74
75
76
77
78
79
80
81
82
83
84
85
86
---

env:
    GOPATH: "/var/tmp/go"
    CIRRUS_WORKING_DIR: "${GOPATH}/src/github.com/containers/dnsname"
    CIRRUS_SHELL: "/bin/bash"
    IMAGE_PROJECT: "libpod-218412"
    HOME: "/root"  # not set by default
    GOCACHE: "${HOME}/.cache/go-build"

    # VM Images are maintained in the libpod repo.
    _BUILT_IMAGE_SUFFIX: "libpod-5664838702858240"
    FEDORA_CACHE_IMAGE_NAME: "fedora-30-${_BUILT_IMAGE_SUFFIX}"
    PRIOR_FEDORA_CACHE_IMAGE_NAME: "fedora-29-${_BUILT_IMAGE_SUFFIX}"
    UBUNTU_CACHE_IMAGE_NAME: "ubuntu-19-${_BUILT_IMAGE_SUFFIX}"
    PRIOR_UBUNTU_CACHE_IMAGE_NAME: "ubuntu-18-${_BUILT_IMAGE_SUFFIX}"


gcp_credentials: ENCRYPTED[f8f7a2ccb294476c4696c0c16683b8639706066c27a8822b6ec18f9338bc55cae8fd28dcd2d8106038f105ba65e2faba]


# Default VM to use unless set or modified by task
gce_instance:
    image_project: "${IMAGE_PROJECT}"
    zone: "us-central1-c"  # Required by Cirrus for the time being
    cpu: 2
    memory: "4Gb"
    disk: 200  # Required for performance reasons
    image_name: "${FEDORA_CACHE_IMAGE_NAME}"


# Update metadata on VM images referenced by this repository state
meta_task:

    container:
        image: "quay.io/libpod/imgts:latest"  # maintained in libpod repo
        cpu: 1
        memory: 1

    env:
        # Space-separated list of images used by this repository state
        IMGNAMES: |-
            ${FEDORA_CACHE_IMAGE_NAME}
            ${PRIOR_FEDORA_CACHE_IMAGE_NAME}
            ${UBUNTU_CACHE_IMAGE_NAME}
            ${PRIOR_UBUNTU_CACHE_IMAGE_NAME}
        BUILDID: "${CIRRUS_BUILD_ID}"
        REPOREF: "${CIRRUS_CHANGE_IN_REPO}"
        GCPJSON: ENCRYPTED[1dc9fd2c69dd84b1d1f32082bdfb1bc9e2564b4fa68d975c4fdbbbfeeb0da7901383b805ff0b3c9d88e62bebad388885]
        GCPNAME: ENCRYPTED[7dffc00502b186a517b786af7606edb468042c0e46582d3f97975b0de7d8b72057e821729e1056754ecfd16df50bbd2a]
        GCPPROJECT: ${IMAGE_PROJECT}
        CIRRUS_CLONE_DEPTH: 1  # source not used

    script: /usr/local/bin/entrypoint.sh


validate_task:

    env:
        PATH: "$PATH:/var/tmp/go/bin"

    validate_script:
      - make validate
      - make vendor
      - ./hack/tree_status.sh
      - make

test_task:

    depends_on:
        - validate
    gce_instance:
        matrix:
            image_name: ${FEDORA_CACHE_IMAGE_NAME}
            image_name: ${PRIOR_UBUNTU_CACHE_IMAGE_NAME}

    env:
        PATH: "$PATH:/var/tmp/go/bin"

    setup_script:
        - OS_RELEASE_ID="$(source /etc/os-release; echo $ID)"
        - if [[ "$OS_RELEASE_ID" == "fedora" ]]; then dnf install -y dnsmasq; fi

    test_script:
        - make
        - make test