From 447dba941c1ba977509cda16de75573972730e0d Mon Sep 17 00:00:00 2001
From: Jan Breuer <jan.breuer@jaybee.cz>
Date: 周一, 16 1月 2023 20:46:21 +0800
Subject: [PATCH] Add github build actions

---
 .github/workflows/ubuntu.yml |   75 +++++++++++++++++++++++++++++++++++++
 1 files changed, 75 insertions(+), 0 deletions(-)

diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml
new file mode 100644
index 0000000..c65bd89
--- /dev/null
+++ b/.github/workflows/ubuntu.yml
@@ -0,0 +1,75 @@
+name: ubuntu-latest
+on: [push, pull_request]
+
+jobs:
+  build:
+    runs-on: ubuntu-latest
+    steps:
+    - uses: actions/checkout@v2
+
+    - name: allow_x86
+      run: sudo dpkg --add-architecture i386
+
+    - name: install_dependencies
+      run: sudo apt-get install libcunit1-dev clang gcc-multilib libcunit1-dev:i386
+
+    - name: make
+      run: make clean all
+
+    - name: clang_sanitize_address
+      env:
+        CC: clang
+        CFLAGS: -g -O0 -fsanitize=address
+        LDFLAGS: -g -fsanitize=address
+      run: make clean test
+
+    - name: clang_sanitize_address_device_errors
+      env:
+        CC: clang
+        CFLAGS: -g -O0 -fsanitize=address -DUSE_DEVICE_DEPENDENT_ERROR_INFORMATION=0
+        LDFLAGS: -g -fsanitize=address
+      run: make clean test
+      
+    - name: clang_sanitize_address_nomalloc
+      env:
+        CC: clang
+        CFLAGS: -g -O0 -fsanitize=address -DUSE_MEMORY_ALLOCATION_FREE=0
+        LDFLAGS: -g -fsanitize=address
+      run: make clean test
+
+    - name: gcc_x86
+      env:
+        CFLAGS: -m32
+        LDFLAGS: -m32
+      run: make clean test
+
+    - name: gcc_x86_c89
+      env:
+        CFLAGS: -m32 -std=c89
+        LDFLAGS: -m32
+      run: make clean test
+
+    - name: gcc_x86_c90
+      env:
+        CFLAGS: -m32 -std=c90
+        LDFLAGS: -m32
+      run: make clean test
+
+    - name: gcc_x86_c99
+      env:
+        CFLAGS: -m32 -std=c99
+        LDFLAGS: -m32
+      run: make clean test
+
+    - name: gcc_x86_gnu99
+      env:
+        CFLAGS: -m32 -std=gnu99
+        LDFLAGS: -m32
+      run: make clean test
+
+    - name: coverage
+      env:
+        CFLAGS: -fprofile-arcs -ftest-coverage
+        LDFLAGS: -lgcov
+      run: make clean all test
+     

--
Gitblit v1.9.1