dev-koan is building and testing OpenJCEPlus 🚀 #2653
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ############################################################################### | |
| # | |
| # Copyright IBM Corp. 2023, 2026 | |
| # | |
| # This code is free software; you can redistribute it and/or modify it | |
| # under the terms provided by IBM in the LICENSE file that accompanied | |
| # this code, including the "Classpath" Exception described therein. | |
| ############################################################################### | |
| name: GitHub Actions OpenJCEPlus | |
| run-name: ${{ github.actor }} is building and testing OpenJCEPlus 🚀 | |
| on: [pull_request] | |
| jobs: | |
| Build-Test-OpenJCEPlus: | |
| name: Build and Test ${{ matrix.os }}. | |
| runs-on: ${{ matrix.os }} | |
| permissions: | |
| checks: write # Needed to publish a check from the Publish Test Report step below. | |
| contents: read # Needed to read the contents of the github repo and clone. | |
| strategy: | |
| matrix: | |
| # "windows-2022" os builds have been disabled since Open Crypto Kit does not have builds available for windows. | |
| os: [ubuntu-22.04] | |
| include: | |
| - os: ubuntu-22.04 | |
| gskit_dir: amd64 | |
| gskit_lib_name: libjgsk8iccs_64.so | |
| target_lib_bin_dir: jgskit-xa-64 | |
| github_actions_runner_root: / | |
| #- os: windows-2022 | |
| # gskit_dir: windows_x86_64 | |
| # gskit_lib_name: jgsk8iccs_64.dll | |
| # github_actions_runner_root: \ | |
| steps: | |
| - run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event." | |
| - run: echo "🐧 This job is now running on a ${{ runner.os }} server." | |
| - run: echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}." | |
| - name: Check out repository code | |
| uses: actions/checkout@v4 | |
| - run: echo "💡 The ${{ github.repository }} repository has been cloned to the runner." | |
| - run: echo "🖥️ The workflow is now ready to test your code on the runner." | |
| - name: List files in the repository | |
| run: | | |
| tree ${{ github.workspace }} | |
| # - name: Set up Visual Studio shell | |
| # uses: egor-tensin/vs-shell@v2 | |
| # with: | |
| # arch: x64 | |
| - name: 'Checkout Open Cryptography Kit C' | |
| uses: actions/checkout@v4 | |
| with: | |
| repository: IBM/OpenCryptographyKitC | |
| ref: f3dde51a02675270adf994dc22c7f2853dc86ba6 # Branch V_8.9.18 on Jan 2nd 2026. | |
| path: ${{ github.workspace }}/OpenCryptographyKitC | |
| - name: Compile Open Cryptography Kit C | |
| run: | | |
| cd ${{ github.workspace }}/OpenCryptographyKitC/icc | |
| make -k OPSYS=AMD64_LINUX CONFIG=release create_all | |
| export LD_LIBRARY_PATH=${{ github.workspace }}/OpenCryptographyKitC/openssl-1.1.1/ | |
| make -k OPSYS=AMD64_LINUX CONFIG=release all | |
| make -k OPSYS=AMD64_LINUX CONFIG=release iccpkg | |
| make -k OPSYS=AMD64_LINUX CONFIG=release show_config | |
| cd .. | |
| cd iccpkg | |
| make -k OPSYS=AMD64_LINUX CONFIG=release all | |
| cd ${{ github.workspace }} | |
| - name: Extract OCK SDK and Binary Tar File | |
| run: | | |
| mkdir ${{ github.workspace }}/OCK | |
| cd ${{ github.workspace }}/OCK | |
| cp ${{ github.workspace }}/OpenCryptographyKitC/package/jgsk_crypto.tar . | |
| cp ${{ github.workspace }}/OpenCryptographyKitC/package/jgsk_crypto_sdk.tar . | |
| ls -al | |
| tree | |
| tar -xvf jgsk_crypto.tar | |
| tar -xvf jgsk_crypto_sdk.tar | |
| mkdir jgsk_sdk/lib64 | |
| cp ${{ matrix.gskit_lib_name }} jgsk_sdk/lib64 | |
| - name: Setup Temurin JDK | |
| uses: actions/setup-java@v4 | |
| with: | |
| java-version: '26-ea' | |
| distribution: 'temurin' | |
| architecture: 'x64' | |
| # Uncomment to capture all files in the runner for debugging purposes. | |
| # - name: List Files In Entire Runner | |
| # run: | | |
| # tree ${{ matrix.github_actions_runner_root }} | |
| - name: Execute Maven Install Target And OpenJCEPlus Provider Tests | |
| run: > | |
| mvn | |
| --batch-mode | |
| '-Dock.library.path=${{ github.workspace }}/OCK/' | |
| -Dtest=' | |
| ibm.jceplus.junit.openjceplus.TestAll, | |
| ibm.jceplus.junit.TestMemStressAll, | |
| ibm.jceplus.junit.TestMultithread, | |
| ibm.jceplus.junit.openjceplus.integration.TestAll | |
| ' | |
| install | |
| env: | |
| GSKIT_HOME: ${{ github.workspace }}/OCK/jgsk_sdk | |
| - name: Execute Migrated Maven Install Target And OpenJCEPlus Provider Tests | |
| run: > | |
| mvn | |
| --batch-mode | |
| '-Dock.library.path=${{ github.workspace }}/OCK/' | |
| '-Dgroups=OpenJCEPlus' | |
| -Dtest=' | |
| ibm.jceplus.junit.suites.TestOpenJCEPlus, | |
| ibm.jceplus.junit.suites.TestMultiThreadOpenJCEPlus.java | |
| ' | |
| install | |
| env: | |
| GSKIT_HOME: ${{ github.workspace }}/OCK/jgsk_sdk | |
| #- name: List Files In The Entire Workspace | |
| # run: | | |
| # tree ${{ github.workspace }} | |
| - name: Archive openjceplus.jar | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: openjceplus.jar | |
| path: target/openjceplus.jar | |
| - name: Archive openjceplus-tests.jar | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: openjceplus-tests.jar | |
| path: target/openjceplus-tests.jar | |
| - name: Archive libjgskit.so | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: libjgskit.so | |
| path: target/${{ matrix.target_lib_bin_dir }}/libjgskit.so | |
| - name: Archive OpenJCEPlus Assemblies | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: openjceplus-assemblies.zip | |
| path: target/openjceplus-assemblies.zip | |
| - run: echo "🍏 This job's status is ${{ job.status }}." |