ci: Added bionic image

pull/6911/head
Daniel Mensinger 5 years ago
parent 4a1f197743
commit afffb9e57d
No known key found for this signature in database
GPG Key ID: 54DD94C131E277D4
  1. 1
      .github/workflows/images.yml
  2. 1
      .github/workflows/os_comp.yml
  3. 8
      ci/ciimage/bionic/image.json
  4. 58
      ci/ciimage/bionic/install.sh
  5. 5
      ci/ciimage/build.py

@ -31,6 +31,7 @@ jobs:
- { name: CUDA (on Arch), id: cuda }
- { name: Fedora, id: fedora }
- { name: OpenSUSE, id: opensuse }
- { name: Ubuntu Bionic, id: bionic }
- { name: Ubuntu Eoan, id: eoan }
steps:
- uses: actions/checkout@v2

@ -39,6 +39,7 @@ jobs:
- { name: CUDA (on Arch), id: cuda }
- { name: Fedora, id: fedora }
- { name: OpenSUSE, id: opensuse }
- { name: Ubuntu Bionic, id: bionic }
container: mesonbuild/${{ matrix.cfg.id }}:latest
steps:
- uses: actions/checkout@v1

@ -0,0 +1,8 @@
{
"base_image": "ubuntu:bionic",
"env": {
"CI": "1",
"SKIP_SCIENTIFIC": "1",
"DC": "gdc"
}
}

@ -0,0 +1,58 @@
#!/bin/bash
set -e
export DEBIAN_FRONTEND=noninteractive
export LANG='C.UTF-8'
export DC=gdc
pkgs=(
python3-pytest-xdist
python3-pip libxml2-dev libxslt1-dev libyaml-dev libjson-glib-dev
wget unzip cmake doxygen
clang
pkg-config-arm-linux-gnueabihf
qt4-linguist-tools qt5-default qtbase5-private-dev
python-dev
libomp-dev
ldc
libclang-dev
libgcrypt20-dev
libgpgme-dev
libhdf5-dev openssh-server
libboost-python-dev libboost-regex-dev
libblocksruntime-dev
libperl-dev libscalapack-mpi-dev libncurses-dev
)
boost_pkgs=(atomic chrono date-time filesystem log regex serialization system test thread)
sed -i '/^#\sdeb-src /s/^#//' "/etc/apt/sources.list"
apt-get -y update
apt-get -y upgrade
apt-get -y install eatmydata
# Base stuff
eatmydata apt-get -y build-dep meson
# Add boost packages
for i in "${boost_pkgs[@]}"; do
for j in "1.62.0" "1.65.1"; do
pkgs+=("libboost-${i}${j}")
done
done
# packages
eatmydata apt-get -y install "${pkgs[@]}"
eatmydata python3 -m pip install codecov jsonschema
# Install the ninja 0.10
wget https://github.com/ninja-build/ninja/releases/download/v1.10.0/ninja-linux.zip
unzip ninja-linux.zip -d /ci
# cleanup
apt-get -y remove ninja-build
apt-get -y clean
apt-get -y autoclean
rm ninja-linux.zip

@ -71,6 +71,9 @@ class Builder(BuilderBase):
for key, val in self.image_def.env.items():
out_data += f'export {key}="{val}"\n'
# Also add /ci to PATH
out_data += 'export PATH="/ci:$PATH"\n'
out_file.write_text(out_data)
# make it executable
@ -157,7 +160,7 @@ class ImageTester(BuilderBase):
test_cmd = [
self.docker, 'run', '--rm', '-t', 'meson_test_image',
'/usr/bin/bash', '-c', 'source /ci/env_vars.sh; cd meson; ./run_tests.py $CI_ARGS'
'/bin/bash', '-c', 'source /ci/env_vars.sh; cd meson; ./run_tests.py $CI_ARGS'
]
if subprocess.run(test_cmd).returncode != 0:
raise RuntimeError('Running tests failed')

Loading…
Cancel
Save