mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-10 13:00:29 +03:00
21912123c4
This allows us to use the latest C++20 features in programs which we compile and run as part of Lagom.
61 lines
1.8 KiB
YAML
61 lines
1.8 KiB
YAML
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
|