os: linux dist: bionic language: cpp compiler: - gcc cache: ccache: true directories: - /var/cache/apt/archives/*.deb - Toolchain/Cache/ notifications: irc: if: repo = SerenityOS/serenity channels: - "chat.freenode.net#serenityos" template: - "%{repository_slug}#%{build_number} (%{branch} - %{commit} : %{author}): %{message}" - "Subject: %{commit_subject}" - "Details: %{build_url}" before_install: - sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test - sudo apt-get update -qq - sudo apt-get install -y g++-8 libstdc++-8-dev shellcheck libmpfr-dev libmpc-dev libgmp-dev e2fsprogs qemu-system-i386 qemu-utils - 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 # 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 - cmake --version script: - export SERENITY_ROOT="$(pwd)" - Meta/lint-shell-scripts.sh - Meta/lint-executable-resources.sh - Meta/lint-ipc-ids.sh - Meta/check-style.sh - cd Toolchain - TRY_USE_LOCAL_TOOLCHAIN=y ./BuildIt.sh - cd "$SERENITY_ROOT" - mkdir -p Build - cd Build - cmake .. -DBUILD_LAGOM=1 -DALL_THE_DEBUG_MACROS=1 - make -j2 - ../Meta/check-symbols.sh - CTEST_OUTPUT_ON_FAILURE=1 make test - cd Meta/Lagom - DISABLE_DBG_OUTPUT=1 ./test-js # 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. - cd "$SERENITY_ROOT"/Toolchain/Cache - du -ch * || true - du -sch /home/travis/.ccache/* || true - du -sch /var/cache/apt/archives/*.deb || true