Skip to content

Add option to authenticate via client certificates updated #246

Add option to authenticate via client certificates updated

Add option to authenticate via client certificates updated #246

Workflow file for this run

name: tests
on: [push, pull_request, workflow_dispatch]
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
options:
- -Dsystemd=enabled
- -Dsystemd=disabled
flags:
- null
- CFLAGS="-fsanitize=address -fsanitize=leak -g" LDFLAGS="-fsanitize=address -fsanitize=leak"
steps:
- name: Inspect environment
run: |
whoami
gcc --version
- uses: actions/checkout@v3
- name: Install required packages
run: |
sudo apt-get update
sudo apt-get install meson libcurl4-openssl-dev libsystemd-dev libjson-glib-dev
- name: Build (with ${{ matrix.options }} ${{ matrix.flags }})
run: |
${{ matrix.flags }} meson build ${{ matrix.options }} -Dwerror=true
ninja -C build
- name: Build release
run: |
ninja -C build dist
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.8
- name: Install test dependencies
run: |
sudo apt-get install libgirepository1.0-dev nginx-full
python -m pip install --upgrade pip
pip install -r test-requirements.txt
- name: Login to DockerHub
uses: docker/login-action@v2
if: github.ref == 'refs/heads/master'
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Update/launch hawkBit docker container
run: |
docker pull hawkbit/hawkbit-update-server
docker run -d --name hawkbit -p 8080:8080 hawkbit/hawkbit-update-server \
--hawkbit.server.security.dos.filter.enabled=false \
--hawkbit.server.security.dos.maxStatusEntriesPerAction=-1
- name: Run test suite
run: |
./test/wait-for-hawkbit-online
ASAN_OPTIONS=fast_unwind_on_malloc=0 dbus-run-session -- pytest -v --ignore test_mtls
- name: Launch hawkBit docker container behind https reverse proxy
run: |
docker rm -f hawkbit
docker run -d --name hawkbit -p 8080:8080 hawkbit/hawkbit-update-server \
--hawkbit.server.security.dos.filter.enabled=false \
--hawkbit.server.security.dos.maxStatusEntriesPerAction=-1 \
--hawkbit.dmf.rabbitmq.enabled=false \
--server.forward-headers-strategy=NATIVE \
--hawkbit.artifact.url.protocols.download-http.protocol=https
- name: Run mtls test suite
run: |
./test/wait-for-hawkbit-online
ASAN_OPTIONS=fast_unwind_on_malloc=0 dbus-run-session -- pytest -v test/test_mtls.py
docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install required packages
run: |
sudo apt-get update
sudo apt-get install meson libcurl4-openssl-dev libjson-glib-dev python3-sphinx python3-sphinx-rtd-theme doxygen
- name: Meson Build documentation (Sphinx & Doxygen)
run: |
meson build
ninja -C build docs/html
ninja -C build doxygen
uncrustify:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Run uncrustify check
run: |
./uncrustify.sh
git diff --exit-code