Skip to content

Release v3.6.0

Release v3.6.0 #67

Workflow file for this run

name: libvsync actions
on: [push, pull_request]
jobs:
###########################################################################
Run-Tests:
runs-on: ubuntu-latest
strategy:
matrix:
config: ["-DLIBVSYNC_ADDRESS_SANITIZER=on", "-DLIBVSYNC_ADDRESS_SANITIZER=off"]
dir: ["test", "verify"]
steps:
- name: Check out repository code
uses: actions/checkout@v4
- name: Configure Testing
run: cmake -S. -Bbuild ${{ matrix.config }}
- name: Build Tests
run: cmake --build build/${{ matrix.dir }}
- name: Run Tests
run: ctest --test-dir build/${{ matrix.dir }}
###########################################################################
Run-Checks:
runs-on: ubuntu-latest
container: ghcr.io/open-s4c/vsyncer-ci:sha-5f9eab426f2608a9fac2eabf15c7614c73a81736
strategy:
matrix:
test-dir: [ {p: "test", c: "spinlock"}, {p: "test", c: "quack"}, {p: "test", c: "queue"},
{p: "verify", c: "unbounded_queue"}, {p: "verify", c: "listset"} ,
{p: "verify", c: "stack"}, {p: "verify", c: "thread"}, {p: "verify", c: "simpleht"},
{p: "verify", c: "bitmap"}, {p: "verify", c: "treeset"}]
steps:
- name: Print vsyncer version
run: vsyncer version
- name: Check out repository code
uses: actions/checkout@v4
- name: Configure Verification
run: cmake -S. -Bbuild -DVSYNCER_CHECK=ON -DVSYNCER_CHECK_FULL=OFF
- name: Build Verification Clients for ${{ matrix.test-dir }}
run: cmake --build build/${{ matrix.test-dir.p }}/${{ matrix.test-dir.c }}
- name: Run Verification
run: ctest --test-dir build/${{ matrix.test-dir.p }}/${{ matrix.test-dir.c }} -R check* --output-on-failure
- name: Upload vsyncer report
uses: actions/upload-artifact@v4
if: always()
with:
name: check-report-${{ matrix.test-dir.c }}
path: build/logs
###########################################################################
Run-Format-Checks:
runs-on: ubuntu-latest
strategy:
matrix:
target: ["clang-format-apply", "vatomic-generate", "vatomic-test-generate"]
steps:
- name: Check out repository code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Configure
run: cmake -S. -Bbuild
- name: Run ${{ matrix.target }}
run: cmake --build build --target ${{ matrix.target }}
- name: Check things match expectation
run: cmake --build build --target diff-check ||
(echo "Run 'make ${{ matrix.target }}' and commit" && false)
###########################################################################
Generate-Report:
runs-on: ubuntu-latest
needs: Run-Checks
steps:
- uses: actions/download-artifact@v4
with:
pattern: check-report-*
path: build/logs
- name: merge reports
run: |
CSV_FILES=( $(find . -type f -name "*.csv") )
cat "${CSV_FILES[0]}" | head -n 1 > verification_report.csv
cat "${CSV_FILES[@]}" | grep -E --invert '^#' >> verification_report.csv
cat verification_report.csv
- name: upload final report
uses: actions/upload-artifact@v4
if: always()
with:
name: verification_report.csv
path: .