• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1os:
2  - linux
3
4language: c
5
6compiler:
7  - gcc
8  - clang
9
10services:
11  - docker
12
13env:
14  - PLATFORM=posix TESTS=yes TLS=no
15  - PLATFORM=posix TESTS=yes TLS=gnutls SMALL_STACK=yes
16  - PLATFORM=posix TESTS=yes TLS=gnutls SMALL_STACK=no
17  - PLATFORM=posix TESTS=yes TLS=gnutls SMALL_STACK=yes EPOLL=no
18  - PLATFORM=posix TESTS=yes TLS=gnutls SMALL_STACK=no  EPOLL=no
19  - PLATFORM=posix TESTS=yes TLS=openssl
20  - PLATFORM=posix TESTS=yes TLS=tinydtls
21  - PLATFORM=posix TESTS=yes TLS=mbedtls
22
23before_install:
24  - docker build -t obgm/libcoap:travis-env .
25
26branches:
27  only:
28     - main
29     - develop
30     - /^release-.*$/
31     - travis-test
32
33stages:
34  - test
35  - other platforms
36  - dist
37
38jobs:
39  include:
40    - stage: other platforms
41      env: PLATFORM=contiki TLS=no
42      before_script:
43      script:
44        - docker run --privileged -e CC -e PLATFORM -e TLS obgm/libcoap:travis-env /bin/sh -c "scripts/build.sh"
45    - stage: other platforms
46      env: PLATFORM=lwip TLS=no
47      before_script:
48      script:
49        - docker run --privileged -e CC -e PLATFORM -e TLS obgm/libcoap:travis-env /bin/sh -c "scripts/build.sh"
50    - stage: dist
51      env: PLATFORM=posix TESTS=yes TLS=no DOCS=yes
52      before_script:
53      script:
54        - docker run --privileged -e CC -e PLATFORM -e TESTS -e DOCS -e TLS obgm/libcoap:travis-env /bin/sh -c "scripts/dist.sh"
55
56# Docker disables IPv6 in containers by default, so re-enable it.
57before_script:
58  # `daemon.json` is normally missing, but let's log it in case that changes.
59  - sudo touch /etc/docker/daemon.json
60  - sudo cat /etc/docker/daemon.json
61  - sudo service docker stop
62  # This needs YAML quoting because of the curly braces.
63  - 'echo ''{"ipv6": true, "fixed-cidr-v6": "2001:db8:1::/64"}'' | sudo tee /etc/docker/daemon.json'
64  - sudo service docker start
65  # Fail early if docker failed on start -- add `- sudo dockerd` to debug.
66  - sudo docker info
67  # Paranoia log: what if our config got overwritten?
68  - sudo cat /etc/docker/daemon.json
69script:
70  - docker run --privileged -e CC -e PLATFORM -e TESTS -e DOCS -e TLS -e EPOLL -e SMALL_STACK obgm/libcoap:travis-env /bin/sh -c "scripts/build.sh"
71