snapraid/.github/workflows/build.yml

85 lines
2.3 KiB
YAML

name: Build
permissions:
contents: read
on:
push:
branches: [ "master", "stable" ]
pull_request:
branches: [ "master", "stable" ]
jobs:
build-mac:
runs-on: macos-latest
steps:
- uses: actions/checkout@v5
- run: brew install automake
- run: autoreconf -i
- run: ./configure --enable-warning-as-error
- run: cd raid/test && make all test
- run: make all dist check
build-linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- run: autoreconf -i
- run: ./configure --enable-warning-as-error
- run: make all snapcheck
- run: make distcheck
build-arm32:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- run: |
sudo apt-get update
sudo apt-get install -y \
gcc-arm-linux-gnueabihf \
libc6-dev-armhf-cross \
qemu-user
- run: autoreconf -i
- run: |
CC=arm-linux-gnueabihf-gcc \
CFLAGS="-O2 -march=armv7-a -mfpu=neon -mfloat-abi=hard" \
TARGET_RUNNER="qemu-arm -cpu cortex-a15 -L /usr/arm-linux-gnueabihf" \
./configure \
--build="$(./config.guess)" \
--host=arm-linux-gnueabihf \
--enable-warning-as-error
- run: make all
- run: |
file snapraid
arm-linux-gnueabihf-readelf -h snapraid
- run: |
qemu-arm \
-cpu cortex-a15 \
-L /usr/arm-linux-gnueabihf \
./snapraid -V
- run: make check SHORTCHECK=1
build-win:
runs-on: windows-latest
defaults:
run:
shell: msys2 {0}
steps:
- uses: actions/checkout@v5
- uses: msys2/setup-msys2@v2
with:
msystem: MINGW64
update: true
install: mingw-w64-x86_64-gcc autoconf automake make
- run: autoreconf -i
- run: ./configure --enable-warning-as-error
- run: make all dist check
build-freebsd:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: vmactions/freebsd-vm@v1
with:
usesh: true
prepare: |
pkg install -y autoconf automake gmake
run: |
autoreconf -i
./configure --enable-warning-as-error MAKE=gmake
gmake all dist check