CI: add live tests for dkimpy and Mail::DKIM interop #568
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: build | |
on: | |
push: | |
pull_request: | |
jobs: | |
clang_format: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v4 | |
- name: Lint code formatting | |
run: | | |
clang-format-15 -i */*.[ch] | |
git diff | |
git status --porcelain | grep -q '^ M' && exit 1 || exit 0 | |
ruff: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v4 | |
- name: Install flake8 | |
run: sudo pip install ruff | |
- name: Lint Python code | |
run: ruff check | |
- name: Lint Python code formatting | |
run: | | |
ruff format | |
git diff | |
git status --porcelain | grep -q '^ M' && exit 1 || exit 0 | |
check: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v4 | |
- name: apt update | |
run: sudo apt update | |
- name: Install dependencies | |
run: sudo apt install libbsd-dev libidn2-dev libjansson-dev libmail-dkim-perl libmilter-dev libssl-dev | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
# 3.8 is listed last because it's the lowest version we support for | |
# tests, so we want to use it as the default. | |
python-version: | | |
3.7 | |
3.9 | |
3.10 | |
3.11 | |
3.12 | |
3.13 | |
3.8 | |
- name: Install Python dependencies | |
run: sudo pip install pytest miltertest dkimpy[ARC] | |
- name: Build OpenARC | |
run: | | |
autoreconf -fiv | |
CFLAGS='-Wall -Werror' ./configure | |
make -j4 | |
- name: Test OpenARC | |
run: | | |
make check | |
- name: Build OpenARC with clang | |
run: | | |
make distclean | |
CC=clang ./configure | |
make -j4 CFLAGS='-Wall -Werror' | |
- name: Build OpenARC without Jansson | |
run: | | |
make distclean | |
CC=clang ./configure --without-libjansson | |
make -j4 | |
- name: Build OpenARC without milter | |
run: | | |
make distclean | |
CC=clang ./configure --disable-filter | |
make -j4 |