diff --git a/.github/workflows/haiku.yaml b/.github/workflows/haiku.yaml new file mode 100644 index 000000000..f738e630e --- /dev/null +++ b/.github/workflows/haiku.yaml @@ -0,0 +1,38 @@ +name: "haiku-ci" +on: [push, pull_request] + +jobs: + build-haiku: + timeout-minutes: 60 + runs-on: ${{ matrix.config.runner }} + name: build-${{ matrix.config.os }}-${{ matrix.config.version }}-${{ matrix.config.architecture }} + + strategy: + fail-fast: false + matrix: + config: + # The OS versions supported are specific to the version of the action + # https://github.com/cross-platform-actions/action/blob/master/changelog.md + - { os: haiku, version: 'r1beta5', runner: 'ubuntu-latest', architecture: 'x86-64' } + - { os: haiku, version: 'r1beta5', runner: 'ubuntu-latest', architecture: 'x86' } + - { os: haiku, version: 'hrev58647', runner: 'ubuntu-latest', architecture: 'x86-64' } + - { os: haiku, version: 'hrev58647', runner: 'ubuntu-latest', architecture: 'x86' } + steps: + - uses: actions/checkout@v4 + + - uses: korli/action@v0.25.0-haiku2 + with: + operating_system: ${{ matrix.config.os }} + version: ${{ matrix.config.version }} + architecture: ${{ matrix.config.architecture }} + run: | + ssh user@localhost "chmod 777 /tmp/; pkgman update -y cmd:git cmd:autoconf cmd:cmake cmd:make cmd:clang_17 cmd:ld.lld>=17" && + git -C .. clone --depth 3 --branch=master --quiet https://github.com/the-tcpdump-group/libpcap.git && + export LDFLAGS="-Wl,--disable-new-dtags" && + if [[ `uname -m` == BePC ]]; then + ssh user@localhost "pkgman update -y cmd:gcc_x86 cmd:pkg_config_x86 devel:libpcap_x86 gcc_x86_syslibs_devel" && + setarch x86 ./build_matrix.sh + else + ssh user@localhost "pkgman update -y cmd:gcc cmd:pkg_config devel:libpcap gcc_syslibs_devel" && + ./build_matrix.sh + fi