mirror of
https://github.com/HDFGroup/hdf5.git
synced 2026-09-25 04:09:44 +03:00
Bumps the github-actions group with 11 updates: | Package | From | To | | --- | --- | --- | | [lukka/get-cmake](https://github.com/lukka/get-cmake) | `4.4.1` | `4.4.2` | | [actions/setup-java](https://github.com/actions/setup-java) | `5.6.0` | `6.0.0` | | [fortran-lang/setup-fortran](https://github.com/fortran-lang/setup-fortran) | `1.9.2` | `1.10.0` | | [EndBug/add-and-commit](https://github.com/endbug/add-and-commit) | `10.0.0` | `11.1.1` | | [dorny/paths-filter](https://github.com/dorny/paths-filter) | `4.0.2` | `4.0.3` | | [github/codeql-action/init](https://github.com/github/codeql-action) | `4.37.3` | `4.37.9` | | [github/codeql-action/analyze](https://github.com/github/codeql-action) | `4.37.3` | `4.37.9` | | [github/codeql-action/upload-sarif](https://github.com/github/codeql-action) | `4.37.3` | `4.37.9` | | [vmactions/freebsd-vm](https://github.com/vmactions/freebsd-vm) | `1.5.2` | `1.5.5` | | [vmactions/openbsd-vm](https://github.com/vmactions/openbsd-vm) | `1.4.5` | `1.4.7` | | [softprops/action-gh-release](https://github.com/softprops/action-gh-release) | `3.0.2` | `3.0.3` | Updates `lukka/get-cmake` from 4.4.1 to 4.4.2 - [Release notes](https://github.com/lukka/get-cmake/releases) - [Changelog](https://github.com/lukka/get-cmake/blob/main/RELEASE_PROCESS.md) - [Commits](https://github.com/lukka/get-cmake/compare/4a7d025fc60f00db0c7b44ebf783d19b52444830...fffaaafeea488556c2c12dad60690008bc1caacb) Updates `actions/setup-java` from 5.6.0 to 6.0.0 - [Release notes](https://github.com/actions/setup-java/releases) - [Commits](https://github.com/actions/setup-java/compare/03ad4de0992f5dab5e18fcb136590ce7c4a0ac95...dd06d9cba3e5552c54d9f8ea23572deb30010f7c) Updates `fortran-lang/setup-fortran` from 1.9.2 to 1.10.0 - [Release notes](https://github.com/fortran-lang/setup-fortran/releases) - [Commits](https://github.com/fortran-lang/setup-fortran/compare/195bac823dc6e05bb7c706311ad4540ffc34d5b9...be037f0a45b1160f139d4ccd0b96f9e9bfd6a682) Updates `EndBug/add-and-commit` from 10.0.0 to 11.1.1 - [Release notes](https://github.com/endbug/add-and-commit/releases) - [Commits](https://github.com/endbug/add-and-commit/compare/290ea2c423ad77ca9c62ae0f5b224379612c0321...cc9c08ba6c8df3b93a8f2db63e89b98368ae2ae8) Updates `dorny/paths-filter` from 4.0.2 to 4.0.3 - [Release notes](https://github.com/dorny/paths-filter/releases) - [Changelog](https://github.com/dorny/paths-filter/blob/master/CHANGELOG.md) - [Commits](https://github.com/dorny/paths-filter/compare/7b450fff21473bca461d4b92ce414b9d0420d706...ceb8a2b8f2d89434be7ff52d3de7ec3738c5cc9d) Updates `github/codeql-action/init` from 4.37.3 to 4.37.9 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81...cdf488f595d80d6e07e03d4674febd5ab45fa938) Updates `github/codeql-action/analyze` from 4.37.3 to 4.37.9 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81...cdf488f595d80d6e07e03d4674febd5ab45fa938) Updates `github/codeql-action/upload-sarif` from 4.37.3 to 4.37.9 - [Release notes](https://github.com/github/codeql-action/releases) - [Commits](https://github.com/github/codeql-action/compare/v4.37.3...v4.37.9) Updates `vmactions/freebsd-vm` from 1.5.2 to 1.5.5 - [Release notes](https://github.com/vmactions/freebsd-vm/releases) - [Commits](https://github.com/vmactions/freebsd-vm/compare/77ed28d336d03fe19a3f4f7266c1d2c4714dd79d...f0552d3b69211736abd97f02ff3d4674c56b73b1) Updates `vmactions/openbsd-vm` from 1.4.5 to 1.4.7 - [Release notes](https://github.com/vmactions/openbsd-vm/releases) - [Commits](https://github.com/vmactions/openbsd-vm/compare/c941015845c0f0c429676840963dc63b226d4f69...86cdc08415d9d0865267e686561e276c52d62530) Updates `softprops/action-gh-release` from 3.0.2 to 3.0.3 - [Release notes](https://github.com/softprops/action-gh-release/releases) - [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md) - [Commits](https://github.com/softprops/action-gh-release/compare/3d0d9888cb7fd7b750713d6e236d1fcb99157228...efb35369e0ad2afab669f228072c1b0d510eae64) --- updated-dependencies: - dependency-name: lukka/get-cmake dependency-version: 4.4.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions - dependency-name: actions/setup-java dependency-version: 6.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: fortran-lang/setup-fortran dependency-version: 1.10.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions - dependency-name: EndBug/add-and-commit dependency-version: 11.1.1 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: dorny/paths-filter dependency-version: 4.0.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions - dependency-name: github/codeql-action/init dependency-version: 4.37.9 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions - dependency-name: github/codeql-action/analyze dependency-version: 4.37.9 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions - dependency-name: github/codeql-action/upload-sarif dependency-version: 4.37.9 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions - dependency-name: vmactions/freebsd-vm dependency-version: 1.5.5 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions - dependency-name: vmactions/openbsd-vm dependency-version: 1.4.7 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions - dependency-name: softprops/action-gh-release dependency-version: 3.0.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
422 lines
15 KiB
YAML
422 lines
15 KiB
YAML
name: Test Binary Installation
|
|
|
|
# Tests complete binary installation including:
|
|
# - HDF5 native library installation (from system packages or built binaries)
|
|
# - Maven package consumption
|
|
# - Full integration testing with Java examples
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
maven_version:
|
|
description: 'Maven artifact version to test'
|
|
type: string
|
|
required: true
|
|
default: '2.1.0-SNAPSHOT'
|
|
maven_repository:
|
|
description: 'Maven repository URL'
|
|
type: string
|
|
required: false
|
|
default: 'https://maven.pkg.github.com/HDFGroup/hdf5'
|
|
java_implementation:
|
|
description: 'Java implementation to test'
|
|
type: choice
|
|
required: false
|
|
default: 'both'
|
|
options:
|
|
- 'both'
|
|
- 'ffm'
|
|
- 'jni'
|
|
install_method:
|
|
description: 'HDF5 native library installation method'
|
|
type: choice
|
|
required: false
|
|
default: 'system-package'
|
|
options:
|
|
- 'system-package' # apt-get install libhdf5-dev
|
|
- 'from-source' # Build from source tarball
|
|
- 'from-binary' # Install from release binary package
|
|
workflow_call:
|
|
inputs:
|
|
maven_version:
|
|
description: 'Maven artifact version to test'
|
|
type: string
|
|
required: true
|
|
maven_repository:
|
|
description: 'Maven repository URL'
|
|
type: string
|
|
required: false
|
|
default: 'https://maven.pkg.github.com/HDFGroup/hdf5'
|
|
java_implementation:
|
|
description: 'Java implementation to test'
|
|
type: string
|
|
required: false
|
|
default: 'both'
|
|
install_method:
|
|
description: 'HDF5 native library installation method'
|
|
type: string
|
|
required: false
|
|
default: 'system-package'
|
|
|
|
permissions:
|
|
contents: read
|
|
packages: read
|
|
|
|
jobs:
|
|
test-jni-binary:
|
|
name: Test JNI with Binary Installation
|
|
runs-on: ubuntu-latest
|
|
if: |
|
|
inputs.java_implementation == 'both' ||
|
|
inputs.java_implementation == 'jni'
|
|
steps:
|
|
- name: Checkout HDF5Examples
|
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
with:
|
|
persist-credentials: false
|
|
repository: HDFGroup/HDF5Examples
|
|
path: HDF5Examples
|
|
|
|
- name: Set up Java 11 for JNI
|
|
uses: actions/setup-java@dd06d9cba3e5552c54d9f8ea23572deb30010f7c # v5
|
|
with:
|
|
java-version: '11'
|
|
distribution: 'temurin'
|
|
cache: 'maven'
|
|
|
|
- name: Install HDF5 native libraries
|
|
env:
|
|
INSTALL_METHOD: ${{ inputs.install_method }}
|
|
run: |
|
|
echo "=== Installing HDF5 Native Libraries ==="
|
|
echo "Installation method: $INSTALL_METHOD"
|
|
|
|
if [ "$INSTALL_METHOD" == "system-package" ]; then
|
|
echo "Installing from system packages..."
|
|
sudo apt-get update
|
|
sudo apt-get install -y libhdf5-dev hdf5-tools
|
|
|
|
echo "Installed HDF5 version:"
|
|
h5dump --version || echo "h5dump not found"
|
|
|
|
echo "HDF5 library location:"
|
|
find /usr/lib -name "libhdf5.so*" 2>/dev/null || echo "Library not found in /usr/lib"
|
|
find /usr/local/lib -name "libhdf5.so*" 2>/dev/null || true
|
|
|
|
elif [ "$INSTALL_METHOD" == "from-source" ]; then
|
|
echo "Building from source not yet implemented"
|
|
echo "Falling back to system package installation"
|
|
sudo apt-get update
|
|
sudo apt-get install -y libhdf5-dev hdf5-tools
|
|
|
|
elif [ "$INSTALL_METHOD" == "from-binary" ]; then
|
|
echo "Installing from binary package not yet implemented"
|
|
echo "Falling back to system package installation"
|
|
sudo apt-get update
|
|
sudo apt-get install -y libhdf5-dev hdf5-tools
|
|
fi
|
|
|
|
echo "Library path configuration:"
|
|
ldconfig -p | grep hdf5 || echo "No HDF5 libraries in ld cache"
|
|
|
|
- name: Configure Maven for GitHub Packages
|
|
run: |
|
|
mkdir -p ~/.m2
|
|
cat > ~/.m2/settings.xml << 'SETTINGSEOF'
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
|
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
|
|
http://maven.apache.org/xsd/settings-1.0.0.xsd">
|
|
<servers>
|
|
<server>
|
|
<id>github-hdfgroup-hdf5</id>
|
|
<username>${env.GITHUB_ACTOR}</username>
|
|
<password>${env.GITHUB_TOKEN}</password>
|
|
</server>
|
|
</servers>
|
|
<profiles>
|
|
<profile>
|
|
<id>github-packages</id>
|
|
<repositories>
|
|
<repository>
|
|
<id>github-hdfgroup-hdf5</id>
|
|
<url>MAVEN_REPO_URL_PLACEHOLDER</url>
|
|
<snapshots><enabled>true</enabled></snapshots>
|
|
<releases><enabled>true</enabled></releases>
|
|
</repository>
|
|
</repositories>
|
|
</profile>
|
|
</profiles>
|
|
<activeProfiles>
|
|
<activeProfile>github-packages</activeProfile>
|
|
</activeProfiles>
|
|
</settings>
|
|
SETTINGSEOF
|
|
|
|
# Replace placeholder with actual URL
|
|
sed -i "s|MAVEN_REPO_URL_PLACEHOLDER|$MAVEN_REPOSITORY|g" ~/.m2/settings.xml
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
MAVEN_REPOSITORY: ${{ inputs.maven_repository }}
|
|
|
|
- name: Download JNI Maven artifact
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
MAVEN_VERSION: ${{ inputs.maven_version }}
|
|
MAVEN_REPOSITORY: ${{ inputs.maven_repository }}
|
|
run: |
|
|
echo "Downloading hdf5-java-jni:$MAVEN_VERSION"
|
|
mvn dependency:get \
|
|
-Dartifact=org.hdfgroup:hdf5-java-jni:"$MAVEN_VERSION" \
|
|
-DremoteRepositories="$MAVEN_REPOSITORY" \
|
|
-Dtransitive=true
|
|
|
|
- name: Verify JAR and native library integration
|
|
env:
|
|
MAVEN_VERSION: ${{ inputs.maven_version }}
|
|
run: |
|
|
echo "=== Testing JNI Integration ==="
|
|
|
|
# Find downloaded JAR
|
|
JAR_PATH=$(find ~/.m2/repository/org/hdfgroup/hdf5-java-jni/"$MAVEN_VERSION" -name "*.jar" ! -name "*sources*" ! -name "*javadoc*" | head -1)
|
|
|
|
if [ -z "$JAR_PATH" ]; then
|
|
echo "❌ Could not find downloaded JAR"
|
|
exit 1
|
|
fi
|
|
|
|
echo "JAR location: $JAR_PATH"
|
|
|
|
# Find native library
|
|
HDF5_LIB=$(find /usr/lib /usr/local/lib -name "libhdf5.so*" 2>/dev/null | head -1)
|
|
|
|
if [ -z "$HDF5_LIB" ]; then
|
|
echo "❌ Could not find HDF5 native library"
|
|
exit 1
|
|
fi
|
|
|
|
echo "Native library: $HDF5_LIB"
|
|
|
|
# Set library path for testing
|
|
export LD_LIBRARY_PATH=/usr/lib:/usr/local/lib:$LD_LIBRARY_PATH
|
|
export JAVA_LIBRARY_PATH=/usr/lib:/usr/local/lib
|
|
|
|
echo "Testing basic H5 initialization..."
|
|
cd HDF5Examples/JAVA
|
|
|
|
# Create simple test using printf to avoid heredoc issues in YAML
|
|
printf '%s\n' \
|
|
'import hdf.hdf5lib.H5;' \
|
|
'import hdf.hdf5lib.HDF5Constants;' \
|
|
'' \
|
|
'public class TestH5Init {' \
|
|
' public static void main(String[] args) {' \
|
|
' try {' \
|
|
' H5.H5open();' \
|
|
' int[] version = new int[3];' \
|
|
' H5.H5get_libversion(version);' \
|
|
' System.out.println("✅ HDF5 library initialized successfully");' \
|
|
' System.out.println("Library version: " + version[0] + "." + version[1] + "." + version[2]);' \
|
|
' H5.H5close();' \
|
|
' System.exit(0);' \
|
|
' } catch (Exception e) {' \
|
|
' System.err.println("❌ Error: " + e.getMessage());' \
|
|
' e.printStackTrace();' \
|
|
' System.exit(1);' \
|
|
' }' \
|
|
' }' \
|
|
'}' \
|
|
> TestH5Init.java
|
|
|
|
# Compile and run
|
|
javac -cp "$JAR_PATH" TestH5Init.java
|
|
java -cp ".:$JAR_PATH" -Djava.library.path="$JAVA_LIBRARY_PATH" TestH5Init
|
|
|
|
- name: Run representative examples
|
|
env:
|
|
MAVEN_VERSION: ${{ inputs.maven_version }}
|
|
run: |
|
|
cd HDF5Examples/JAVA
|
|
|
|
# Find JAR
|
|
JAR_PATH=$(find ~/.m2/repository/org/hdfgroup/hdf5-java-jni/"$MAVEN_VERSION" -name "*.jar" ! -name "*sources*" ! -name "*javadoc*" | head -1)
|
|
|
|
# Set library path
|
|
export LD_LIBRARY_PATH=/usr/lib:/usr/local/lib:$LD_LIBRARY_PATH
|
|
export JAVA_LIBRARY_PATH=/usr/lib:/usr/local/lib
|
|
|
|
echo "=== Running Example Tests ==="
|
|
|
|
# Test a few representative examples from compat directory (JNI compatible)
|
|
for example in compat/TUTR/H5_*.java; do
|
|
if [ -f "$example" ]; then
|
|
example_name=$(basename "$example" .java)
|
|
echo "Testing: $example_name"
|
|
|
|
cd "$(dirname "$example")"
|
|
javac -cp "$JAR_PATH" "$example_name.java"
|
|
|
|
if timeout 30s java -cp ".:$JAR_PATH" -Djava.library.path="$JAVA_LIBRARY_PATH" "$example_name"; then
|
|
echo "✅ $example_name passed"
|
|
else
|
|
echo "❌ $example_name failed"
|
|
fi
|
|
|
|
cd - > /dev/null
|
|
break # Just test one example for now
|
|
fi
|
|
done
|
|
|
|
test-ffm-binary:
|
|
name: Test FFM with Binary Installation
|
|
runs-on: ubuntu-latest
|
|
if: |
|
|
inputs.java_implementation == 'both' ||
|
|
inputs.java_implementation == 'ffm'
|
|
steps:
|
|
- name: Checkout HDF5Examples
|
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
with:
|
|
persist-credentials: false
|
|
repository: HDFGroup/HDF5Examples
|
|
path: HDF5Examples
|
|
|
|
- name: Set up Java 25 for FFM
|
|
uses: actions/setup-java@dd06d9cba3e5552c54d9f8ea23572deb30010f7c # v5
|
|
with:
|
|
java-version: '25'
|
|
distribution: 'oracle'
|
|
cache: 'maven'
|
|
|
|
- name: Install HDF5 native libraries
|
|
run: |
|
|
echo "=== Installing HDF5 Native Libraries ==="
|
|
sudo apt-get update
|
|
sudo apt-get install -y libhdf5-dev hdf5-tools
|
|
|
|
echo "Installed HDF5 version:"
|
|
h5dump --version || echo "h5dump not found"
|
|
|
|
- name: Configure Maven for GitHub Packages
|
|
run: |
|
|
mkdir -p ~/.m2
|
|
cat > ~/.m2/settings.xml << 'SETTINGSEOF2'
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0">
|
|
<servers>
|
|
<server>
|
|
<id>github-hdfgroup-hdf5</id>
|
|
<username>${env.GITHUB_ACTOR}</username>
|
|
<password>${env.GITHUB_TOKEN}</password>
|
|
</server>
|
|
</servers>
|
|
<profiles>
|
|
<profile>
|
|
<id>github-packages</id>
|
|
<repositories>
|
|
<repository>
|
|
<id>github-hdfgroup-hdf5</id>
|
|
<url>MAVEN_REPO_URL_PLACEHOLDER</url>
|
|
<snapshots><enabled>true</enabled></snapshots>
|
|
<releases><enabled>true</enabled></releases>
|
|
</repository>
|
|
</repositories>
|
|
</profile>
|
|
</profiles>
|
|
<activeProfiles>
|
|
<activeProfile>github-packages</activeProfile>
|
|
</activeProfiles>
|
|
</settings>
|
|
SETTINGSEOF2
|
|
|
|
# Replace placeholder with actual URL
|
|
sed -i "s|MAVEN_REPO_URL_PLACEHOLDER|$MAVEN_REPOSITORY|g" ~/.m2/settings.xml
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
MAVEN_REPOSITORY: ${{ inputs.maven_repository }}
|
|
|
|
- name: Download FFM Maven artifact
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
MAVEN_VERSION: ${{ inputs.maven_version }}
|
|
MAVEN_REPOSITORY: ${{ inputs.maven_repository }}
|
|
run: |
|
|
echo "Downloading hdf5-java-ffm:$MAVEN_VERSION"
|
|
mvn dependency:get \
|
|
-Dartifact=org.hdfgroup:hdf5-java-ffm:"$MAVEN_VERSION" \
|
|
-DremoteRepositories="$MAVEN_REPOSITORY" \
|
|
-Dtransitive=true
|
|
|
|
- name: Test FFM with system HDF5
|
|
env:
|
|
MAVEN_VERSION: ${{ inputs.maven_version }}
|
|
run: |
|
|
echo "=== Testing FFM Integration ==="
|
|
|
|
# Find downloaded JAR
|
|
JAR_PATH=$(find ~/.m2/repository/org/hdfgroup/hdf5-java-ffm/"$MAVEN_VERSION" -name "*.jar" ! -name "*sources*" ! -name "*javadoc*" | head -1)
|
|
|
|
if [ -z "$JAR_PATH" ]; then
|
|
echo "❌ Could not find downloaded JAR"
|
|
exit 1
|
|
fi
|
|
|
|
echo "JAR location: $JAR_PATH"
|
|
echo "JAR contents sample:"
|
|
jar tf "$JAR_PATH" | grep "org/hdfgroup/javahdf5" | head -5
|
|
|
|
echo "✅ FFM JAR verification complete"
|
|
echo "Note: Full FFM testing requires compatible native library"
|
|
|
|
summary:
|
|
name: Binary Installation Test Summary
|
|
runs-on: ubuntu-latest
|
|
needs: [test-jni-binary, test-ffm-binary]
|
|
if: always()
|
|
steps:
|
|
- name: Generate summary
|
|
env:
|
|
MAVEN_VERSION: ${{ inputs.maven_version }}
|
|
MAVEN_REPOSITORY: ${{ inputs.maven_repository }}
|
|
INSTALL_METHOD: ${{ inputs.install_method }}
|
|
run: |
|
|
echo "# Binary Installation Test Summary" >> $GITHUB_STEP_SUMMARY
|
|
echo "" >> $GITHUB_STEP_SUMMARY
|
|
echo "**Version:** $MAVEN_VERSION" >> $GITHUB_STEP_SUMMARY
|
|
echo "**Repository:** $MAVEN_REPOSITORY" >> $GITHUB_STEP_SUMMARY
|
|
echo "**Install Method:** $INSTALL_METHOD" >> $GITHUB_STEP_SUMMARY
|
|
echo "" >> $GITHUB_STEP_SUMMARY
|
|
|
|
JNI_RESULT="${{ needs.test-jni-binary.result }}"
|
|
FFM_RESULT="${{ needs.test-ffm-binary.result }}"
|
|
|
|
echo "## Test Results" >> $GITHUB_STEP_SUMMARY
|
|
echo "" >> $GITHUB_STEP_SUMMARY
|
|
|
|
if [ "$JNI_RESULT" != "skipped" ]; then
|
|
if [ "$JNI_RESULT" == "success" ]; then
|
|
echo "✅ **JNI Binary Installation:** PASSED" >> $GITHUB_STEP_SUMMARY
|
|
else
|
|
echo "❌ **JNI Binary Installation:** FAILED" >> $GITHUB_STEP_SUMMARY
|
|
fi
|
|
fi
|
|
|
|
if [ "$FFM_RESULT" != "skipped" ]; then
|
|
if [ "$FFM_RESULT" == "success" ]; then
|
|
echo "✅ **FFM Binary Installation:** PASSED" >> $GITHUB_STEP_SUMMARY
|
|
else
|
|
echo "❌ **FFM Binary Installation:** FAILED" >> $GITHUB_STEP_SUMMARY
|
|
fi
|
|
fi
|
|
|
|
# Fail if any tests failed
|
|
if [ "$JNI_RESULT" == "failure" ] || [ "$FFM_RESULT" == "failure" ]; then
|
|
echo "" >> $GITHUB_STEP_SUMMARY
|
|
echo "⚠️ **Some tests failed. Check logs for details.**" >> $GITHUB_STEP_SUMMARY
|
|
exit 1
|
|
fi
|
|
|
|
echo "" >> $GITHUB_STEP_SUMMARY
|
|
echo "🎉 **All binary installation tests passed!**" >> $GITHUB_STEP_SUMMARY
|