-
Notifications
You must be signed in to change notification settings - Fork 77
/
.cirrus.yml
104 lines (88 loc) · 3.17 KB
/
.cirrus.yml
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
# .cirrus.yml -- Cirrus CI configuration for the MPS
# FIXME: Copyright, licence, etc.
# FIXME: Specify versions of OS and toolchains. Source?
# Templates for inclusion in tasks.
# See <https://cirrus-ci.org/guide/tips-and-tricks/#sharing-configuration-between-tasks>.
# Cirrus CI doesn't include detailed machine configuration information
# in its output, so include commands here to gather it.
init_script_template: &INIT_SCRIPT_TEMPLATE
init_script:
- uname -a
build_script_template: &BUILD_SCRIPT_TEMPLATE
build_script:
- $CC --version
- $CC -dumpmachine
- CC=$CC ./configure --prefix=$PWD/prefix && make install && make test
# Override clone script to get the *trial merge* of a pull request
# with its base (usually master) rather than the branch. See
# <https://cirrus-ci.org/guide/tips-and-tricks/#custom-clone-command>.
# See also
# <https://github.com/cirruslabs/cirrus-ci-docs/discussions/1110#discussion-4613478>.
clone_script_template: &CLONE_SCRIPT_TEMPLATE
clone_script: |
set -x
git clone --depth=1 --branch=$CIRRUS_BRANCH https://x-access-token:${CIRRUS_REPO_CLONE_TOKEN}@github.com/${CIRRUS_REPO_FULL_NAME}.git $CIRRUS_WORKING_DIR
if test -n "$CIRRUS_PR"; then
cd $CIRRUS_WORKING_DIR &&
git fetch --depth=1 origin pull/$CIRRUS_PR/merge &&
git checkout FETCH_HEAD
fi
XCA6LL_task:
macos_instance:
# What does this syntax mean? See <https://github.com/cirruslabs/cirrus-ci-docs/discussions/1147#discussioncomment-4902556>.
image: ghcr.io/cirruslabs/macos-ventura-xcode
env:
CC: cc
<< : *CLONE_SCRIPT_TEMPLATE
<< : *INIT_SCRIPT_TEMPLATE
<< : *BUILD_SCRIPT_TEMPLATE
# https://cirrus-ci.org/guide/writing-tasks/ doesn't seem to allow for FreeBSD on arm64
FRI6LL_task:
freebsd_instance:
# Why is this a "family"? See <https://github.com/cirruslabs/cirrus-ci-docs/discussions/1147#discussioncomment-4902556>.
image_family: freebsd-13-1
env:
CC: clang
install_script: pkg install -y git gmake
<< : *CLONE_SCRIPT_TEMPLATE
<< : *INIT_SCRIPT_TEMPLATE
<< : *BUILD_SCRIPT_TEMPLATE
# FRA6LL doesn't seem to work. Cirrus CI gets an "Agent is not
# responding!" error on its status page.
#
# There's no output from::
#
# gcloud compute images list --project freebsd-org-cloud-dev --no-standard-images | grep -v amd64
#
# Fortunately, we can do this using Travis CI. See .travis.yml.
FRI6GC_task:
freebsd_instance:
image_family: freebsd-13-1
env:
CC: gcc
install_script: pkg install -y git gmake gcc
<< : *CLONE_SCRIPT_TEMPLATE
<< : *INIT_SCRIPT_TEMPLATE
<< : *BUILD_SCRIPT_TEMPLATE
# Is this really "LI" if it's a docker container? Does it matter?
# Is gcc:latest what we want to test against?
# Perhaps we should start with an ubuntu image.
LIA6GC_task:
arm_container:
image: gcc # https://hub.docker.com/_/gcc
env:
CC: gcc
<< : *CLONE_SCRIPT_TEMPLATE
<< : *INIT_SCRIPT_TEMPLATE
<< : *BUILD_SCRIPT_TEMPLATE
LIA6LL_task:
arm_container:
image: ubuntu # https://hub.docker.com/_/ubuntu
env:
CC: clang
install_script:
- apt-get update
- apt-get install -y git make clang
<< : *CLONE_SCRIPT_TEMPLATE
<< : *INIT_SCRIPT_TEMPLATE
<< : *BUILD_SCRIPT_TEMPLATE