Skip to content

Commit 017ae72

Browse files
committed
Add NetBSD 10 workflow
1 parent 6b00fcf commit 017ae72

File tree

2 files changed

+99
-95
lines changed

2 files changed

+99
-95
lines changed

.github/workflows/netbsd.yml

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
name: NetBSD CI
2+
3+
# Triggers the workflow on push or pull request or on demand
4+
on:
5+
workflow_dispatch:
6+
push:
7+
pull_request:
8+
branches: [ develop ]
9+
paths-ignore:
10+
- '.github/CODEOWNERS'
11+
- '.github/FUNDING.yml'
12+
- 'doc/**'
13+
- 'release_docs/**'
14+
- 'ACKNOWLEDGEMENTS'
15+
- 'LICENSE**'
16+
- '**.md'
17+
18+
# Using concurrency to cancel any in-progress job or run
19+
concurrency:
20+
group: ${{ github.workflow }}-${{ github.head_ref && github.ref || github.run_id }}
21+
cancel-in-progress: true
22+
23+
permissions:
24+
contents: read
25+
26+
jobs:
27+
netbsd-build-and-test:
28+
runs-on: ubuntu-latest
29+
name: NetBSD ${{ matrix.netbsd-version }} Build and Test
30+
31+
# Don't run the action if the commit message says to skip CI
32+
if: "!contains(github.event.head_commit.message, 'skip-ci')"
33+
34+
strategy:
35+
fail-fast: false
36+
matrix:
37+
netbsd-version: ['10.1']
38+
39+
steps:
40+
- name: Checkout repository
41+
uses: actions/checkout@v5
42+
43+
- name: Build and test on NetBSD
44+
uses: vmactions/netbsd-vm@v1
45+
with:
46+
release: ${{ matrix.netbsd-version }}
47+
usesh: true
48+
prepare: |
49+
/usr/sbin/pkg_add -v pkgin
50+
pkgin -y update
51+
pkgin -y install cmake gmake pkgconf curl gcc13
52+
echo "Package installation completed with exit code: $?"
53+
run: |
54+
set -e
55+
56+
# Set up library path for gcc13
57+
export LD_LIBRARY_PATH=/usr/pkg/gcc13/lib:$LD_LIBRARY_PATH
58+
59+
# Get number of processors (NetBSD uses sysctl in /sbin)
60+
NPROC=$(/sbin/sysctl -n hw.ncpu)
61+
echo "Number of processors: $NPROC"
62+
63+
# Configure the build
64+
mkdir build
65+
cd build
66+
cmake -C ../config/cmake/cacheinit.cmake \
67+
--log-level=VERBOSE \
68+
-DCMAKE_BUILD_TYPE=Release \
69+
-DCMAKE_C_COMPILER=/usr/pkg/gcc13/bin/gcc \
70+
-DCMAKE_CXX_COMPILER=/usr/pkg/gcc13/bin/g++ \
71+
-DCMAKE_MAKE_PROGRAM=/usr/pkg/bin/gmake \
72+
-DBUILD_SHARED_LIBS:BOOL=ON \
73+
-DHDF5_ENABLE_ALL_WARNINGS:BOOL=ON \
74+
-DHDF5_ENABLE_PARALLEL:BOOL=OFF \
75+
-DHDF5_BUILD_CPP_LIB:BOOL=OFF \
76+
-DHDF5_BUILD_FORTRAN:BOOL=OFF \
77+
-DHDF5_BUILD_JAVA:BOOL=OFF \
78+
-DHDF5_BUILD_DOC:BOOL=OFF \
79+
-DHDF5_BUILD_HL_LIB:BOOL=OFF \
80+
-DHDF5_ENABLE_ZLIB_SUPPORT:BOOL=ON \
81+
-DHDF5_ENABLE_SZIP_SUPPORT:BOOL=ON \
82+
-DLIBAEC_USE_LOCALCONTENT:BOOL=OFF \
83+
-DZLIB_USE_LOCALCONTENT:BOOL=OFF \
84+
-DHDF5_TEST_API:BOOL=ON \
85+
-DHDF5_TEST_SHELL_SCRIPTS:BOOL=OFF \
86+
-DENABLE_EXTENDED_TESTS:BOOL=OFF \
87+
..
88+
echo ""
89+
90+
# Build
91+
cmake --build . --parallel $NPROC
92+
echo ""
93+
94+
# TODO: Later threadsafe tests (rwlock 2+) timeout - should be investigated
95+
# Skipping ttsafe for now to test qsort_r fallback
96+
97+
# Run tests (excluding ttsafe which times out)
98+
ctest . --parallel $NPROC -V -E ttsafe
99+
echo ""

.github/workflows/test-qsort-fallback.yml

Lines changed: 0 additions & 95 deletions
This file was deleted.

0 commit comments

Comments
 (0)