linux-integrity.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Petr Vorel <pvorel@suse.cz>
To: linux-integrity@vger.kernel.org
Cc: Petr Vorel <pvorel@suse.cz>, Mimi Zohar <zohar@linux.vnet.ibm.com>
Subject: [PATCH 3/3] CI: Introduce GitHub Actions setup
Date: Tue, 22 Jun 2021 16:12:24 +0200	[thread overview]
Message-ID: <20210622141224.25006-4-pvorel@suse.cz> (raw)
In-Reply-To: <20210622141224.25006-1-pvorel@suse.cz>

Travis is unreliable due "pull rate limit" issue, workaround does not
work any more. Also GitHub Actions is a recommended way for projects
hosted on GitHub.

Nice bonus is that manual podman activation for distros using glibc >=
2.33 (e.g. openSUSE Tumbleweed, Fedora) it's not needed in GitHub.

Signed-off-by: Petr Vorel <pvorel@suse.cz>
---
 .github/workflows/ci.yml | 121 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 121 insertions(+)
 create mode 100644 .github/workflows/ci.yml

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 0000000..f08733a
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,121 @@
+# Copyright (c) 2021 Petr Vorel <pvorel@suse.cz>
+name: "distros"
+on: [push, pull_request]
+
+jobs:
+  job:
+    runs-on: ubuntu-latest
+
+    strategy:
+      fail-fast: false
+      matrix:
+        include:
+          # 32bit build
+          - container: "debian:stable"
+            env:
+              CC: gcc
+              ARCH: i386
+              TSS: tpm2-tss
+              VARIANT: i386
+
+          # cross compilation builds
+          - container: "debian:stable"
+            env:
+              ARCH: ppc64el
+              CC: powerpc64le-linux-gnu-gcc
+              TSS: ibmtss
+              VARIANT: cross-compile
+
+          - container: "debian:stable"
+            env:
+              ARCH: arm64
+              CC: aarch64-linux-gnu-gcc
+              TSS: tpm2-tss
+              VARIANT: cross-compile
+
+          - container: "debian:stable"
+            env:
+              ARCH: s390x
+              CC: s390x-linux-gnu-gcc
+              TSS: ibmtss
+              VARIANT: cross-compile
+
+          # musl (native)
+          - container: "alpine:latest"
+            env:
+              CC: gcc
+              TSS: tpm2-tss
+
+          # glibc (gcc/clang)
+          - container: "opensuse/tumbleweed"
+            env:
+              CC: clang
+              TSS: ibmtss
+
+          - container: "opensuse/leap"
+            env:
+              CC: gcc
+              TSS: tpm2-tss
+
+          - container: "ubuntu:groovy"
+            env:
+              CC: gcc
+              TSS: ibmtss
+
+          - container: "ubuntu:xenial"
+            env:
+              CC: clang
+              TSS: tpm2-tss
+
+          - container: "fedora:latest"
+            env:
+              CC: clang
+              TSS: ibmtss
+
+          - container: "centos:7"
+            env:
+              CC: gcc
+              TSS: tpm2-tss
+
+          - container: "centos:latest"
+            env:
+              CC: gcc
+              TSS: tpm2-tss
+
+          - container: "debian:testing"
+            env:
+              CC: clang
+              TSS: tpm2-tss
+
+          - container: "debian:stable"
+            env:
+              CC: clang
+              TSS: ibmtss
+
+    container:
+      image: ${{ matrix.container }}
+      env: ${{ matrix.env }}
+
+    steps:
+    - name: Show OS
+      run: cat /etc/os-release
+
+    - name: Git checkout
+      uses: actions/checkout@v1
+
+    - name: Install additional packages
+      run: |
+        INSTALL=${{ matrix.container }}
+        INSTALL="${INSTALL%%:*}"
+        INSTALL="${INSTALL%%/*}"
+        if [ "$VARIANT" ]; then ARCH="$ARCH" ./ci/$INSTALL.$VARIANT.sh; fi
+        ARCH="$ARCH" CC="$CC" TSS="$TSS" ./ci/$INSTALL.sh
+
+    - name: Build swtpm
+      run: if [ ! "$VARIANT" ]; then which tpm_server || which swtpm || ./tests/install-swtpm.sh; fi
+
+    - name: Compiler version
+      run: $CC --version
+
+    - name: Compile
+      run: CC="$CC" VARIANT="$VARIANT" ./build.sh
-- 
2.32.0


  parent reply	other threads:[~2021-06-22 14:12 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-22 14:12 [PATCH 0/3] Add GitHub Actions support Petr Vorel
2021-06-22 14:12 ` [PATCH 1/3] CI: Rename travis script directory Petr Vorel
2021-06-22 14:12 ` [PATCH 2/3] CI/openSUSE: Fix tpm_server symlink creation Petr Vorel
2021-06-22 14:12 ` Petr Vorel [this message]
2021-06-22 14:13 ` [PATCH 0/3] Add GitHub Actions support Petr Vorel
2021-06-24 19:28   ` Mimi Zohar
2021-06-24 19:19 ` Mimi Zohar
2021-06-25  6:12   ` Petr Vorel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210622141224.25006-4-pvorel@suse.cz \
    --to=pvorel@suse.cz \
    --cc=linux-integrity@vger.kernel.org \
    --cc=zohar@linux.vnet.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).