Skip to content

Commit

Permalink
Add CI.
Browse files Browse the repository at this point in the history
  • Loading branch information
J08nY committed Mar 25, 2024
1 parent c01f16c commit e8cd86b
Show file tree
Hide file tree
Showing 8 changed files with 107 additions and 318 deletions.
18 changes: 0 additions & 18 deletions .appveyor.yml

This file was deleted.

82 changes: 82 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
name: Build

on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]

jobs:
build:

runs-on: ubuntu-latest
permissions:
contents: read

strategy:
matrix:
java: [ "8", "11", "17", "21" ]
env:
JAVA_VERSION: ${{ matrix.java }}
name: Build Java ${{ matrix.java }}
steps:
- uses: actions/checkout@v4
with:
submodules: recursive

- name: Set up JDK
uses: actions/setup-java@v4
with:
java-version: ${{ matrix.java }}
distribution: "temurin"

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3

- name: Setup libraries
run: |
sudo apt update
sudo apt install libmbedtls-dev libtomcrypt-dev libtommath-dev libssl-dev libcrypto++-dev libgcrypt20-dev nettle-dev libbotan-2-dev nasm
- name: Build applets
run: if [ $JAVA_VERSION != 21 ]; then ./gradlew applet:buildJavaCard; fi

- name: Build reader
run: ./gradlew reader:uberJar

- name: Build libs
run: |
cd ext/boringssl
cmake -DBUILD_SHARED_LIBS=1 -Bbuild
cd build
make -j4 crypto
cd ../../..
cd ext/libressl
./autogen.sh
cmake -DBUILD_SHARED_LIBS=ON -Bbuild
cd build
make -j4 crypto
cd ../../..
cd ext/ipp-crypto
CC=clang CXX=clang++ cmake CMakeLists.txt -Bbuild -DARCH=intel64
cd build
make -j4
cd ../../..
- name: Build standalone
run: |
./gradlew standalone:libs || true
./gradlew standalone:uberJar
# ffs: https://github.com/adoptium/adoptium-support/issues/485 !!!
- name: List libraries
run: env LD_LIBRARY_PATH="/usr/lib/x86_64-linux-gnu/" ./gradlew standalone:run --args="list-libs"

- name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: built-${{ matrix.java }}
path: |
applet/build/javacard/*.cap
reader/build/libs/ECTesterReader.jar
standalone/build/libs/ECTesterStandalone.jar
63 changes: 0 additions & 63 deletions .travis.yml

This file was deleted.

10 changes: 4 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# ![](docs/full.png)

[![Build status](https://api.travis-ci.org/crocs-muni/ECTester.svg?branch=master)](https://travis-ci.org/crocs-muni/ECTester) [![Build status](https://ci.appveyor.com/api/projects/status/02kcaf52op89910u?svg=true)](https://ci.appveyor.com/project/J08nY/ectester-cm6ng) [![GitHub release](https://img.shields.io/github/release/crocs-muni/ECTEster.svg)](https://github.com/crocs-muni/ECTester/releases) [![license](https://img.shields.io/github/license/crocs-muni/ECTester.svg)](https://github.com/crocs-muni/ECTester/blob/master/LICENSE) [![docs](https://img.shields.io/badge/docs-github.io-brightgreen.svg)](https://crocs-muni.github.io/ECTester/)
[![Build](https://github.com/crocs-muni/ECTester/actions/workflows/build.yml/badge.svg)](https://github.com/crocs-muni/ECTester/actions/workflows/build.yml) [![GitHub release](https://img.shields.io/github/release/crocs-muni/ECTEster.svg)](https://github.com/crocs-muni/ECTester/releases) [![license](https://img.shields.io/github/license/crocs-muni/ECTester.svg)](https://github.com/crocs-muni/ECTester/blob/master/LICENSE) [![docs](https://img.shields.io/badge/docs-github.io-brightgreen.svg)](https://crocs-muni.github.io/ECTester/)

ECTester is a tool for testing and analysis of elliptic curve cryptography implementations on JavaCards and in
cryptographic libraries. It consists of four separate parts:
Expand All @@ -10,7 +10,7 @@ cryptographic libraries. It consists of four separate parts:
- The ECTesterStandalone app, which works with software libraries
- Jupyter notebooks for analysis and visualization of data from the apps

For more information on ECC support on JavaCards see the [github page](https://crocs-muni.github.io/ECTester/), with results, tables and docs.
For more information on ECC support on JavaCards see the [GitHub page](https://crocs-muni.github.io/ECTester/), with results, tables and docs.

This project is developed by the [Centre for Research On Cryptography and Security](https://crocs.fi.muni.cz) at Faculty of Informatics, Masaryk University.

Expand Down Expand Up @@ -360,19 +360,17 @@ BoringSSL, LibreSSL and ipp-crypto are included as git submodules. Make sure you
after checking out the ECTester repository to initialize them. To build BoringSSL do:
```
cd ext/boringssl
mkdir build
cmake -GNinja -Bbuild -DBUILD_SHARED_LIBS=1
cd build
cmake -GNinja -DBUILD_SHARED_LIBS=1 ..
ninja
```

To build LibreSSL do:
```
cd ext/libressl
./autogen.sh
mkdir build
cmake -GNinja -Bbuild -DBUILD_SHARED_LIBS=1
cd build
cmake -GNinja -DBUILD_SHARED_LIBS=1 ..
ninja
```

Expand Down
Loading

0 comments on commit e8cd86b

Please sign in to comment.