• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Configuration file for https://circleci.com/
2
3version: 2
4
5jobs:
6  build:
7    docker:
8      # Use a Python image from https://hub.docker.com/r/circleci/python/tags/
9      - image: circleci/python:3.6
10
11    steps:
12    - checkout
13
14    # Install dependencies
15    - run: sudo apt-get update -qq
16    - run: sudo apt-get install -qq bison clang clang-tools flex gawk gettext libaudit-dev libcap-dev libcap-ng-dev libcunit1-dev libdbus-glib-1-dev libpcre2-dev python3-dev python-dev ruby-dev swig xmlto
17
18    - run:
19        name: Setup environment variables
20        command: |
21          echo 'export DESTDIR=$HOME/destdir' >> "$BASH_ENV"
22          echo 'export IS_CIRCLE_CI=1' >> "$BASH_ENV"
23
24    # Download and install refpolicy headers for sepolgen tests
25    - run:
26        name: Download refpolicy Makefile
27        command: |
28          curl --location --retry 10 -o refpolicy.tar.bz2 https://github.com/SELinuxProject/refpolicy/releases/download/RELEASE_2_20180701/refpolicy-2.20180701.tar.bz2
29          tar -xvjf refpolicy.tar.bz2
30          sed -e "s,^PREFIX :=.*,PREFIX := $DESTDIR/usr," -i refpolicy/support/Makefile.devel
31          sudo make -C refpolicy install-headers
32          sudo mkdir -p /etc/selinux
33          echo 'SELINUXTYPE=refpolicy' | sudo tee /etc/selinux/config
34          echo 'SELINUX_DEVEL_PATH = /usr/share/selinux/refpolicy' | sudo tee /etc/selinux/sepolgen.conf
35          sed -e "s,\"\(/usr/bin/[cs]\),\"$DESTDIR\1," -i python/sepolgen/src/sepolgen/module.py
36
37    # Run clang's scan-build and store the result as artifacts
38    - run: ./scripts/run-scan-build
39    - store_artifacts:
40        path: scripts/output-scan-build
41        destination: output-scan-build
42