Skip to content

.github: run ci on net and freebsd too #515

.github: run ci on net and freebsd too

.github: run ci on net and freebsd too #515

Workflow file for this run

name: CI
on:
- push
jobs:
test:
strategy:
matrix:
arch:
#- i386
- x86_64
runs-on: ubuntu-latest
container:
image: gottox/sqsh-build:${{ matrix.arch }}
options: --privileged
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: configure
run: |
apk add zlib-dev lz4-dev xz-dev zstd-dev
CC=gcc meson setup /tmp/build \
-Dwerror=true \
-Dcurl=enabled \
-Dzlib=enabled \
-Dlz4=enabled \
-Dlzma=enabled \
-Dzstd=enabled \
-Dthreads=enabled \
-Dfuse-old=enabled \
-Dtest=extended \
-Ddoc=false
- name: test
run: |
ninja -C /tmp/build test
plain-build:
runs-on: ubuntu-latest
container: gottox/sqsh-build:${{ matrix.arch }}
strategy:
matrix:
cc:
- gcc
- clang
arch:
#- i386
- x86_64
steps:
- uses: actions/checkout@v3
- name: build
run: |
CC=${{ matrix.cc }}
apk add zlib-dev
$CC -o sqsh-ls tools/common.c tools/ls.c $(find lib -name '*.c') -DCONFIG_ZLIB -L/lib -lz
build:
runs-on: ubuntu-latest
container: gottox/sqsh-build:${{ matrix.arch }}
strategy:
matrix:
cc:
- gcc
- clang
feature:
- enabled
- disabled
arch:
#- i386
- x86_64
steps:
- uses: actions/checkout@v3
- name: configure
run: |
meson wrap update-db
CC=${{ matrix.cc }} meson setup /tmp/build \
-Dwerror=false \
-Dcurl=${{ matrix.feature }} \
-Dzlib=${{ matrix.feature }} \
-Dlz4=${{ matrix.feature }} \
-Dlzma=${{ matrix.feature }} \
-Dzstd=${{ matrix.feature }} \
-Dfuse-old=${{ matrix.feature }} \
-Dtest=false \
-Ddoc=false
- name: build
run: |
ninja -C /tmp/build
build-cross:
runs-on: ubuntu-latest
strategy:
matrix:
os:
- name: freebsd
version: '13.2'
install_cmd: pkg install -fy
- name: openbsd
version: '7.3'
install_cmd: pkg_add
- name: netbsd
version: '9.3'
install_cmd: >-
PKG_PATH=https://cdn.netbsd.org/pub/pkgsrc/packages/NetBSD/x86_64/9.3/All/
/usr/pkg/sbin/pkg_add
steps:
- uses: actions/checkout@v3
- uses: "cross-platform-actions/action@v0.15.0"
continue-on-error: true
with:
operating_system: ${{ matrix.os.name }}
architecture: x86-64
version: ${{ matrix.os.version }}
run: |
sudo ${{ matrix.os.install_cmd }} git meson squashfs-tools curl lz4 xz zstd
CC=clang meson setup /tmp/build \
-Dwerror=true \
-Dcurl=enabled \
-Dzlib=enabled \
-Dlz4=enabled \
-Dlzma=enabled \
-Dzstd=enabled \
-Dfuse-old=enabled \
-Dfuse=disabled \
-Dtest=extended \
-Ddoc=false
# fuse needs root privileges on OpenBSD
sudo meson test -C /tmp/build -t 5
doxygen:
needs:
- build
- build-cross
- plain-build
- test
runs-on: ubuntu-latest
container: gottox/sqsh-build:latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: configure
run: |
git config --global --add safe.directory $PWD
CC=clang meson setup /tmp/build \
-Dwerror=true \
-Dcurl=disabled \
-Dzlib=disabled \
-Dlz4=disabled\
-Dlzma=disabled \
-Dzstd=disabled \
-Dtest=false \
-Ddoc=true
- name: generate
run: |
cd /tmp/build
meson compile doc
- name: deploy
uses: peaceiris/actions-gh-pages@v3
if: ${{ github.ref_type == 'tag' }}
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: /tmp/build/doc/html