summaryrefslogtreecommitdiff
path: root/.travis.yml
blob: fc11dda354277847e4a37429f87a0084452d2853 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
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
- 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