diff options
| author | J08nY | 2024-03-25 15:07:53 +0100 |
|---|---|---|
| committer | J08nY | 2024-03-25 18:41:11 +0100 |
| commit | e8cd86bb309cf90ec5e2aa211a765d3da45590b4 (patch) | |
| tree | 09e98061c9cae4f52f727a1787f4fb6360bacb37 /.github | |
| parent | c01f16cbacb45682547e4712bdae854c56604e61 (diff) | |
| download | ECTester-e8cd86bb309cf90ec5e2aa211a765d3da45590b4.tar.gz ECTester-e8cd86bb309cf90ec5e2aa211a765d3da45590b4.tar.zst ECTester-e8cd86bb309cf90ec5e2aa211a765d3da45590b4.zip | |
Diffstat (limited to '.github')
| -rw-r--r-- | .github/workflows/build.yml | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..73ee885 --- /dev/null +++ b/.github/workflows/build.yml @@ -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
\ No newline at end of file |
