@@ -15,17 +15,19 @@ jobs:
1515 os : ubuntu-latest
1616 - name : No FUSE
1717 os : ubuntu-latest
18- disable_fuse : " --disable-fuse"
18+ configure_args : " --disable-fuse"
1919 check_features : demo
2020 - name : distcheck
2121 os : ubuntu-latest
2222 - name : Old distro
23- os : ubuntu-20.04
24- - name : Mac
25- os : macos-latest
23+ os : ubuntu-22.04
24+ - name : macFUSE
25+ os : macos-15
26+ - name : FUSE-T
27+ os : macos-15
2628 env :
2729 CHECK_FEATURES : ${{ matrix.check_features }}
28- DISABLE_FUSE : ${{ matrix.disable_fuse }}
30+ CONFIGURE_ARGS : ${{ matrix.configure_args }}
2931 steps :
3032 - name : checkout
3133 uses : actions/checkout@v2
@@ -34,53 +36,47 @@ jobs:
3436 sudo apt-get update &&
3537 sudo apt-get install -y automake autoconf libtool pkgconf
3638 zlib1g-dev liblzo2-dev liblzma-dev liblz4-dev libzstd-dev
37- fio
39+ squashfs-tools fio
3840 if : runner.os == 'Linux'
3941 - name : apt fuse 2
4042 run : sudo apt-get install -y libfuse-dev fuse
41- if : matrix.os == 'ubuntu-20 .04'
43+ if : matrix.os == 'ubuntu-22 .04'
4244 - name : apt fuse 3
4345 run : sudo apt-get install -y libfuse3-dev fuse3
4446 if : matrix.os == 'ubuntu-latest'
4547 - name : homebrew dependencies
4648 env :
4749 HOMEBREW_NO_AUTO_UPDATE : 1
4850 run : |
49- # Keep these until https://github.com/Homebrew/homebrew-core/pull/194885 is available by default
50- brew remove pkg-config
51- brew update
52-
53- brew install autoconf automake libtool pkgconf squashfs coreutils
54- brew install --cask macfuse
51+ brew install autoconf automake libtool squashfs coreutils
52+ echo "LDFLAGS=-L$(brew --prefix)/lib" >> $GITHUB_ENV
53+ echo "CPPFLAGS=-I$(brew --prefix)/include" >> $GITHUB_ENV
5554 if : runner.os == 'macOS'
55+ - name : macfuse
56+ run : brew install --cask macfuse
57+ if : matrix.name == 'macFUSE'
58+ - name : fuse-t
59+ run : |
60+ find /usr/local -ls
61+ brew tap macos-fuse-t/homebrew-cask
62+ brew install fuse-t
63+ if : matrix.name == 'FUSE-T'
5664 - name : configure
5765 run : |
5866 ./autogen.sh
59- CPPFLAGS="-Werror" ./configure $DISABLE_FUSE
67+ env CPPFLAGS="-Werror $CPPFLAGS" ./configure $CONFIGURE_ARGS
68+ - name : check discovered features
69+ run : diff -u ci/expected-features/${CHECK_FEATURES:-all} ci/features
70+ if : matrix.name != 'distcheck'
6071 - name : build
61- run : |
62- make -j2 V=1
72+ run : make -j2 V=1
6373 if : matrix.name != 'distcheck'
6474 - name : test
65- run : |
66- make check
67- diff -u ci/expected-features/${CHECK_FEATURES:-all} ci/features
68- if : runner.os != 'macOS' && matrix.name != 'distcheck'
69- - name : test mac
70- run : |
71- # On macOS loading the macfuse extension is needed. This
72- # command should load it without rebooting, except System
73- # Integrity Protection disallows it, so the tests get skipped
74- # there. This command came from
75- # https://github.com/actions/runner-images/issues/4731
76- if sudo kextload /Library/Filesystems/macfuse.fs/Contents/Extensions/$(sw_vers -productVersion|cut -d. -f1)/macfuse.kext; then
77- make check
78- diff -u ci/expected-features/${CHECK_FEATURES:-all} ci/features
79- fi
80- if : runner.os == 'macOS'
75+ run : make check
76+ # Can't accept security warning to allow macFUSE kext to work in CI
77+ if : matrix.name != 'macFUSE' && matrix.name != 'distcheck'
8178 - name : distcheck
82- run : |
83- make distcheck
79+ run : make distcheck
8480 if : matrix.name == 'distcheck'
8581 - name : install
8682 run : sudo make install
@@ -106,7 +102,7 @@ jobs:
106102 shell : powershell
107103 run : choco install -y squashfs
108104 - name : setup msbuild
109- uses : microsoft/setup-msbuild@v1.0.2
105+ uses : microsoft/setup-msbuild@v2
110106 - name : checkout
111107 uses : actions/checkout@v2
112108 - name : generate header
0 commit comments