|
52 | 52 | if: runner.os == 'macOS' |
53 | 53 | run: shasum -a 256 secp-api/build/libs/* secp-bouncy/build/libs/* secp-ffm/build/libs/* secp-graalvm/build/libs/* |
54 | 54 |
|
| 55 | + build_graalvm_gradle: |
| 56 | + needs: validate_gradle_wrapper |
| 57 | + runs-on: ${{ matrix.os }} |
| 58 | + strategy: |
| 59 | + matrix: |
| 60 | + os: [ubuntu-24.04, ubuntu-24.04-arm, macOS-14] |
| 61 | + java: [ '25' ] |
| 62 | + distribution: [ 'graalvm' ] |
| 63 | + fail-fast: false |
| 64 | + name: ${{ matrix.os }} ${{ matrix.java }} (via setup-graalvm) |
| 65 | + steps: |
| 66 | + - name: Git checkout |
| 67 | + uses: actions/checkout@v5 |
| 68 | + - name: Set up GraalVM |
| 69 | + uses: graalvm/setup-graalvm@v1 |
| 70 | + with: |
| 71 | + distribution: ${{ matrix.distribution }} |
| 72 | + java-version: ${{ matrix.java }} |
| 73 | + github-token: ${{ secrets.GITHUB_TOKEN }} |
| 74 | + - name: Install secp256k1 with APT |
| 75 | + if: runner.os == 'Linux' |
| 76 | + run: | |
| 77 | + sudo apt install -y libsecp256k1-dev |
| 78 | + echo "LD_LIBRARY_PATH=/usr/lib/$(uname -m)-linux-gnu" >> $GITHUB_ENV |
| 79 | + - name: Install secp256k1 with Homebrew |
| 80 | + if: runner.os == 'macOS' |
| 81 | + run: | |
| 82 | + brew install secp256k1 |
| 83 | + echo "DYLD_LIBRARY_PATH=$(brew --prefix secp256k1)/lib" >> $GITHUB_ENV |
| 84 | + echo "JAVA_TOOL_OPTIONS=-Djava.library.path=$(brew --prefix secp256k1)/lib" >> $GITHUB_ENV |
| 85 | + - name: Build (JIT) with Gradle |
| 86 | + run: ./gradlew build |
| 87 | + - name: Run Java & Kotlin Examples |
| 88 | + run: ./gradlew build run runEcdsa |
| 89 | + - name: Build Native Image with Gradle |
| 90 | + run: ./gradlew build secp-examples-java:nativeCompile |
| 91 | + - name: Run Schnorr Native Example |
| 92 | + run: ./secp-examples-java/build/schnorr-example |
| 93 | + |
55 | 94 | javadoc_artifact: |
56 | 95 | needs: build_gradle |
57 | 96 | runs-on: ubuntu-24.04 |
|
0 commit comments