Browse Source

package/ci: use Ubuntu 18.04 on CircleCI.

ktx1-detection
Vladimír Vondruš 4 years ago
parent
commit
33385a7670
  1. 64
      package/ci/circleci.yml

64
package/ci/circleci.yml

@ -4,12 +4,9 @@ orbs:
codecov: codecov/codecov@1.1.1 codecov: codecov/codecov@1.1.1
executors: executors:
ubuntu-16_04:
docker:
- image: ubuntu:xenial-20201014
ubuntu-18_04: ubuntu-18_04:
docker: docker:
- image: ubuntu:bionic-20200921 - image: ubuntu:bionic-20220427
xcode-11_5: xcode-11_5:
# Molten-vk isn't in (non-updated) Homebrew on the 9.4 or 10.0/1/2 image, # Molten-vk isn't in (non-updated) Homebrew on the 9.4 or 10.0/1/2 image,
# have to use 10.3 instead; since 2021-06-08 it refuses to work on 10.14 so # have to use 10.3 instead; since 2021-06-08 it refuses to work on 10.14 so
@ -60,7 +57,8 @@ commands:
command: | command: |
apt update apt update
if [[ "$CMAKE_CXX_FLAGS" == *"--coverage"* ]]; then export LCOV_PACKAGES="lcov curl"; fi if [[ "$CMAKE_CXX_FLAGS" == *"--coverage"* ]]; then export LCOV_PACKAGES="lcov curl"; fi
apt install -y git ninja-build $LCOV_PACKAGES << parameters.extra >> # libidn11 needed by CMake
apt install -y git ninja-build libidn11 $LCOV_PACKAGES << parameters.extra >>
install-base-linux-arm64: install-base-linux-arm64:
parameters: parameters:
@ -137,45 +135,34 @@ commands:
echo 'export CC=gcc-4.8' >> $BASH_ENV echo 'export CC=gcc-4.8' >> $BASH_ENV
echo 'export CXX=g++-4.8' >> $BASH_ENV echo 'export CXX=g++-4.8' >> $BASH_ENV
install-clang-3_8: # While we want to make sure the project builds on GCC 4.8 as certain
# embedded toolchains still use it, for Clang we just pick the version
# available in the oldest supported distro.
install-clang:
steps: steps:
- run: - run:
name: Install Clang 3.8
# https://askubuntu.com/questions/787383/how-to-install-llvm-3-9
# because the `deb` commands from https://apt.llvm.org don't work
#
# The software-properties-common need to be installed in order to have
# apt-add-repository. Sigh, adding a repository should be a core
# feature ffs!
#
# The apt-transport-https needs to be installed because
# E: The method driver /usr/lib/apt/methods/https could not be found.
# N: Is the package apt-transport-https installed?
#
# For some reason, CMake needs a working C compiler, so provice CC as # For some reason, CMake needs a working C compiler, so provice CC as
# well for the case when default gcc isn't installed. # well for the case when default gcc isn't installed.
# #
# The llvm-symbolizer link needs to be set in order to have usable # The llvm-symbolizer link needs to be set in order to have usable
# symbols in the output. This affects suppressions as well, meaning # symbols in the output. This affects suppressions as well, meaning
# they won't work if the symbols are not resolvable. It's not enough to # they won't work if the symbols are not resolvable. It's not enough to
# just `export ASAN_SYMBOLIZER_PATH=/usr/bin/llvm-symbolizer-3.8` # just `export ASAN_SYMBOLIZER_PATH=/usr/bin/llvm-symbolizer-6.0`
# because it then complains that # because it then complains that
# #
# External symbolizer path is set to '/usr/bin/llvm-symbolizer-3.8' # External symbolizer path is set to '/usr/bin/llvm-symbolizer-6.0'
# which isn't a known symbolizer. Please set the path to the # which isn't a known symbolizer. Please set the path to the
# llvm-symbolizer binary or other known tool. # llvm-symbolizer binary or other known tool.
# #
# Probably because because it detects tool type based on the filename? # Probably because because it detects tool type based on the filename?
# Ugh. # Ugh.
name: Install Clang
command: | command: |
apt install -y software-properties-common apt-transport-https wget apt install -y clang
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - echo 'export CC=clang' >> $BASH_ENV
apt-add-repository "deb https://apt.llvm.org/xenial/ llvm-toolchain-xenial-3.9 main" echo 'export CXX=clang++' >> $BASH_ENV
apt update ls -l /usr/bin/llvm-symbolizer-6.0
apt install -y clang-3.8 ln -s /usr/bin/llvm-symbolizer{-6.0,}
echo 'export CC=clang-3.8' >> $BASH_ENV
echo 'export CXX=clang++-3.8' >> $BASH_ENV
ln -s /usr/bin/llvm-symbolizer{-3.8,}
install-cmake: install-cmake:
parameters: parameters:
@ -280,7 +267,7 @@ commands:
jobs: jobs:
linux-gl: linux-gl:
executor: ubuntu-16_04 executor: ubuntu-18_04
environment: environment:
CMAKE_CXX_FLAGS: --coverage CMAKE_CXX_FLAGS: --coverage
LCOV_EXTRA_OPTS: --gcov-tool /usr/bin/gcov-4.8 LCOV_EXTRA_OPTS: --gcov-tool /usr/bin/gcov-4.8
@ -317,9 +304,6 @@ jobs:
script: unix-desktop.sh script: unix-desktop.sh
- lcov - lcov
# vulkan-loader is broken on 16.04 and swiftshader vulkan needs GCC 7 to
# compile, so using 18.04 for Vulkan tests instead. Compile tests with GCC
# 4.8 are still done on 16.04
linux-vulkan: linux-vulkan:
executor: ubuntu-18_04 executor: ubuntu-18_04
environment: environment:
@ -340,7 +324,7 @@ jobs:
- lcov - lcov
linux-gles2: linux-gles2:
executor: ubuntu-16_04 executor: ubuntu-18_04
environment: environment:
CMAKE_CXX_FLAGS: --coverage CMAKE_CXX_FLAGS: --coverage
LCOV_EXTRA_OPTS: --gcov-tool /usr/bin/gcov-4.8 LCOV_EXTRA_OPTS: --gcov-tool /usr/bin/gcov-4.8
@ -365,7 +349,7 @@ jobs:
- lcov - lcov
linux-gles3: linux-gles3:
executor: ubuntu-16_04 executor: ubuntu-18_04
environment: environment:
CMAKE_CXX_FLAGS: --coverage CMAKE_CXX_FLAGS: --coverage
LCOV_EXTRA_OPTS: --gcov-tool /usr/bin/gcov-4.8 LCOV_EXTRA_OPTS: --gcov-tool /usr/bin/gcov-4.8
@ -390,7 +374,7 @@ jobs:
- lcov - lcov
linux-static: linux-static:
executor: ubuntu-16_04 executor: ubuntu-18_04
environment: environment:
# STUPID yml interprets unquoted ON as a boolean # STUPID yml interprets unquoted ON as a boolean
# https://stackoverflow.com/questions/53648244/specifying-the-string-value-yes-in-a-yaml-property # https://stackoverflow.com/questions/53648244/specifying-the-string-value-yes-in-a-yaml-property
@ -415,7 +399,7 @@ jobs:
- lcov - lcov
linux-nondeprecated: linux-nondeprecated:
executor: ubuntu-16_04 executor: ubuntu-18_04
environment: environment:
# STUPID yml interprets unquoted OFF as a boolean # STUPID yml interprets unquoted OFF as a boolean
BUILD_DEPRECATED: "OFF" BUILD_DEPRECATED: "OFF"
@ -437,7 +421,7 @@ jobs:
script: unix-desktop.sh script: unix-desktop.sh
linux-sanitizers: linux-sanitizers:
executor: ubuntu-16_04 executor: ubuntu-18_04
environment: environment:
# STUPID yml interprets unquoted OFF as a boolean. Applications don't # STUPID yml interprets unquoted OFF as a boolean. Applications don't
# have any automated tests, so building them for sanitizers doesn't make # have any automated tests, so building them for sanitizers doesn't make
@ -449,7 +433,7 @@ jobs:
steps: steps:
- install-base-linux: - install-base-linux:
extra: libgl1-mesa-dev libopenal-dev libvulkan-dev extra: libgl1-mesa-dev libopenal-dev libvulkan-dev
- install-clang-3_8 - install-clang
- install-cmake: - install-cmake:
version: "3.4.3" version: "3.4.3"
- setup-null-openal-driver - setup-null-openal-driver
@ -457,7 +441,7 @@ jobs:
script: unix-desktop.sh script: unix-desktop.sh
linux-threadsanitizer: linux-threadsanitizer:
executor: ubuntu-16_04 executor: ubuntu-18_04
environment: environment:
# STUPID yml interprets unquoted OFF as a boolean. Applications don't # STUPID yml interprets unquoted OFF as a boolean. Applications don't
# have any automated tests, so building them for sanitizers doesn't make # have any automated tests, so building them for sanitizers doesn't make
@ -469,7 +453,7 @@ jobs:
steps: steps:
- install-base-linux: - install-base-linux:
extra: libgl1-mesa-dev libopenal-dev libvulkan-dev extra: libgl1-mesa-dev libopenal-dev libvulkan-dev
- install-clang-3_8 - install-clang
- install-cmake: - install-cmake:
version: "3.4.3" version: "3.4.3"
- setup-null-openal-driver - setup-null-openal-driver

Loading…
Cancel
Save