serenity/.travis.yml
Ben Wiederhake 36ba0a35ee Travis: Cache toolchain
This should give a significant boost to Travis speeds, because most of the
compile time is spent building the toolchain over and over again.
However, the toolchain (or libc or libm) changes only rarely,
so most rebuilds can skip this step.

The hashing has been put into a separate file to keep it
as decoupled as possible from BuiltIt.sh.
2020-03-08 14:09:08 +01:00

39 lines
974 B
YAML

os: linux
dist: xenial
language: cpp
compiler:
- gcc
cache:
directories:
- /var/cache/apt/archives/*.deb
- Toolchain/Cache/
notifications:
irc:
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 g++-8 libstdc++-8-dev shellcheck
- 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 apt-get install -y libmpfr-dev libmpc-dev libgmp-dev
- sudo apt-get install -y e2fsprogs qemu-system-i386 qemu-utils
script:
- cd Toolchain
- TRY_USE_LOCAL_TOOLCHAIN=y ./BuildIt.sh
- cd ../Kernel
- ./makeall.sh
- ../Meta/lint-shell-scripts.sh
- du -ch ../Toolchain/Cache/* || true