42 lines
1.6 KiB
YAML
42 lines
1.6 KiB
YAML
# Configuration file for https://circleci.com/
|
|
|
|
version: 2
|
|
|
|
jobs:
|
|
build:
|
|
docker:
|
|
# Use a Python image from https://hub.docker.com/r/circleci/python/tags/
|
|
- image: circleci/python:3.6
|
|
|
|
steps:
|
|
- checkout
|
|
|
|
# Install dependencies
|
|
- run: sudo apt-get update -qq
|
|
- 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
|
|
|
|
- run:
|
|
name: Setup environment variables
|
|
command: |
|
|
echo 'export DESTDIR=$HOME/destdir' >> "$BASH_ENV"
|
|
echo 'export IS_CIRCLE_CI=1' >> "$BASH_ENV"
|
|
|
|
# Download and install refpolicy headers for sepolgen tests
|
|
- run:
|
|
name: Download refpolicy Makefile
|
|
command: |
|
|
curl --location --retry 10 -o refpolicy.tar.bz2 https://github.com/SELinuxProject/refpolicy/releases/download/RELEASE_2_20180701/refpolicy-2.20180701.tar.bz2
|
|
tar -xvjf refpolicy.tar.bz2
|
|
sed -e "s,^PREFIX :=.*,PREFIX := $DESTDIR/usr," -i refpolicy/support/Makefile.devel
|
|
sudo make -C refpolicy install-headers
|
|
sudo mkdir -p /etc/selinux
|
|
echo 'SELINUXTYPE=refpolicy' | sudo tee /etc/selinux/config
|
|
echo 'SELINUX_DEVEL_PATH = /usr/share/selinux/refpolicy' | sudo tee /etc/selinux/sepolgen.conf
|
|
sed -e "s,\"\(/usr/bin/[cs]\),\"$DESTDIR\1," -i python/sepolgen/src/sepolgen/module.py
|
|
|
|
# Run clang's scan-build and store the result as artifacts
|
|
- run: ./scripts/run-scan-build
|
|
- store_artifacts:
|
|
path: scripts/output-scan-build
|
|
destination: output-scan-build
|