summaryrefslogtreecommitdiffstats
path: root/.github/workflows/ci.yaml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/ci.yaml')
-rw-r--r--.github/workflows/ci.yaml48
1 files changed, 48 insertions, 0 deletions
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
new file mode 100644
index 0000000..83eb40c
--- /dev/null
+++ b/.github/workflows/ci.yaml
@@ -0,0 +1,48 @@
+---
+name: test
+on:
+ push:
+ pull_request:
+concurrency:
+ # Cancels pending runs when a PR gets updated.
+ group: ${{ github.head_ref || github.run_id }}-${{ github.actor }}
+ cancel-in-progress: true
+jobs:
+
+ build-with-gcc:
+ strategy:
+ matrix:
+ cfg: [debug, release]
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - run: sudo apt-get install -y build-essential
+ - run: make CFG=${{ matrix.cfg}} -j$(nproc)
+ - run: _${{ matrix.cfg }}/inotify-info
+
+ build-with-zig:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/cache@v4
+ with:
+ key: zig-sdk-and-cache-${{ hashFiles('.github/workflows/ci.yaml') }}
+ path: ~/.cache/zig
+ - run: |
+ wget --progress=dot:mega \
+ https://ziglang.org/download/0.11.0/zig-linux-$(uname -m)-0.11.0.tar.xz
+ tar -xJf zig-linux-*.tar.xz
+ rm zig-linux-*.xz
+ mv zig-linux-* zig-sdk
+ - run: |
+ make -j$(nproc) \
+ CC="zig-sdk/zig cc -target $(uname -m)-linux-musl" \
+ CXX="zig-sdk/zig c++ -target $(uname -m)-linux-musl"
+ - run: _release/inotify-info
+
+ build-with-docker:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - run: docker build -t inotify-info .
+ - run: docker run --rm --privileged -v /proc:/proc inotify-info