public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/elfix:master commit in: .github/workflows/
@ 2023-01-10  5:21 Sam James
  0 siblings, 0 replies; only message in thread
From: Sam James @ 2023-01-10  5:21 UTC (permalink / raw
  To: gentoo-commits

commit:     af4026c31eb079618f67a62b2f59faae31850e5b
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Jan  6 06:05:24 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Jan 10 05:21:40 2023 +0000
URL:        https://gitweb.gentoo.org/proj/elfix.git/commit/?id=af4026c3

CI: add Github Actions

Signed-off-by: Sam James <sam <AT> gentoo.org>
Closes: https://github.com/gentoo/elfix/pull/3
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .github/workflows/build-test-ci.yml | 85 +++++++++++++++++++++++++++++++++++++
 1 file changed, 85 insertions(+)

diff --git a/.github/workflows/build-test-ci.yml b/.github/workflows/build-test-ci.yml
new file mode 100644
index 0000000..b2f2bf0
--- /dev/null
+++ b/.github/workflows/build-test-ci.yml
@@ -0,0 +1,85 @@
+# GitHub actions workflow.
+# https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions
+
+name: Build+Test CI
+
+#on:
+#  push:
+#    branches: [master, gh-actions]
+#    tags: [v*]
+#  pull_request:
+#    types: [created, opened, edited, push]
+
+on: [pull_request, push]
+
+jobs:
+  make:
+    strategy:
+      matrix:
+        os: [ubuntu-latest]
+        cc: [gcc, clang]
+        sanitize: [none, asan, ubsan]
+      fail-fast: false
+    runs-on: ${{ matrix.os }}
+    env:
+      CC: ${{ matrix.cc }}
+      SANITIZER: ${{ matrix.sanitize }}
+      ASAN_OPTIONS: "detect_leaks=0" # known leaks in install-xattr
+      UBSAN_OPTIONS: "print_stacktrace=1:halt_on_error=1"
+    steps:
+    - name: Install dependencies
+      run: |
+        sudo apt-get update -qq
+        sudo apt-get install build-essential gcc clang attr libattr1-dev autotools-dev automake autoconf libelf-dev libtool -qy
+
+        case "$SANITIZER" in
+          none)
+             ;;
+          asan)
+             echo CFLAGS="-O2 -ggdb3 -fsanitize=address" >> $GITHUB_ENV
+             echo CXXFLAGS="-O2 -ggdb3 -fsanitize=address" >> $GITHUB_ENV
+             echo LDFLAGS="-fsanitize=address" >> $GITHUB_ENV
+             ;;
+          ubsan)
+             echo CFLAGS="-O2 -ggdb3 -fsanitize=undefined" >> $GITHUB_ENV
+             echo CXXFLAGS="-O2 -ggdb3 -fsanitize=undefined" >> $GITHUB_ENV
+             echo LDFLAGS="-fsanitize=undefined" >> $GITHUB_ENV
+             ;;
+        esac
+
+    - uses: actions/checkout@v3
+      name: Checkout
+
+    - name: Build (main)
+      run: |
+        ./autogen.sh
+        ./configure || cat config.log
+        make V=1
+        make V=1 check
+        make V=1 distcheck
+
+    - name: Build (misc/fix-gnustack)
+      run: |
+       case "$CC" in
+           gcc)
+              ;;
+           clang)
+              # Clang doesn't create executable stacks by default, so
+              # tests for fix-gnustack fail without this.
+              export CFLAGS="$CFLAGS -Wl,-z,execstack"
+              export LDFLAGS="$LDFLAGS -Wl,-z,execstack"
+              ;;
+       esac
+
+       cd misc/fix-gnustack
+       ./autogen.sh
+       ./configure || cat config.log
+       make V=1
+       make V=1 check
+       make V=1 distcheck
+
+    - name: Build (misc/install-xattr)
+      run: |
+       cd misc/install-xattr
+       make V=1
+       make check


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2023-01-10  5:21 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-01-10  5:21 [gentoo-commits] proj/elfix:master commit in: .github/workflows/ Sam James

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox