Merge branch 'main' into ci #90
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: C/C++ CI | |
| on: | |
| push: | |
| branches: [ "main", "ci" ] | |
| pull_request: | |
| branches: [ "main", "ci" ] | |
| jobs: | |
| build-ubuntu: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - name: Install libfuse3 and headers | |
| run: | | |
| sudo apt update | |
| sudo apt install libfuse3-dev | |
| - name: autogen | |
| run: ./autogen.sh | |
| - name: configure | |
| run: ./configure CFLAGS='-Wall -Wextra' | |
| - name: make | |
| run: make | |
| - name: make check | |
| run: make check | |
| - name: make distcheck | |
| run: make distcheck | |
| build-ubuntu-noble-kernel: | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - name: make | |
| run: cd targets/linux && make | |
| build-ubuntu-jammy-kernel: | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - name: make | |
| run: cd targets/linux && make | |
| build-macos: | |
| runs-on: macos-latest | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - name: Install autotools, pkg-config and macfuse | |
| run: | | |
| brew install autoconf automake libtool pkg-config macfuse | |
| - name: autogen | |
| run: ./autogen.sh | |
| - name: configure | |
| run: ./configure --disable-fuse3 CFLAGS='-Wall -Wextra' | |
| - name: make | |
| run: make | |
| - name: make check | |
| run: make check | |
| - name: make distcheck | |
| run: make distcheck DISTCHECK_CONFIGURE_FLAGS='--disable-fuse3' | |
| build-mingw-w64-i686: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - name: Install mingw-w64 and libfuse-dev packages | |
| run: | | |
| sudo apt update | |
| sudo apt install mingw-w64 libfuse-dev | |
| - name: Download and extract Dokan library | |
| run: curl -L -O 'https://github.com/dokan-dev/dokany/releases/download/v2.0.6.1000/dokan.zip' && ( mkdir dokan && cd dokan && unzip ../dokan.zip ) | |
| - name: autogen | |
| run: ./autogen.sh | |
| - name: configure | |
| run: ./configure --host=i686-w64-mingw32 --disable-shared CFLAGS="-Wall -Wextra -I`pwd`/dokan/Win32/Msys2/include/fuse" LDFLAGS="-L`pwd`/dokan/Win32/Release -ldokanfuse2" | |
| - name: make | |
| run: make | |
| - name: make check | |
| run: make check | |
| - name: make distcheck | |
| run: make distcheck | |
| build-mingw-w64-x86_64: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - name: Install mingw-w64 and libfuse-dev packages | |
| run: | | |
| sudo apt update | |
| sudo apt install mingw-w64 libfuse-dev | |
| - name: Download and extract Dokan library | |
| run: curl -L -O 'https://github.com/dokan-dev/dokany/releases/download/v2.0.6.1000/dokan.zip' && ( mkdir dokan && cd dokan && unzip ../dokan.zip ) | |
| - name: autogen | |
| run: ./autogen.sh | |
| - name: configure | |
| run: ./configure --host=x86_64-w64-mingw32 --disable-shared CFLAGS="-Wall -Wextra -I`pwd`/dokan/x64/Msys2/include/fuse" LDFLAGS="-L`pwd`/dokan/x64/Release -ldokanfuse2" | |
| - name: make | |
| run: make | |
| - name: make check | |
| run: make check | |
| - name: make distcheck | |
| run: make distcheck | |
| build-freebsd: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Build in FreeBSD | |
| id: test | |
| uses: vmactions/freebsd-vm@v1 | |
| with: | |
| usesh: true | |
| prepare: | | |
| pkg install -y fusefs-libs autoconf automake libtool pkgconf | |
| run: | | |
| ./autogen.sh | |
| ./configure CFLAGS='-Wall -Wextra' | |
| make | |
| make check | |
| make distcheck | |
| build-netbsd: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Build in NetBSD | |
| id: build | |
| uses: vmactions/netbsd-vm@v1 | |
| with: | |
| usesh: true | |
| prepare: | | |
| /usr/sbin/pkg_add autoconf automake libtool pkgconf | |
| run: | | |
| ./autogen.sh | |
| ./configure CFLAGS='-Wall -Wextra' | |
| make | |
| make check | |
| make distcheck | |
| build-openbsd: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Build in OpenBSD | |
| id: test | |
| uses: vmactions/openbsd-vm@v1 | |
| with: | |
| usesh: true | |
| prepare: | | |
| pkg_add autoconf-2.72p0 automake-1.17 libtool pkgconf | |
| run: | | |
| AUTOCONF_VERSION=2.72 AUTOMAKE_VERSION=1.17 ./autogen.sh | |
| ./configure CFLAGS='-Wall -Wextra' | |
| make | |
| make check | |
| make distcheck | |
| build-dragonflybsd: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Build in DragonFly BSD | |
| id: build | |
| uses: vmactions/dragonflybsd-vm@v1 | |
| with: | |
| usesh: true | |
| prepare: | | |
| pkg install -y fusefs-libs autoconf autoconf-switch automake libtool pkgconf | |
| run: | | |
| ./autogen.sh | |
| ./configure CFLAGS='-Wall -Wextra' | |
| make | |
| make check | |
| make distcheck | |
| build-openindiana: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Build in OpenIndiana | |
| id: build | |
| uses: vmactions/openindiana-vm@v0 | |
| with: | |
| usesh: true | |
| prepare: | | |
| pkg install gcc-14 make autoconf automake libtool pkg-config library/libfuse | |
| run: | | |
| ./autogen.sh | |
| chmod a+x install-sh | |
| ./configure CFLAGS='-Wall -Wextra' | |
| make | |
| make check | |
| make distcheck | |
| build-omnios: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Build in OmniOS | |
| id: build | |
| uses: vmactions/omnios-vm@v1 | |
| with: | |
| usesh: true | |
| prepare: | | |
| pkg install build-essential autoconf automake libtool pkg-config | |
| pkg set-publisher -G '*' -g https://sfe.opencsw.org/localhostomnios localhostomnios | |
| pkg install libfuse | |
| run: | | |
| ./autogen.sh | |
| ./configure CFLAGS='-Wall -Wextra' | |
| make | |
| make check | |
| make distcheck | |
| build-solaris: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Build in Solaris | |
| id: build | |
| uses: vmactions/solaris-vm@v1 | |
| with: | |
| usesh: true | |
| prepare: | | |
| pkg install base-developer-utilities gcc-c autoconf automake libtool pkg-config library/libfuse | |
| run: | | |
| ./autogen.sh | |
| ./configure CFLAGS='-Wall -Wextra' | |
| make | |
| make check | |
| make distcheck |