|
6 | 6 |
|
7 | 7 | # Configuration for https://cirrus-ci.org/. |
8 | 8 |
|
9 | | -# linux_task: |
10 | | -# # All the GCC's and Clang's available for Ubuntu Bionic. |
11 | | -# matrix: |
12 | | -# - { name: 'Linux, GCC 10', env: { CXX: g++-10, PACKAGES: g++-10 }, container: { image: 'ubuntu:18.04' } } |
13 | | -# - { name: 'Linux, GCC 9', env: { CXX: g++-9, PACKAGES: g++-9 }, container: { image: 'ubuntu:18.04' } } |
14 | | -# - { name: 'Linux, GCC 8', env: { CXX: g++-8, PACKAGES: g++-8 }, container: { image: 'ubuntu:18.04' } } |
15 | | -# - { name: 'Linux, GCC 7', env: { CXX: g++-7, PACKAGES: g++-7 }, container: { image: 'ubuntu:18.04' } } |
16 | | -# - { name: 'Linux, GCC 6', env: { CXX: g++-6, PACKAGES: g++-6 }, container: { image: 'ubuntu:18.04' } } |
17 | | -# - { name: 'Linux, GCC 5', env: { CXX: g++-5, PACKAGES: g++-5 }, container: { image: 'ubuntu:18.04' } } |
18 | | -# - { name: 'Linux, Clang 10', env: { CXX: clang++-10, PACKAGES: clang-10, LLVM_OS: bionic, LLVM_VER: 10 }, container: { image: 'ubuntu:18.04' } } |
19 | | -# - { name: 'Linux, Clang 9', env: { CXX: clang++-9, PACKAGES: clang-9, LLVM_OS: bionic, LLVM_VER: 9 }, container: { image: 'ubuntu:18.04' } } |
20 | | -# - { name: 'Linux, Clang 8', env: { CXX: clang++-8, PACKAGES: clang-8, LLVM_OS: bionic, LLVM_VER: 8 }, container: { image: 'ubuntu:18.04' } } |
21 | | -# - { name: 'Linux, Clang 7', env: { CXX: clang++-7, PACKAGES: clang-7, LLVM_OS: bionic, LLVM_VER: 7 }, container: { image: 'ubuntu:18.04' } } |
22 | | -# - { name: 'Linux, Clang 6', env: { CXX: clang++-6.0, PACKAGES: clang-6.0, LLVM_OS: bionic, LLVM_VER: 6.0 }, container: { image: 'ubuntu:18.04' } } |
23 | | -# - { name: 'Linux, Clang 5', env: { CXX: clang++-5.0, PACKAGES: clang-5.0, LLVM_OS: bionic, LLVM_VER: 5.0 }, container: { image: 'ubuntu:18.04' } } |
24 | | -# # Need some extra container setup. |
25 | | -# setup_script: [ |
26 | | -# "apt-get -o Acquire::Retries=3 update && apt-get -o Acquire::Retries=3 install -y sudo software-properties-common wget apt-transport-https && rm -rf /var/lib/apt/lists/*" |
27 | | -# ] |
28 | | -# # The install runs a helper script to do the install and any setup. |
29 | | -# install_script: [ |
30 | | -# "uname -a", |
31 | | -# "./.ci_playground/linux-cxx-install.sh" |
32 | | -# ] |
33 | | -# compile_script: [ |
34 | | -# "${CXX} --version", |
35 | | -# "${CXX} ${CXXFLAGS} -v src/main.cpp" |
36 | | -# ] |
| 9 | +linux_task: |
| 10 | + # All the GCC's and Clang's available for Ubuntu Bionic. |
| 11 | + matrix: |
| 12 | + - { name: 'Linux, GCC 10', env: { CXX: g++-10, PACKAGES: g++-10 }, container: { image: 'ubuntu:18.04' } } |
| 13 | + - { name: 'Linux, GCC 9', env: { CXX: g++-9, PACKAGES: g++-9 }, container: { image: 'ubuntu:18.04' } } |
| 14 | + - { name: 'Linux, GCC 8', env: { CXX: g++-8, PACKAGES: g++-8 }, container: { image: 'ubuntu:18.04' } } |
| 15 | + - { name: 'Linux, GCC 7', env: { CXX: g++-7, PACKAGES: g++-7 }, container: { image: 'ubuntu:18.04' } } |
| 16 | + - { name: 'Linux, GCC 6', env: { CXX: g++-6, PACKAGES: g++-6 }, container: { image: 'ubuntu:18.04' } } |
| 17 | + - { name: 'Linux, GCC 5', env: { CXX: g++-5, PACKAGES: g++-5 }, container: { image: 'ubuntu:18.04' } } |
| 18 | + - { name: 'Linux, Clang 10', env: { CXX: clang++-10, PACKAGES: clang-10, LLVM_OS: bionic, LLVM_VER: 10 }, container: { image: 'ubuntu:18.04' } } |
| 19 | + - { name: 'Linux, Clang 9', env: { CXX: clang++-9, PACKAGES: clang-9, LLVM_OS: bionic, LLVM_VER: 9 }, container: { image: 'ubuntu:18.04' } } |
| 20 | + - { name: 'Linux, Clang 8', env: { CXX: clang++-8, PACKAGES: clang-8, LLVM_OS: bionic, LLVM_VER: 8 }, container: { image: 'ubuntu:18.04' } } |
| 21 | + - { name: 'Linux, Clang 7', env: { CXX: clang++-7, PACKAGES: clang-7, LLVM_OS: bionic, LLVM_VER: 7 }, container: { image: 'ubuntu:18.04' } } |
| 22 | + - { name: 'Linux, Clang 6', env: { CXX: clang++-6.0, PACKAGES: clang-6.0, LLVM_OS: bionic, LLVM_VER: 6.0 }, container: { image: 'ubuntu:18.04' } } |
| 23 | + - { name: 'Linux, Clang 5', env: { CXX: clang++-5.0, PACKAGES: clang-5.0, LLVM_OS: bionic, LLVM_VER: 5.0 }, container: { image: 'ubuntu:18.04' } } |
| 24 | + # Need some extra container setup. |
| 25 | + setup_script: [ |
| 26 | + "apt-get -o Acquire::Retries=3 update && apt-get -o Acquire::Retries=3 install -y sudo software-properties-common wget apt-transport-https && rm -rf /var/lib/apt/lists/*" |
| 27 | + ] |
| 28 | + # The install runs a helper script to do the install and any setup. |
| 29 | + install_script: [ |
| 30 | + "uname -a", |
| 31 | + "./.ci_playground/linux-cxx-install.sh" |
| 32 | + ] |
| 33 | + compile_script: [ |
| 34 | + "${CXX} --version", |
| 35 | + "${CXX} ${CXXFLAGS} -v src/main.cpp" |
| 36 | + ] |
37 | 37 |
|
| 38 | +# This currently fails because the Cirrus feature for encrypted variables seems |
| 39 | +# broken when used with env vars. Hence it's entirely disabled. |
38 | 40 | # xcode_task: |
39 | 41 | # matrix: |
40 | 42 | # - { name: 'macOS, Xcode 11.4.1', env: { CXX: clang++, XCODE_VERSION: 11.4.1 }, osx_instance: { image: 'catalina-xcode-11.4.1' } } |
|
60 | 62 | # "${CXX} ${CXXFLAGS} -v --sysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk src/main.cpp" |
61 | 63 | # ] |
62 | 64 |
|
63 | | -# freebsd_task: |
64 | | -# # All the GCC's and Clang's currently supported by FreeBSD ports. |
65 | | -# matrix: |
66 | | -# - { name: 'FreeBSD, GCC 11', env: { CXX: 'g++11', PACKAGE: 'gcc11-devel' }, freebsd_instance: { image_family: 'freebsd-13-0-snap' } } |
67 | | -# - { name: 'FreeBSD, GCC 10', env: { CXX: 'g++10', PACKAGE: 'gcc10-devel' }, freebsd_instance: { image_family: 'freebsd-13-0-snap' } } |
68 | | -# - { name: 'FreeBSD, GCC 9', env: { CXX: 'g++9', PACKAGE: 'gcc9-devel' }, freebsd_instance: { image_family: 'freebsd-13-0-snap' } } |
69 | | -# - { name: 'FreeBSD, GCC 8', env: { CXX: 'g++8', PACKAGE: 'gcc8-devel' }, freebsd_instance: { image_family: 'freebsd-13-0-snap' } } |
70 | | -# - { name: 'FreeBSD, GCC 7', env: { CXX: 'g++7', PACKAGE: 'gcc7' }, freebsd_instance: { image_family: 'freebsd-13-0-snap' } } |
71 | | -# - { name: 'FreeBSD, Clang 10', env: { CXX: 'clang++10', PACKAGE: 'llvm10' }, freebsd_instance: { image_family: 'freebsd-13-0-snap' } } |
72 | | -# - { name: 'FreeBSD, Clang 9', env: { CXX: 'clang++90', PACKAGE: 'llvm90' }, freebsd_instance: { image_family: 'freebsd-13-0-snap' } } |
73 | | -# - { name: 'FreeBSD, Clang 8', env: { CXX: 'clang++80', PACKAGE: 'llvm80' }, freebsd_instance: { image_family: 'freebsd-13-0-snap' } } |
74 | | -# - { name: 'FreeBSD, Clang 7', env: { CXX: 'clang++70', PACKAGE: 'llvm70' }, freebsd_instance: { image_family: 'freebsd-13-0-snap' } } |
75 | | -# - { name: 'FreeBSD, Clang 6', env: { CXX: 'clang++60', PACKAGE: 'llvm60' }, freebsd_instance: { image_family: 'freebsd-13-0-snap' } } |
76 | | -# # To install with ports we need to initialize the package manager. To avoid |
77 | | -# # confirmation prompts we need to set an env var. |
78 | | -# install_script: [ |
79 | | -# "uname -a", |
80 | | -# "env ASSUME_ALWAYS_YES=YES pkg bootstrap", |
81 | | -# "env ASSUME_ALWAYS_YES=YES pkg install ${PACKAGE}" |
82 | | -# ] |
83 | | -# # Compiling is simply calling the compiler. |
84 | | -# compile_script: [ |
85 | | -# "${CXX} --version", |
86 | | -# "${CXX} ${CXXFLAGS} -v src/main.cpp" |
87 | | -# ] |
88 | | - |
89 | | -msvc_task: |
| 65 | +freebsd_task: |
| 66 | + # All the GCC's and Clang's currently supported by FreeBSD ports. |
90 | 67 | matrix: |
91 | | - # - { name: 'Windows, VS 2019', env: { CXX: cl.exe, CXXFLAGS: /Femain, VSWHERE_VERSION: '[16.0,17.0)', PLATFORM: x64, CHOCO_CONFIG: vs2019 } } |
92 | | - - { name: 'Windows, VS 2017', env: { CXX: cl.exe, CXXFLAGS: /Femain, VSWHERE_VERSION: '[15.0,16.0)', PLATFORM: x64, CHOCO_CONFIG: vs2017 } } |
93 | | - windows_container: |
94 | | - image: cirrusci/windowsservercore:2019 |
| 68 | + - { name: 'FreeBSD, GCC 11', env: { CXX: 'g++11', PACKAGE: 'gcc11-devel' }, freebsd_instance: { image_family: 'freebsd-13-0-snap' } } |
| 69 | + - { name: 'FreeBSD, GCC 10', env: { CXX: 'g++10', PACKAGE: 'gcc10-devel' }, freebsd_instance: { image_family: 'freebsd-13-0-snap' } } |
| 70 | + - { name: 'FreeBSD, GCC 9', env: { CXX: 'g++9', PACKAGE: 'gcc9-devel' }, freebsd_instance: { image_family: 'freebsd-13-0-snap' } } |
| 71 | + - { name: 'FreeBSD, GCC 8', env: { CXX: 'g++8', PACKAGE: 'gcc8-devel' }, freebsd_instance: { image_family: 'freebsd-13-0-snap' } } |
| 72 | + - { name: 'FreeBSD, GCC 7', env: { CXX: 'g++7', PACKAGE: 'gcc7' }, freebsd_instance: { image_family: 'freebsd-13-0-snap' } } |
| 73 | + - { name: 'FreeBSD, Clang 10', env: { CXX: 'clang++10', PACKAGE: 'llvm10' }, freebsd_instance: { image_family: 'freebsd-13-0-snap' } } |
| 74 | + - { name: 'FreeBSD, Clang 9', env: { CXX: 'clang++90', PACKAGE: 'llvm90' }, freebsd_instance: { image_family: 'freebsd-13-0-snap' } } |
| 75 | + - { name: 'FreeBSD, Clang 8', env: { CXX: 'clang++80', PACKAGE: 'llvm80' }, freebsd_instance: { image_family: 'freebsd-13-0-snap' } } |
| 76 | + - { name: 'FreeBSD, Clang 7', env: { CXX: 'clang++70', PACKAGE: 'llvm70' }, freebsd_instance: { image_family: 'freebsd-13-0-snap' } } |
| 77 | + - { name: 'FreeBSD, Clang 6', env: { CXX: 'clang++60', PACKAGE: 'llvm60' }, freebsd_instance: { image_family: 'freebsd-13-0-snap' } } |
| 78 | + # To install with ports we need to initialize the package manager. To avoid |
| 79 | + # confirmation prompts we need to set an env var. |
95 | 80 | install_script: [ |
96 | | - "choco install .ci_playground/choco-%CHOCO_CONFIG%.config -y --ignore-detected-reboot --no-progress", |
97 | | - "choco install vswhere -y --no-progress" |
| 81 | + "uname -a", |
| 82 | + "env ASSUME_ALWAYS_YES=YES pkg bootstrap", |
| 83 | + "env ASSUME_ALWAYS_YES=YES pkg install ${PACKAGE}" |
98 | 84 | ] |
| 85 | + # Compiling is simply calling the compiler. |
99 | 86 | compile_script: [ |
100 | | - ".ci_playground/windows-msvc-setup.cmd", |
101 | | - "\"%CXX%\" %CXXFLAGS% src/main.cpp" |
| 87 | + "${CXX} --version", |
| 88 | + "${CXX} ${CXXFLAGS} -v src/main.cpp" |
102 | 89 | ] |
| 90 | + |
| 91 | +# Unfortunately choco installs a package that requires a reboot. Which is |
| 92 | +# something that can't work in the containers Cirrus uses. Hence this is |
| 93 | +# disabled entirely. But left here for reference and information. |
| 94 | +# msvc_task: |
| 95 | +# # Cirrus doesn't have preinstalled VS version. We specify info to install |
| 96 | +# # VS with Chocolatey. |
| 97 | +# matrix: |
| 98 | +# - { name: 'Windows, VS 2019', env: { CXX: cl.exe, CXXFLAGS: /Femain, VSWHERE_VERSION: '[16.0,17.0)', PLATFORM: x64, CHOCO_CONFIG: vs2019 } } |
| 99 | +# - { name: 'Windows, VS 2017', env: { CXX: cl.exe, CXXFLAGS: /Femain, VSWHERE_VERSION: '[15.0,16.0)', PLATFORM: x64, CHOCO_CONFIG: vs2017 } } |
| 100 | +# windows_container: |
| 101 | +# image: cirrusci/windowsservercore:2019 |
| 102 | +# # Install VS and vswhere. For VS we use a predefined configuration that |
| 103 | +# # define the packages and arguments needed. |
| 104 | +# install_script: [ |
| 105 | +# "choco install .ci_playground/choco-%CHOCO_CONFIG%.config -y --ignore-detected-reboot --no-progress", |
| 106 | +# "choco install vswhere -y --no-progress" |
| 107 | +# ] |
| 108 | +# # To compile we need to set up the compile environment. |
| 109 | +# compile_script: [ |
| 110 | +# ".ci_playground/windows-msvc-setup.cmd", |
| 111 | +# "\"%CXX%\" %CXXFLAGS% src/main.cpp" |
| 112 | +# ] |
0 commit comments