Something went wrong. Try again.
A breadth-first version of the UNIX find command tavianator.com/projects/bfs.html
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280name: CI
on: [push, pull_request]
concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
jobs: linux-x86: name: Linux (x86) runs-on: ubuntu-24.04
# Don't run on both pushes and pull requests if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Install dependencies run: | sudo dpkg --add-architecture i386 sudo apt-get update -y sudo apt-get install -y \ mandoc \ gcc-multilib \ libgcc-s1:i386 \ acl \ libacl1-dev \ libacl1:i386 \ attr \ libcap2-bin \ libcap-dev \ libcap2:i386 \ libonig-dev \ libonig5:i386 \ liburing-dev # Ubuntu doesn't let you install the -dev packages for both amd64 and # i386 at once, so we make our own symlinks to fix -m32 -lacl -l... sudo ln -s libacl.so.1 /lib/i386-linux-gnu/libacl.so sudo ln -s libcap.so.2 /lib/i386-linux-gnu/libcap.so sudo ln -s libonig.so.5 /lib/i386-linux-gnu/libonig.so
- name: Run tests run: | .github/diag.sh make -j$(nproc) distcheck
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: linux-x86-config.log path: distcheck-*/gen/config.log
linux-arm: name: Linux (Arm64) runs-on: ubuntu-24.04-arm
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Install dependencies run: | sudo apt-get update -y sudo apt-get install -y \ mandoc \ acl \ libacl1-dev \ attr \ libcap2-bin \ libcap-dev \ libonig-dev \ liburing-dev
- name: Run tests run: | .github/diag.sh make -j$(nproc) distcheck
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: linux-arm-config.log path: distcheck-*/gen/config.log
macos: name: macOS runs-on: macos-26
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Install dependencies run: | brew install bash
- name: Run tests run: | jobs=$(sysctl -n hw.ncpu) .github/diag.sh make -j$jobs distcheck
freebsd: name: FreeBSD runs-on: ubuntu-24.04
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Start VM uses: cross-platform-actions/action@24ef01df165c76df1ed2b9f9e9212e78dc2fc963 # v1.4.0 with: operating_system: freebsd version: "15.1"
- name: Install dependencies shell: cpa.sh {0} run: | sudo pkg install -y \ bash \ oniguruma \ pkgconf sudo mount -t fdescfs none /dev/fd
- name: Run tests shell: cpa.sh {0} run: | .github/diag.sh make -j$(nproc) distcheck
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: freebsd-config.log path: distcheck-*/gen/config.log
openbsd: name: OpenBSD runs-on: ubuntu-24.04
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Start VM uses: cross-platform-actions/action@24ef01df165c76df1ed2b9f9e9212e78dc2fc963 # v1.4.0 with: operating_system: openbsd version: "7.9"
- name: Install dependencies shell: cpa.sh {0} run: | sudo pkg_add \ bash \ gmake \ oniguruma
- name: Run tests shell: cpa.sh {0} run: | jobs=$(sysctl -n hw.ncpu) ./configure MAKE=gmake .github/diag.sh gmake -j$jobs check TEST_FLAGS="--sudo --verbose=skipped"
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: openbsd-config.log path: gen/config.log
netbsd: name: NetBSD runs-on: ubuntu-24.04
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Start VM uses: cross-platform-actions/action@24ef01df165c76df1ed2b9f9e9212e78dc2fc963 # v1.4.0 with: operating_system: netbsd version: "11.0"
- name: Install dependencies shell: cpa.sh {0} run: | sudo pkgin -y install \ bash \ oniguruma \ pkgconf
- name: Run tests shell: cpa.sh {0} run: | PATH="/sbin:/usr/sbin:$PATH" jobs=$(sysctl -n hw.ncpu) ./configure .github/diag.sh make -j$jobs check TEST_FLAGS="--sudo --verbose=skipped"
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: netbsd-config.log path: gen/config.log
dragonflybsd: name: DragonFly BSD runs-on: ubuntu-24.04
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Start VM uses: cross-platform-actions/action@24ef01df165c76df1ed2b9f9e9212e78dc2fc963 # v1.4.0 with: operating_system: dragonflybsd version: "6.4.2"
- name: Install dependencies shell: cpa.sh {0} run: | sudo pkg install -y \ bash \ llvm18 \ oniguruma \ pkgconf \ sudo
- name: Run tests shell: cpa.sh {0} run: | jobs=$(sysctl -n hw.ncpu) ./configure CC=clang18 .github/diag.sh make -j$jobs check TEST_FLAGS="--sudo --verbose=skipped"
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: dragonfly-config.log path: gen/config.log
omnios: name: OmniOS runs-on: ubuntu-24.04
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Start VM uses: cross-platform-actions/action@24ef01df165c76df1ed2b9f9e9212e78dc2fc963 # v1.4.0 with: operating_system: omnios version: "r151058"
- name: Install dependencies shell: cpa.sh {0} run: | sudo pkg install \ bash \ build-essential \ gnu-make \ onig
- name: Run tests shell: cpa.sh {0} run: | PATH="/usr/xpg4/bin:$PATH" jobs=$(getconf NPROCESSORS_ONLN) ./configure MAKE=gmake .github/diag.sh gmake -j$jobs check TEST_FLAGS="--sudo --verbose=skipped"
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: omnios-config.log path: gen/config.log