Skip to content

Merge branch 'master' into portable #86

Merge branch 'master' into portable

Merge branch 'master' into portable #86

Workflow file for this run

name: build
on: push
jobs:
ubuntu:
strategy:
fail-fast: false
matrix:
os: [ubuntu-20.04, ubuntu-22.04]
runs-on: ${{matrix.os}}
steps:
- name: checkout
uses: actions/checkout@v4
- name: apt-get
run: |
sudo apt-get update
sudo apt-get install build-essential libprotobuf-c-dev libsqlite3-dev \
libssl-dev pkg-config protobuf-c-compiler
- name: build
run: make
- name: run
# Run with bogus input files
run: |
set +e
./sigbak check -p sigbak.c sigbak.c
test $? = 1
macos:
strategy:
fail-fast: false
matrix:
os: [macos-12, macos-13, macos-14]
ssl: [libressl, openssl@1.1, openssl@3.0, openssl@3]
runs-on: ${{matrix.os}}
steps:
- name: checkout
uses: actions/checkout@v4
- name: brew
# Also install make because Xcode provides GNU make 3.81 which is too old
run: |
brew update
brew install make pkg-config protobuf-c ${{matrix.ssl}} || true
- name: build
# Set PKG_CONFIG_PATH as per the instructions from "brew install" and
# https://docs.brew.sh/How-to-Build-Software-Outside-Homebrew-with-Homebrew-keg-only-Dependencies.
# Set PROTOC to work around broken protobuf-c formula.
run: |
PKG_CONFIG_PATH=$(brew --prefix ${{matrix.ssl}})/lib/pkgconfig \
PROTOC=protoc gmake
- name: run
# Run with bogus input files
run: |
set +e
./sigbak check -p sigbak.c sigbak.c
test $? = 1
dragonfly:
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v4
- name: dragonflybsd-vm
uses: vmactions/dragonflybsd-vm@v1
with:
usesh: true
prepare: pkg install -y openssl pkgconf protobuf-c sqlite3
run: |
uname -a
make
set +e
./sigbak check -p sigbak.c sigbak.c
test $? = 1
freebsd:
strategy:
fail-fast: false
matrix:
ssl: [libressl, openssl]
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v4
- name: freebsd-vm
uses: vmactions/freebsd-vm@v1
with:
usesh: true
prepare: pkg install -y pkgconf protobuf-c sqlite3 ${{matrix.ssl}}
run: |
uname -a
make
set +e
./sigbak check -p sigbak.c sigbak.c
test $? = 1
netbsd:
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v4
- name: netbsd-vm
uses: vmactions/netbsd-vm@v1
with:
prepare: pkg_add pkg-config protobuf-c sqlite3
run: |
uname -a
make
set +e
./sigbak check -p sigbak.c sigbak.c
test $? = 1
solaris:
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v4
- name: solaris-vm
uses: vmactions/solaris-vm@v1
with:
prepare: |
pkgutil -iy gcc5core gmake libprotobuf_c_dev libsqlite3_dev \
libssl_dev pkgconfig
run: |
uname -a
CC=gcc gmake
set +e
./sigbak check -p sigbak.c sigbak.c
test $? = 1
cygwin:
runs-on: windows-latest
steps:
- name: git-config
run: git config --global core.autocrlf input
- name: checkout
uses: actions/checkout@v4
- name: cygwin-install-action
uses: cygwin/cygwin-install-action@master
with:
packages: >
curl gcc-core gcc-g++ libprotobuf-devel libsqlite3-devel libssl-devel
make pkg-config
- name: protobuf-c
shell: C:\cygwin\bin\bash.exe -elo igncr -o pipefail '{0}'
run: |
VERSION=1.4.1
curl -LO https://github.com/protobuf-c/protobuf-c/releases/download/v$VERSION/protobuf-c-$VERSION.tar.gz
tar fxz protobuf-c-$VERSION.tar.gz
cd protobuf-c-$VERSION
./configure
make install
- name: sigbak
shell: C:\cygwin\bin\bash.exe -elo igncr -o pipefail '{0}'
run: |
uname -a
cd "$GITHUB_WORKSPACE"
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig make install
set +e
sigbak check -p sigbak.c sigbak.c
test $? = 1
wsl:
runs-on: windows-latest
steps:
- name: git-config
run: git config --global core.autocrlf input
- name: checkout
uses: actions/checkout@v4
- name: setup-wsl
uses: Vampire/setup-wsl@v3
with:
additional-packages: >
build-essential libprotobuf-c-dev libsqlite3-dev libssl-dev
pkg-config protobuf-c-compiler
- name: sigbak
shell: wsl-bash {0}
env:
WSLENV: GITHUB_WORKSPACE/p
run: |
uname -a
cd "$GITHUB_WORKSPACE"
make
set +e
./sigbak check -p sigbak.c sigbak.c
test $? = 1