88 lines
2.3 KiB
YAML
88 lines
2.3 KiB
YAML
name: Build
|
|
|
|
on:
|
|
push:
|
|
branches: [master]
|
|
pull_request:
|
|
branches: [master]
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
tests:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- flavor: fedora
|
|
buildsystem: meson
|
|
tests: unit
|
|
omemo: signal
|
|
script: ./scripts/build-configuration-matrix.sh
|
|
omemo_env: libsignal
|
|
- flavor: ubuntu
|
|
buildsystem: meson
|
|
tests: unit
|
|
omemo: signal
|
|
script: ./scripts/build-configuration-matrix.sh
|
|
omemo_env: libsignal
|
|
- flavor: debian
|
|
buildsystem: meson
|
|
tests: unit
|
|
omemo: libomemo
|
|
script: ./scripts/build-configuration-matrix.sh
|
|
omemo_env: libomemo-c
|
|
|
|
name: ${{ matrix.flavor }} | ${{ matrix.tests }} | ${{ matrix.omemo }}
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Run tests
|
|
env:
|
|
OMEMO_BACKEND: ${{ matrix.omemo_env }}
|
|
run: |
|
|
docker build -f ci/Dockerfile.${{ matrix.flavor }} -t profanity .
|
|
docker run ${OMEMO_BACKEND:+ -e OMEMO_BACKEND} profanity ${{ matrix.script }}
|
|
|
|
macos-homebrew:
|
|
runs-on: macos-latest
|
|
name: macos | unit | libomemo
|
|
env:
|
|
HOMEBREW_NO_AUTO_UPDATE: 1
|
|
HOMEBREW_NO_INSTALL_CLEANUP: 1
|
|
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK: 1
|
|
steps:
|
|
- name: Set up Homebrew
|
|
uses: Homebrew/actions/setup-homebrew@main
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
brew install \
|
|
cmocka \
|
|
gettext \
|
|
glib \
|
|
gpgme \
|
|
gtk+3 \
|
|
libomemo-c \
|
|
libotr \
|
|
libstrophe \
|
|
libxscrnsaver \
|
|
meson \
|
|
ninja \
|
|
pkgconf \
|
|
python@3.14 \
|
|
qrencode \
|
|
readline \
|
|
sqlite \
|
|
terminal-notifier
|
|
|
|
- name: Run build matrix and unit tests
|
|
env:
|
|
OMEMO_BACKEND: libomemo-c
|
|
shell: bash
|
|
run: |
|
|
BREW="$(command -v brew)" ./scripts/build-configuration-matrix.sh meson
|