serenity/.travis.yml
Ben Wiederhake 32158c45e4 Travis: Extra safety, build Serenity in parallel
This won't have much impact, because it's *only* Serenity that will be built
in parallel. This should save about a minute.
2020-08-02 18:50:28 +02:00

55 lines
1.5 KiB
YAML

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
- sudo python2 -m pip install cmake
- export PATH=/usr/local/bin/:$PATH
- cmake --version
script:
- export SERENITY_ROOT="$(pwd)"
- Meta/lint-shell-scripts.sh
- Meta/lint-executable-resources.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
- make -j2
- CTEST_OUTPUT_ON_FAILURE=1 make test
- cd Meta/Lagom
- ./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