Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
7393cd6
#10 add java github actions
kernelsam Aug 12, 2025
3b96fab
remove demo from bearer
kernelsam Aug 12, 2025
1b605f1
Merge branch 'main' into 10-skern
barrycaceres Sep 19, 2025
d8236d2
Merge branch 'main' into 10-skern
kernelsam Sep 19, 2025
9198bf0
remove beta
kernelsam Sep 19, 2025
484436c
set SENZING_PATH
kernelsam Sep 19, 2025
227981d
fail fast false
kernelsam Sep 19, 2025
58fa65e
Merge branch 'main' into 10-skern
kernelsam Oct 3, 2025
58c3c82
linting updates
kernelsam Oct 20, 2025
e619e9c
prettier
kernelsam Oct 20, 2025
7eaa165
linting
kernelsam Oct 20, 2025
2ce551f
Merged main
barrycaceres Oct 20, 2025
4af3ca6
Fixed linting issues
barrycaceres Oct 20, 2025
31243f6
Updated workflows to maven-install the sz-sdk.jar file
barrycaceres Oct 20, 2025
2ec394b
Updated to latest sz-sdk-java sub-module for unit test code (most-rec…
barrycaceres Oct 20, 2025
f0e343b
add submodules to checkout
kernelsam Oct 20, 2025
46b7f7b
prettier
kernelsam Oct 20, 2025
8e22790
linting
kernelsam Oct 20, 2025
60e9a0f
Updated commons-configuration2 to stealth 2.12.1 version
barrycaceres Oct 20, 2025
820670d
Merge branch '10-skern' of github.com:senzing-garage/sz-sdk-java-grpc…
barrycaceres Oct 20, 2025
85c9b39
Revert commons-configuration2 dependency
barrycaceres Oct 20, 2025
08338b2
trivy ignore, can't fix CVE-2025-48924, currently unpublished in mave…
kernelsam Oct 20, 2025
397aae1
Clean-up linting and code-scanner warnings
barrycaceres Oct 21, 2025
92b6278
Merge branch '10-skern' of github.com:senzing-garage/sz-sdk-java-grpc…
barrycaceres Oct 21, 2025
174cef7
Update cspell dictionary
barrycaceres Oct 21, 2025
1858e58
Updated to CLAUDE.md for linting. Also, reduced code-coverage requir…
barrycaceres Oct 21, 2025
b0b5563
Updated code-coverage failure condition and reverted warning conditio…
barrycaceres Oct 21, 2025
48cc6c6
Fixed code-coverage failure check on linux
barrycaceres Oct 21, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/linters/.trivyignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
CVE-2025-48924
1 change: 1 addition & 0 deletions .github/linters/trivy.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ignorefile: ".github/linters/.trivyignore"
24 changes: 24 additions & 0 deletions .github/workflows/bearer.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: bearer

on:
push:
branches-ignore: [main]
pull_request:
branches: [main]

permissions: {}

jobs:
rule_check_src:
permissions:
contents: read
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v5
with:
persist-credentials: false
submodules: recursive

- name: Bearer
uses: bearer/bearer-action@v2
66 changes: 66 additions & 0 deletions .github/workflows/create-javadoc-documentation.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
name: Create javadoc documentation

on:
push:
tags:
- "[0-9]+.[0-9]+.[0-9]+"
- "[0-9]+.[0-9]+.[0-9]+-[a-z]+.[0-9]+.[0-9]+"
workflow_dispatch:

permissions: {}

jobs:
docs:
outputs:
status: ${{ job.status }}
permissions:
contents: write
runs-on: ubuntu-latest
strategy:
matrix:
include:
- java-version: "21"
java-distribution: "temurin"

steps:
- name: Checkout repository
uses: actions/checkout@v5
with:
persist-credentials: false
submodules: recursive

- uses: actions/setup-java@v4
with:
java-version: ${{ matrix.java-version }}
distribution: ${{ matrix.java-distribution }}

- name: install Senzing runtime
uses: senzing-factory/github-action-install-senzing-sdk@v3
with:
packages-to-install: "senzingsdk-runtime senzingsdk-setup"
senzingsdk-repository-package: ${{ secrets.SENZING_APT_BETA_STAGING_REPOSITORY_PACKAGE }}
senzingsdk-repository-path: ${{ secrets.SENZING_APT_BETA_STAGING_REPOSITORY_URL }}

- name: Build with Maven
env:
SENZING_PATH: "/opt/senzing"
run: |
mvn clean install -Dsenzing.support.dir="/opt/senzing/data" -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
mvn javadoc:javadoc -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn

- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v4
with:
publish_branch: gh-pages
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: target/reports/apidocs/
force_orphan: true

slack-notification:
needs: [docs]
if: ${{ always() && contains(fromJSON('["failure", "cancelled"]'), needs.docs.outputs.status) }}
secrets:
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
uses: senzing-factory/build-resources/.github/workflows/build-failure-slack-notification.yaml@v2
with:
job-status: ${{ needs.docs.outputs.status }}
86 changes: 86 additions & 0 deletions .github/workflows/maven-darwin.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
name: maven darwin

on:
pull_request:
branches: [main]
schedule:
- cron: "15 7 * * *"
workflow_dispatch:

permissions: {}

jobs:
maven-darwin:
outputs:
status: ${{ job.status }}
permissions:
contents: read
pull-requests: write
runs-on: macos-latest
strategy:
fail-fast: false
matrix:
java-distribution: ["temurin"]
java-version: ["17", "21"]
senzingsdk-version: [production-v4, staging-v4]

steps:
- name: checkout repository
uses: actions/checkout@v5
with:
persist-credentials: false
submodules: recursive

- uses: actions/setup-java@v4
with:
distribution: ${{ matrix.java-distribution }}
java-version: ${{ matrix.java-version }}

- name: install Senzing SDK
uses: senzing-factory/github-action-install-senzing-sdk@v3
with:
senzingsdk-version: ${{ matrix.senzingsdk-version }}

- name: configure environment
run: |
SENZING_PATH="${HOME}/senzing"
{
echo "SENZING_PATH=${SENZING_PATH}"
echo "DYLD_LIBRARY_PATH=${SENZING_PATH}/er/lib:${SENZING_PATH}/er/lib/macos"
} >> "$GITHUB_ENV"

- name: Build with Maven
run: |
# temp update broken file permissions
java -jar "$SENZING_PATH"/er/sdk/java/sz-sdk.jar -x
mvn clean install -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -Pjacoco -Djacoco.haltOnFailure=false -Djacoco.ignoreFailure=true

- name: Jacoco Report to PR
id: jacoco
uses: madrapps/jacoco-report@v1.7.2
with:
fail-emoji: ":red_circle:"
min-coverage-changed-files: 80
min-coverage-overall: 80
pass-emoji: ":green_circle:"
paths: ${{ github.workspace }}/target/site/**/*.xml
skip-if-no-changes: true
title: Code Coverage
token: ${{ secrets.GITHUB_TOKEN }}
update-comment: true

- name: Fail PR if overall coverage is less than 80%
if: ${{ steps.jacoco.outputs.coverage-overall < 20.0 }}
uses: actions/github-script@v7
with:
script: |
core.setFailed('Overall coverage is less than 20%!')

slack-notification:
needs: [maven-darwin]
if: ${{ always() && contains(fromJSON('["failure", "cancelled"]'), needs.maven-darwin.outputs.status ) && github.event_name == 'schedule' }}
secrets:
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
uses: senzing-factory/build-resources/.github/workflows/build-failure-slack-notification.yaml@v2
with:
job-status: ${{ needs.maven-darwin.outputs.status }}
28 changes: 28 additions & 0 deletions .github/workflows/maven-dependency-review.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: maven dependency review

on:
pull_request:
branches: [main]

permissions: {}

jobs:
dependency-submission-maven:
permissions:
contents: read
runs-on: ubuntu-latest
strategy:
matrix:
include:
- java-version: "17"
java-distribution: "temurin"

steps:
- name: checkout repository
uses: actions/checkout@v5
with:
persist-credentials: false
submodules: recursive

- name: "Dependency Review"
uses: actions/dependency-review-action@v4
82 changes: 82 additions & 0 deletions .github/workflows/maven-linux.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
name: maven linux

on:
push:
branches-ignore: [main]
pull_request:
branches: [main]
schedule:
- cron: "15 7 * * *"

permissions: {}

jobs:
maven-linux:
outputs:
status: ${{ job.status }}
permissions:
contents: read
pull-requests: write
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
java-distribution: ["temurin"]
java-version: ["17", "21"]
senzingsdk-version: [production-v4, staging-v4]

steps:
- name: checkout repository
uses: actions/checkout@v5
with:
persist-credentials: false
submodules: recursive

- uses: actions/setup-java@v4
with:
java-version: ${{ matrix.java-version }}
distribution: ${{ matrix.java-distribution }}

- name: install Senzing runtime
uses: senzing-factory/github-action-install-senzing-sdk@v3
with:
packages-to-install: "senzingsdk-runtime senzingsdk-setup"
senzingsdk-version: ${{ matrix.senzingsdk-version }}

- name: Build with Maven
env:
SENZING_PATH: "/opt/senzing"
run: |
java -jar "$SENZING_PATH"/er/sdk/java/sz-sdk.jar -x
mvn clean install -Pcheckstyle,jacoco,spotbugs -Djacoco.haltOnFailure=false -Djacoco.ignoreFailure=true -Dsenzing.support.dir="/opt/senzing/data" -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn

- name: Jacoco Report to PR
id: jacoco
if: github.event_name == 'pull_request'
uses: madrapps/jacoco-report@v1.7.2
with:
paths: ${{ github.workspace }}/target/site/**/*.xml
token: ${{ secrets.GITHUB_TOKEN }}
min-coverage-overall: 80
min-coverage-changed-files: 80
title: Code Coverage
update-comment: true
skip-if-no-changes: true
pass-emoji: ":green_circle:"
fail-emoji: ":red_circle:"

- name: Fail PR if overall coverage is less than 20%
if: ${{ github.event_name == 'pull_request' && steps.jacoco.outputs.coverage-overall < 20.0 }}
uses: actions/github-script@v7
with:
script: |
core.setFailed('Overall coverage is less than 20%!')

slack-notification:
needs: [maven-linux]
if: ${{ always() && contains(fromJSON('["failure", "cancelled"]'), needs.maven-linux.outputs.status ) && github.event_name == 'schedule' }}
secrets:
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
uses: senzing-factory/build-resources/.github/workflows/build-failure-slack-notification.yaml@v2
with:
job-status: ${{ needs.maven-linux.outputs.status }}
82 changes: 82 additions & 0 deletions .github/workflows/maven-windows.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
name: maven windows

on:
pull_request:
branches: [main]
schedule:
- cron: "15 7 * * *"
workflow_dispatch:

permissions: {}

jobs:
maven-windows:
outputs:
status: ${{ job.status }}
permissions:
contents: read
pull-requests: write
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
java-distribution: ["temurin"]
java-version: ["17", "21"]
senzingsdk-version: [production-v4, staging-v4]

steps:
- name: checkout repository
uses: actions/checkout@v5
with:
persist-credentials: false
submodules: recursive

- uses: actions/setup-java@v4
with:
java-version: ${{ matrix.java-version }}
distribution: ${{ matrix.java-distribution }}

- name: install Senzing SDK
uses: senzing-factory/github-action-install-senzing-sdk@v3
with:
senzingsdk-version: ${{ matrix.senzingsdk-version }}

- name: Add to "Path" environment variable
run: |
Add-Content $env:GITHUB_PATH "$Env:USERPROFILE\Senzing\er\lib"

- name: Build with Maven
run: |
$Env:SENZING_PATH = "$Env:USERPROFILE\senzing"
java -jar "$Env:SENZING_PATH\er\sdk\java\sz-sdk.jar" -x
mvn clean install -B "-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn" -Pjacoco "-Djacoco.haltOnFailure=false" "-Djacoco.ignoreFailure=true" "-Dsenzing.path=$Env:USERPROFILE\Senzing"

- name: Jacoco Report to PR
id: jacoco
uses: madrapps/jacoco-report@v1.7.2
with:
paths: ${{ github.workspace }}/target/site/**/*.xml
token: ${{ secrets.GITHUB_TOKEN }}
min-coverage-overall: 80
min-coverage-changed-files: 80
title: Code Coverage
update-comment: true
skip-if-no-changes: true
pass-emoji: ":green_circle:"
fail-emoji: ":red_circle:"

- name: Fail PR if overall coverage is less than 80%
if: ${{ steps.jacoco.outputs.coverage-overall < 20.0 }}
uses: actions/github-script@v7
with:
script: |
core.setFailed('Overall coverage is less than 20%!')

slack-notification:
needs: [maven-windows]
if: ${{ always() && contains(fromJSON('["failure", "cancelled"]'), needs.maven-windows.outputs.status ) && github.event_name == 'schedule' }}
secrets:
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
uses: senzing-factory/build-resources/.github/workflows/build-failure-slack-notification.yaml@v2
with:
job-status: ${{ needs.maven-windows.outputs.status }}
Loading
Loading