mirror of
https://git.code.sf.net/p/linux-ima/ima-evm-utils
synced 2025-04-29 23:23:36 +02:00

Keep in sync with the kernel IMA, IMA signature tool supports SM2/3 algorithm combination. Because in the current version of OpenSSL 1.1.1, the SM2 algorithm and the public key using the EC algorithm share the same ID 'EVP_PKEY_EC', and the specific algorithm can only be distinguished by the curve name used. This patch supports this feature. Secondly, the openssl 1.1.1 tool does not fully support the signature of SM2/3 algorithm combination, so the openssl3 tool is used in the test case, and there is no this problem with directly calling the openssl 1.1.1 API in evmctl. Signed-off-by: Tianjia Zhang <tianjia.zhang@linux.alibaba.com> [zohar@linux.ibm.com: "COMPILE_SSL: " -> "COMPILE_SSL=" in .travis.yml Reviewed-by: Petr Vorel <pvorel@suse.cz> Signed-off-by: Mimi Zohar <zohar@linux.ibm.com>
137 lines
3.2 KiB
YAML
137 lines
3.2 KiB
YAML
# 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
|
|
COMPILE_SSL: openssl-3.0.0-beta1
|
|
|
|
# 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
|
|
COMPILE_SSL: openssl-3.0.0-beta1
|
|
|
|
- container: "opensuse/leap"
|
|
env:
|
|
CC: gcc
|
|
TSS: tpm2-tss
|
|
|
|
- container: "ubuntu:groovy"
|
|
env:
|
|
CC: gcc
|
|
TSS: ibmtss
|
|
COMPILE_SSL: openssl-3.0.0-beta1
|
|
|
|
- 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: "alt:sisyphus"
|
|
env:
|
|
CC: gcc
|
|
TSS: libtpm2-tss-devel
|
|
|
|
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
|
|
if [ "$COMPILE_SSL" ]; then COMPILE_SSL="$COMPILE_SSL" ./tests/install-openssl3.sh; fi
|
|
|
|
- name: Build swtpm
|
|
run: |
|
|
if [ ! "$VARIANT" ]; then
|
|
which tpm_server || which swtpm || \
|
|
if which tssstartup; then
|
|
./tests/install-swtpm.sh;
|
|
fi
|
|
fi
|
|
|
|
- name: Compiler version
|
|
run: $CC --version
|
|
|
|
- name: Compile
|
|
run: CC="$CC" VARIANT="$VARIANT" ./build.sh
|