This is an automated email from the ASF dual-hosted git repository.

sebb pushed a commit to branch profiletidy
in repository https://gitbox.apache.org/repos/asf/commons-crypto.git


The following commit(s) were added to refs/heads/profiletidy by this push:
     new 33094c19 Adhoc test for mac/win
33094c19 is described below

commit 33094c19ce567fd2f8b622a872651e5765b3c183
Author: Sebb <[email protected]>
AuthorDate: Mon Oct 30 16:00:34 2023 +0000

    Adhoc test for mac/win
    
    No point running all the tests until the changes are sorted out
    
    [skip ci]
---
 .github/workflows/maven_adhoc.yml | 90 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 90 insertions(+)

diff --git a/.github/workflows/maven_adhoc.yml 
b/.github/workflows/maven_adhoc.yml
new file mode 100644
index 00000000..0d58cd08
--- /dev/null
+++ b/.github/workflows/maven_adhoc.yml
@@ -0,0 +1,90 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+name: Java adhoc
+
+on:
+  # allow direct trigger
+  workflow_dispatch:
+
+permissions:
+  contents: read
+
+jobs:
+  build:
+
+    runs-on: ${{ matrix.os }}
+    continue-on-error: ${{ matrix.experimental }}
+    strategy:
+      matrix:
+        # macos-latest and ubuntu-latest uses OpenSSL 3 which breaks tests
+        # os: [macos-11, ubuntu-20.04, windows-latest]
+        os: [macos-11, windows-latest]
+        # These names are used in conditional statements below.
+        # java: [ 8, 11, 17, 21 ]
+        java: [ 8 ]
+        experimental: [false]
+        # macos-11 / java21 keeps failing: java is loading libcrypto in an 
unsafe way
+        # so change it to experimental to stop failing the entire workflow
+        # exclude:
+        # - os: macos-11
+        #   java: 21
+        # include:
+        # - os: macos-11 
+        #   java: 21
+        #   experimental: true        
+      fail-fast: false
+        
+    steps:
+    - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+      with:
+        persist-credentials: false
+    - name: Set up JDK ${{ matrix.java }}
+      uses: actions/setup-java@0ab4596768b603586c0de567f2430c30f5b0d2b0 # 
v3.13.0
+      with:
+        distribution: 'temurin'
+        java-version: ${{ matrix.java }}
+    - name: OpenSSL version
+      run: openssl version -a
+    - name: Build with Maven
+      # OPENSSL_HOME is needed for Windows build; not used by other builds so 
can set unconditionally
+      # It's not clear how one is supposed to find the correct setting;
+      # The value below was found by searching for openssl files under C 
(warning: slow)
+      # Other possible values are:
+      # "C:\\Miniconda\\pkgs\\openssl-1.1.1n-h2bbff1b_0\\Library"
+      # "C:\\ProgramData\\chocolatey\\lib\\mingw\\tools\\install\\mingw64\\opt"
+      env:
+        OPENSSL_HOME: "C:\\Miniconda\\Library"
+      run: mvn --show-version --batch-mode --no-transfer-progress 
-DtrimStackTrace=false
+    - name: Run Crypto (JNI)
+      run: |
+        mvn --show-version --batch-mode --no-transfer-progress -q exec:java 
-D"exec.mainClass=org.apache.commons.crypto.Crypto" 
-D"commons.crypto.debug=true"
+    - name: Run OpenSslJna (JNA - don't override lib)
+      run: |
+        mvn --show-version --batch-mode --no-transfer-progress -q exec:java 
-D"exec.mainClass=org.apache.commons.crypto.jna.OpenSslJna" 
-D"commons.crypto.debug=true"
+    - name: Run OpenSslJna (JNA - macOS from openssl version -a ENGINESDIR)
+      if: ${{ matrix.os == 'macos-11' }}
+      run: |
+        mvn --show-version --batch-mode --no-transfer-progress -q exec:java 
-D"exec.mainClass=org.apache.commons.crypto.jna.OpenSslJna" 
-D"jna.library.path=/usr/local/Cellar/[email protected]/1.1.1w/lib/engines-1.1" 
-D"commons.crypto.debug=true"
+    - name: Run OpenSslJna (JNA - Windows from openssl version -a ENGINESDIR)
+      if: ${{ matrix.os == 'windows-latest' }}
+      run: |
+        mvn --show-version --batch-mode --no-transfer-progress -q exec:java 
-D"exec.mainClass=org.apache.commons.crypto.jna.OpenSslJna" 
-D"jna.library.path=C:\Program Files\OpenSSL\lib\engines-1_1" 
-D"commons.crypto.debug=true"
+    - name: Check benchmark code compiles
+      if: ${{ matrix.java == '8' }}
+      env:
+        OPENSSL_HOME: "C:\\Miniconda\\Library"
+      run: |
+        mvn --show-version --batch-mode --no-transfer-progress clean 
test-compile -Pbenchmark

Reply via email to