aboutsummaryrefslogtreecommitdiff
path: root/.cirrus.yml
blob: 16878c43615f99ea281be7e38ae15b118bc9740f (plain) (blame)
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
# The internal git client reads CIRRUS_CLONE_DEPTH.
env:
  CIRRUS_CLONE_DEPTH: 3

freebsd_task:
  name: freebsd-amd64
  only_if: $CIRRUS_BRANCH != 'coverity_scan'
  freebsd_instance:
    matrix:
      - image_family: freebsd-12-4
        cpu: 2
        memory: 2G
      - image_family: freebsd-13-2
        cpu: 2
        memory: 2G
  env:
    IGNORE_OSVERSION: yes
    MAKEFLAGS: -j 4
    MATRIX_CC: clang15 gcc12
  script:
    - pkg install -qy autoconf gcc12 llvm15
    - pkg install -qy cmake git-tiny # for build_matrix.sh and build.sh
    - ./build_matrix.sh

linux_task:
  name: linux-amd64
  only_if: $CIRRUS_BRANCH != 'coverity_scan'
  container:
    image: ubuntu:22.04
    cpu: 2
    memory: 1G
  env:
    DEBIAN_FRONTEND: noninteractive
    MAKEFLAGS: -j 3
    MATRIX_CC: gcc clang-15
    LANG: C
  script:
    - apt-get -qy update >/dev/null
    - apt-get -qy install libdbus-1-dev libbluetooth-dev libnl-genl-3-dev libibverbs-dev libssl-dev >/dev/null
    - apt-get -qy install flex bison autoconf make clang-15 gcc >/dev/null
    - apt-get -qy install cmake git bc >/dev/null # for build_matrix.sh and build.sh
    - apt list --installed 'lib*-dev'
    - ./autogen.sh
    - ./configure --quiet # build the Makefile
    - make releasecheck
    - make whitespacecheck
    - ./build_matrix.sh

macos_task:
  name: macos-aarch64
  only_if: $CIRRUS_BRANCH != 'coverity_scan'
  macos_instance:
    image: ghcr.io/cirruslabs/macos-ventura-xcode:14.1 # macOS 13 with Xcode 14.1
  env:
    MAKEFLAGS: '-j 4' # macOS VMs run on 4 cores
  script:
    - brew update >/dev/null
    - brew install openssl@3
    - ./build_matrix.sh

#
# Just testing for now.
#
windows_task:
  name: windows-amd64
  only_if: $CIRRUS_BRANCH != 'coverity_scan'
  windows_container:
    image: cirrusci/windowsservercore:2019
  env:
    MAKE_BIN: msbuild
    MAKEFLAGS: '/m /nologo /m /nologo /p:Configuration=Release'
    MATRIX_CC: cl
    MATRIX_CMAKE: yes
    MSYSTEM: MINGW64
  install_script:
    - dir/a "C:\Program Files (x86)"
    - choco install -y --no-progress --limit-output visualstudio2019-workload-vctools --package-parameters "--includeOptional"
    - choco install --no-progress -y winflexbison
    - win_flex --version
    - win_bison --version
    - choco install --no-progress -y curl
    - curl -O -s https://www.winpcap.org/install/bin/WpdPack_4_1_2.zip
    - 7z x .\WpdPack_4_1_2.zip -oc:\projects\libpcap\Win32
    - curl -O -s https://npcap.com/dist/npcap-sdk-1.13.zip
    - 7z x .\npcap-sdk-1.13.zip -oc:\projects\libpcap\Win32\npcap-sdk
    - curl -o AirPcap_Devpack.zip -L -s "https://support.riverbed.com/bin/support/download?sid=l3vk3eu649usgu3rj60uncjqqu"
    - 7z x .\AirPcap_Devpack.zip -oc:\projects\libpcap\Win32
  script:
   - sh -lc ./build_matrix.sh

coverity_task:
  name: Coverity Scan
  only_if: $CIRRUS_BRANCH == 'coverity_scan'
  container:
    image: ubuntu:22.04
    cpu: 2
    memory: 2G
  env:
    DEBIAN_FRONTEND: noninteractive
    MAKEFLAGS: -j 3
    COVERITY_SCAN_PROJECT_NAME: $CIRRUS_REPO_FULL_NAME
    COVERITY_SCAN_TOKEN: ENCRYPTED[58bfbfcf624e5b7b85fb9df95dd0b3f9f93642824e6ae94616e4d345af4848580932a6ece02337fee112194b29ce6593]
    COVERITY_SCAN_BUILD_COMMAND_PREPEND: ./configure --enable-remote --enable-optimizer-dbg --enable-yydebug
    COVERITY_SCAN_BUILD_COMMAND: make
    LANG: C
  script:
    - apt-get -qy update >/dev/null
    - apt-get -qy install libdbus-1-dev libbluetooth-dev libnl-genl-3-dev libibverbs-dev libssl-dev >/dev/null
    - apt-get -qy install flex bison autoconf make gcc >/dev/null
    - apt-get -qy install git curl wget ruby rubygems ruby-json >/dev/null # for the coverity script
    - apt list --installed 'lib*-dev'
    - ./autogen.sh
    - ./.ci-coverity-scan-build.sh