CI added GitHub actions
This commit is contained in:
27
.github/build-ccid.sh
vendored
Executable file
27
.github/build-ccid.sh
vendored
Executable file
@@ -0,0 +1,27 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# CI script to build for "ubuntu", "coverity"
|
||||||
|
|
||||||
|
set -ex -o xtrace
|
||||||
|
|
||||||
|
# todo openpace
|
||||||
|
|
||||||
|
pushd ccid
|
||||||
|
git submodule update --init .
|
||||||
|
|
||||||
|
sudo apt-get install gengetopt help2man libpcsclite-dev
|
||||||
|
|
||||||
|
autoreconf -vis
|
||||||
|
|
||||||
|
./configure
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
ubuntu)
|
||||||
|
make distcheck
|
||||||
|
;;
|
||||||
|
coverity)
|
||||||
|
# exclude opensc from analysis by building it here
|
||||||
|
make -C src/OpenSC
|
||||||
|
esac
|
||||||
|
|
||||||
|
popd
|
||||||
58
.github/build-pcsc-relay.sh
vendored
Executable file
58
.github/build-pcsc-relay.sh
vendored
Executable file
@@ -0,0 +1,58 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# CI script to build for "ubuntu", "coverity", "mingw-32", "mingw-64", "macos"
|
||||||
|
|
||||||
|
set -ex -o xtrace
|
||||||
|
|
||||||
|
pushd pcsc-relay
|
||||||
|
|
||||||
|
DEPS="gengetopt help2man automake"
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
ubuntu|coverity)
|
||||||
|
DEPS="$DEPS libnfc-dev libpcsclite-dev"
|
||||||
|
;;
|
||||||
|
mingw-32)
|
||||||
|
DEPS="$DEPS binutils-mingw-w64-i686 gcc-mingw-w64-i686 mingw-w64-i686-dev"
|
||||||
|
;;
|
||||||
|
mingw-64)
|
||||||
|
DEPS="$DEPS binutils-mingw-w64-x86-64 gcc-mingw-w64-x86-64 mingw-w64-x86-64-dev"
|
||||||
|
;;
|
||||||
|
macos)
|
||||||
|
DEPS="$DEPS libnfc"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
ubuntu|coverity|mingw-32|mingw-64)
|
||||||
|
sudo apt-get install -y $DEPS
|
||||||
|
;;
|
||||||
|
macos)
|
||||||
|
brew install $DEPS
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
autoreconf -vis
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
ubuntu|coverity|macos)
|
||||||
|
./configure
|
||||||
|
;;
|
||||||
|
mingw-32)
|
||||||
|
env ac_cv_func_malloc_0_nonnull=yes ac_cv_func_realloc_0_nonnull=yes ./configure --host=i686-w64-mingw32 --target=i686-w64-mingw32 CFLAGS=-I/usr/i686-w64-mingw32/include LDFLAGS=-L/usr/i686-w64-mingw32/lib PCSC_LIBS=-lwinscard
|
||||||
|
;;
|
||||||
|
mingw-64)
|
||||||
|
env ac_cv_func_malloc_0_nonnull=yes ac_cv_func_realloc_0_nonnull=yes ./configure --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 CFLAGS=-I/usr/x86_64-w64-mingw32/include LDFLAGS=-L/usr/x86_64-w64-mingw32/lib PCSC_LIBS=-lwinscard
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
ubuntu|macos)
|
||||||
|
make distcheck
|
||||||
|
;;
|
||||||
|
mingw-32|mingw-64)
|
||||||
|
make
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
popd
|
||||||
42
.github/build-virtualsmartcard.sh
vendored
Executable file
42
.github/build-virtualsmartcard.sh
vendored
Executable file
@@ -0,0 +1,42 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# CI script to build for "ubuntu", "coverity", "macos"
|
||||||
|
|
||||||
|
set -ex -o xtrace
|
||||||
|
|
||||||
|
pushd virtualsmartcard
|
||||||
|
|
||||||
|
DEPS="help2man automake libtool"
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
ubuntu|coverity)
|
||||||
|
DEPS="$DEPS libpcsclite-dev libqrencode-dev"
|
||||||
|
;;
|
||||||
|
macos)
|
||||||
|
DEPS="$DEPS gengetopt"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
ubuntu|coverity)
|
||||||
|
sudo apt-get install -y $DEPS
|
||||||
|
;;
|
||||||
|
macos)
|
||||||
|
brew install $DEPS
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
autoreconf -vis
|
||||||
|
|
||||||
|
./configure
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
ubuntu)
|
||||||
|
make distcheck
|
||||||
|
;;
|
||||||
|
macos)
|
||||||
|
make osx
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
popd
|
||||||
82
.github/workflows/ci.yml
vendored
Normal file
82
.github/workflows/ci.yml
vendored
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
name: Build
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- '**.c'
|
||||||
|
- '**.h'
|
||||||
|
- '**.in'
|
||||||
|
- '**.sh'
|
||||||
|
- '**.py'
|
||||||
|
- '**.java'
|
||||||
|
- .github/workflows/ci.yml
|
||||||
|
push:
|
||||||
|
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
virtualsmartcard-macos:
|
||||||
|
runs-on: macos-11
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- run: .github/build-virtualsmartcard.sh macos
|
||||||
|
- uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: virtualsmartcard-macos
|
||||||
|
path:
|
||||||
|
virtualsmartcard/virtualsmartcard*.dmg
|
||||||
|
|
||||||
|
virtualsmartcard-ubuntu:
|
||||||
|
runs-on: ubuntu-20.04
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- run: .github/build-virtualsmartcard.sh ubuntu
|
||||||
|
- uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: virtualsmartcard
|
||||||
|
path:
|
||||||
|
virtualsmartcard/virtualsmartcard*.tar.gz
|
||||||
|
|
||||||
|
ccid-ubuntu:
|
||||||
|
runs-on: ubuntu-20.04
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- run: .github/build-ccid.sh ubuntu
|
||||||
|
- uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: ccid-emulator
|
||||||
|
path:
|
||||||
|
ccid/ccid-emulator*.tar.gz
|
||||||
|
|
||||||
|
pcsc-relay-macos:
|
||||||
|
runs-on: macos-11
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- run: .github/build-pcsc-relay.sh macos
|
||||||
|
|
||||||
|
pcsc-relay-ubuntu:
|
||||||
|
runs-on: ubuntu-20.04
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- run: .github/build-pcsc-relay.sh ubuntu
|
||||||
|
- uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: pcsc-relay
|
||||||
|
path:
|
||||||
|
pcsc-relay/pcsc-relay*.tar.gz
|
||||||
|
|
||||||
|
# pcsc-relay-mingw-32:
|
||||||
|
# runs-on: ubuntu-20.04
|
||||||
|
# steps:
|
||||||
|
# - uses: actions/checkout@v2
|
||||||
|
# - run: .github/build-pcsc-relay.sh mingw-32
|
||||||
|
|
||||||
|
pcsc-relay-mingw-64:
|
||||||
|
runs-on: ubuntu-20.04
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- run: .github/build-pcsc-relay.sh mingw-64
|
||||||
|
- uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: pcsc-relay-mingw-64
|
||||||
|
path:
|
||||||
|
pcsc-relay/src/pcsc-relay.exe
|
||||||
22
.github/workflows/coverity.yml
vendored
Normal file
22
.github/workflows/coverity.yml
vendored
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
name: Coverity Scan
|
||||||
|
|
||||||
|
# We only want to test master or explicitly via coverity branch
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [master, coverity]
|
||||||
|
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-20.04
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- run: .github/build-virtualsmartcard.sh coverity
|
||||||
|
- run: .github/build-ccid.sh coverity
|
||||||
|
- run: .github/build-pcsc-relay.sh coverity
|
||||||
|
- uses: vapier/coverity-scan-action@v0
|
||||||
|
with:
|
||||||
|
project: frankmorgner%2Fvsmartcard
|
||||||
|
token: ${{ secrets.COVERITY_SCAN_TOKEN }}
|
||||||
|
email: 'frankmorgner@gmail.com'
|
||||||
|
command: 'make -C $GITHUB_WORKSPACE/virtualsmartcard; make -C $GITHUB_WORKSPACE/ccid; make -C $GITHUB_WORKSPACE/pcsc-relay'
|
||||||
Reference in New Issue
Block a user