2020-03-02 06:26:34 +01:00
os : linux
2020-05-06 18:40:06 +03:00
dist : bionic
2019-05-28 14:47:24 +02:00
language : cpp
compiler :
- gcc
cache :
2020-07-26 13:44:27 -06:00
ccache : true
2019-05-28 14:47:24 +02:00
directories :
- /var/cache/apt/archives/*.deb
2020-03-07 17:38:16 +01:00
- Toolchain/Cache/
2019-05-28 14:47:24 +02:00
notifications :
2019-09-04 11:45:43 +02:00
irc :
2020-06-25 20:07:05 +01:00
if : repo = SerenityOS/serenity
2019-09-04 11:45:43 +02:00
channels :
- "chat.freenode.net#serenityos"
2019-09-03 22:16:43 +02:00
template :
- "%{repository_slug}#%{build_number} (%{branch} - %{commit} : %{author}): %{message}"
- "Subject: %{commit_subject}"
- "Details: %{build_url}"
2019-05-28 14:47:24 +02:00
before_install :
2019-07-10 22:03:46 +02:00
- sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
- sudo apt-get update -qq
2020-05-06 18:40:06 +03:00
- sudo apt-get install -y g++-8 libstdc++-8-dev shellcheck libmpfr-dev libmpc-dev libgmp-dev e2fsprogs qemu-system-i386 qemu-utils
2019-07-10 22:03:46 +02:00
- sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-8 90
- sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 90
2020-08-15 13:35:16 +02:00
# Travis ships an old cmake 3.12.4. We need cmake >= 3.16.
# Why would you put binaries there?!
- sudo rm -rf /usr/local/cmake-*
- which cmake || true
- curl -sSf --proto =https --retry 3 --retry-delay 60 https://cmake.org/files/v3.18/cmake-3.18.1-Linux-x86_64.sh > /tmp/cmake-install.sh
- sudo sh /tmp/cmake-install.sh --skip-license --prefix=/usr
2020-05-06 18:40:06 +03:00
- cmake --version
2019-05-28 14:47:24 +02:00
script :
2020-08-01 14:58:56 +02:00
- export SERENITY_ROOT="$(pwd)"
2020-05-06 18:40:06 +03:00
- Meta/lint-shell-scripts.sh
2020-07-27 05:57:14 +02:00
- Meta/lint-executable-resources.sh
2020-08-15 17:30:56 +02:00
- Meta/lint-ipc-ids.sh
2020-05-28 20:40:53 +02:00
- Meta/check-style.sh
2019-05-28 14:47:24 +02:00
- cd Toolchain
2020-03-07 17:38:16 +01:00
- TRY_USE_LOCAL_TOOLCHAIN=y ./BuildIt.sh
2020-05-06 18:40:06 +03:00
- cd "$SERENITY_ROOT"
- mkdir -p Build
- cd Build
2020-08-27 01:00:51 +02:00
- cmake .. -DBUILD_LAGOM=1 -DALL_THE_DEBUG_MACROS=1
2020-08-01 14:58:56 +02:00
- make -j2
2020-09-06 23:49:19 +02:00
- ../Meta/check-symbols.sh
2020-07-04 05:24:28 +04:30
- CTEST_OUTPUT_ON_FAILURE=1 make test
2020-07-04 11:50:24 -07:00
- cd Meta/Lagom
2020-08-27 01:00:51 +02:00
- DISABLE_DBG_OUTPUT=1 ./test-js
2020-07-28 23:13:48 +02:00
# These feel like they should go into a script. However, that would be a Travis-specific script, and this is *the* right place for travis-specific stuff.
2020-05-06 18:40:06 +03:00
- cd "$SERENITY_ROOT"/Toolchain/Cache
2020-04-20 20:18:42 +01:00
- du -ch * || true
2020-07-28 23:13:48 +02:00
- du -sch /home/travis/.ccache/* || true
- du -sch /var/cache/apt/archives/*.deb || true