mirror of
https://github.com/amadvance/snapraid.git
synced 2026-10-26 10:51:54 -04:00
114 lines
3.1 KiB
YAML
114 lines
3.1 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 -j$(sysctl -n hw.ncpu)
|
|
- run: make dist check
|
|
build-linux:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v5
|
|
- run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y \
|
|
linux-modules-extra-$(uname -r) \
|
|
zfsutils-linux
|
|
sudo modprobe zfs
|
|
zfs version
|
|
- run: autoreconf -i
|
|
- run: ./configure --enable-warning-as-error
|
|
- run: make all -j$(nproc)
|
|
- run: make snapcheck_btrfs
|
|
- run: make snapcheck_zfs
|
|
- run: make distcheck -j$(nproc)
|
|
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 -j$(nproc)
|
|
- 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 -j$(nproc)
|
|
- run: make snapcheck_ntfs
|
|
- run: make 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 -j$(sysctl -n hw.ncpu)
|
|
gmake dist check
|
|
build-musl:
|
|
runs-on: ubuntu-latest
|
|
container: alpine:latest
|
|
steps:
|
|
- uses: actions/checkout@v5
|
|
- run: |
|
|
apk add --no-cache \
|
|
autoconf \
|
|
automake \
|
|
build-base \
|
|
git \
|
|
linux-headers
|
|
- run: autoreconf -i
|
|
- run: ./configure --enable-warning-as-error
|
|
- run: make all -j$(nproc)
|
|
- run: make dist check
|