os: linux dist: focal language: cpp compiler: - gcc cache: ccache: true directories: - 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 apt-get update -qq # These packages are already part of the Travis image: #- sudo apt-get install -y cmake shellcheck # Remove GCC 9 (installed by default) and replace it with GCC 10: - sudo apt-get purge -y g++-9 libstdc++-9-dev # These aren't: - sudo apt-get install -y g++-10 libstdc++-10-dev libmpfr-dev libmpc-dev libgmp-dev clang-format-10 - sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 60 --slave /usr/bin/g++ g++ /usr/bin/g++-10 # If we ever do any qemu-emulation on Travis, we should re-enable this: #- e2fsprogs qemu-system-i386 qemu-utils - g++ --version - cmake --version - shellcheck --version script: - export SERENITY_ROOT="$(pwd)" - Meta/check-style.sh - Meta/lint-clang-format.sh --overwrite-inplace && git diff --exit-code - Meta/lint-executable-resources.sh - Meta/lint-ipc-ids.sh - Meta/lint-shell-scripts.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