Skip to content

Commit 258d363

Browse files
authored
Merge branch 'main' into 24-skern
2 parents 2825e6c + c8062f0 commit 258d363

19 files changed

+706
-405
lines changed

.github/workflows/add-labels-standardized.yaml

+9
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,12 @@ jobs:
1515
ORG_MEMBERSHIP_TOKEN: ${{ secrets.ORG_MEMBERSHIP_TOKEN }}
1616
SENZING_MEMBERS: ${{ secrets.SENZING_MEMBERS }}
1717
uses: senzing-factory/build-resources/.github/workflows/add-labels-to-issue.yaml@v2
18+
19+
slack-notification:
20+
needs: [add-issue-labels]
21+
if: ${{ always() && contains(fromJSON('["failure", "cancelled"]'), needs.add-issue-labels.outputs.job-status) }}
22+
secrets:
23+
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
24+
uses: senzing-factory/build-resources/.github/workflows/build-failure-slack-notification.yaml@v2
25+
with:
26+
job-status: ${{ needs.add-issue-labels.outputs.job-status }}

.github/workflows/add-to-project-senzing-dependabot.yaml

+9
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,12 @@ jobs:
1414
uses: senzing-factory/build-resources/.github/workflows/add-to-project-dependabot.yaml@v2
1515
with:
1616
project: ${{ vars.SENZING_GITHUB_ORGANIZATION_PROJECT }}
17+
18+
slack-notification:
19+
needs: [add-to-project-dependabot]
20+
if: ${{ always() && contains(fromJSON('["failure", "cancelled"]'), needs.add-to-project-dependabot.outputs.job-status) }}
21+
secrets:
22+
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
23+
uses: senzing-factory/build-resources/.github/workflows/build-failure-slack-notification.yaml@v2
24+
with:
25+
job-status: ${{ needs.add-to-project-dependabot.outputs.job-status }}

.github/workflows/add-to-project-senzing.yaml

+9
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,12 @@ jobs:
1818
classic: false
1919
project-number: ${{ vars.SENZING_GITHUB_ORGANIZATION_PROJECT }}
2020
org: ${{ vars.SENZING_GITHUB_ACCOUNT_NAME }}
21+
22+
slack-notification:
23+
needs: [add-to-project]
24+
if: ${{ always() && contains(fromJSON('["failure", "cancelled"]'), needs.add-to-project.outputs.job-status) }}
25+
secrets:
26+
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
27+
uses: senzing-factory/build-resources/.github/workflows/build-failure-slack-notification.yaml@v2
28+
with:
29+
job-status: ${{ needs.add-to-project.outputs.job-status }}

.github/workflows/csharp-darwin-snippets.yaml

+10-7
Original file line numberDiff line numberDiff line change
@@ -25,22 +25,25 @@ jobs:
2525
dotnet-version: ${{ matrix.dotnet-version }}
2626

2727
- name: install Senzing SDK
28-
uses: senzing-factory/github-action-install-senzing-sdk@v2
28+
uses: senzing-factory/github-action-install-senzing-sdk@v3
2929
with:
3030
senzingsdk-repository-path: ${{ secrets.SENZING_OSX_BETA_REPOSITORY }}
3131

32+
- name: configure environment
33+
run: |
34+
SENZING_PATH="${HOME}/senzing"
35+
{
36+
echo "DYLD_LIBRARY_PATH=${SENZING_PATH}/er/lib"
37+
} >> "$GITHUB_ENV"
38+
3239
- name: configure local nuget repo
3340
run: |
34-
find /opt/senzing/er/sdk/dotnet/ -name "Senzing.Sdk*" | xargs -0 -L 1 basename
35-
sdk_package=$(find /opt/senzing/er/sdk/dotnet/ -name "Senzing.Sdk*" | xargs -0 -L 1 basename)
41+
sdk_package=$(find "${HOME}"/senzing/er/sdk/dotnet/ -name "Senzing.Sdk*" | xargs -0 -L 1 basename)
3642
mkdir -p ~/dev/nuget/packages
3743
dotnet nuget add source ~/dev/nuget/packages -n dev
38-
dotnet nuget push /opt/senzing/er/sdk/dotnet/"${sdk_package}" --source dev
44+
dotnet nuget push "${HOME}"/senzing/er/sdk/dotnet/"${sdk_package}" --source dev
3945
4046
- name: run csharp snippets
41-
env:
42-
DYLD_LIBRARY_PATH: "/opt/senzing/er/lib"
43-
SENZING_DATA_DIR: "/opt/senzing/er/data"
4447
run: |
4548
cd "${GITHUB_WORKSPACE}"/csharp/runner
4649
dotnet add SnippetRunner package Senzing.Sdk --version 4.0.0-beta

.github/workflows/csharp-linux-snippets.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ jobs:
2929
dotnet-version: ${{ matrix.dotnet-version }}
3030

3131
- name: install Senzing runtime
32-
uses: senzing-factory/github-action-install-senzing-sdk@v2
32+
uses: senzing-factory/github-action-install-senzing-sdk@v3
3333
with:
3434
packages-to-install: "senzingsdk-runtime senzingsdk-setup"
3535
senzingsdk-repository-package: ${{ secrets.SENZING_APT_BETA_STAGING_REPOSITORY_PACKAGE }}

.github/workflows/csharp-windows-snippets.yaml

+4-5
Original file line numberDiff line numberDiff line change
@@ -25,26 +25,25 @@ jobs:
2525
dotnet-version: ${{ matrix.dotnet-version }}
2626

2727
- name: install Senzing SDK
28-
uses: senzing-factory/github-action-install-senzing-sdk@v2
28+
uses: senzing-factory/github-action-install-senzing-sdk@v3
2929
with:
3030
senzingsdk-repository-path: ${{ secrets.SENZING_WIN_BETA_REPOSITORY }}
3131

3232
- name: configure local nuget repo
3333
run: |
34-
$Env:sdk_package = Get-ChildItem -Path "C:\Program Files\Senzing\er\sdk\dotnet\" -Recurse | Where-Object {$_.Name -match "^Senzing.SDK*"} | Select-Object -ExpandProperty Name
34+
$Env:sdk_package = Get-ChildItem -Path "$Env:USERPROFILE\Senzing\er\sdk\dotnet\" -Recurse | Where-Object {$_.Name -match "^Senzing.SDK*"} | Select-Object -ExpandProperty Name
3535
mkdir $Env:USERPROFILE\dev\nuget\packages
3636
cd $Env:USERPROFILE\dev\nuget\packages
3737
dir
3838
dotnet nuget add source $Env:USERPROFILE\dev\nuget\packages -n senzing
39-
dotnet nuget push "C:\Program Files\Senzing\er\sdk\dotnet\${Env:sdk_package}" --source senzing
39+
dotnet nuget push "$Env:USERPROFILE\Senzing\er\sdk\dotnet\${Env:sdk_package}" --source senzing
4040
dotnet nuget list source
4141
4242
- name: Add to "Path" environment variable
4343
run: |
44-
Add-Content $env:GITHUB_PATH "C:\Program Files\Senzing\er\lib"
44+
Add-Content $env:GITHUB_PATH "$Env:USERPROFILE\senzing\er\lib"
4545
4646
- name: run csharp snippets
4747
run: |
48-
echo $Env:Path
4948
cd ${Env:GITHUB_WORKSPACE}/csharp/runner
5049
dotnet run --project SnippetRunner all

.github/workflows/java-darwin-snippets.yaml

+9-5
Original file line numberDiff line numberDiff line change
@@ -27,20 +27,24 @@ jobs:
2727
java-version: ${{ matrix.java-version }}
2828

2929
- name: install Senzing SDK
30-
uses: senzing-factory/github-action-install-senzing-sdk@v2
30+
uses: senzing-factory/github-action-install-senzing-sdk@v3
3131
with:
3232
senzingsdk-repository-path: ${{ secrets.SENZING_OSX_BETA_REPOSITORY }}
3333

34+
- name: configure environment
35+
run: |
36+
SENZING_PATH="${HOME}/senzing"
37+
{
38+
echo "SENZING_PATH=${SENZING_PATH}"
39+
echo "DYLD_LIBRARY_PATH=${SENZING_PATH}/er/lib:${SENZING_PATH}/er/lib/macos"
40+
} >> "$GITHUB_ENV"
41+
3442
- name: build with Maven
35-
env:
36-
SENZING_DIR: "/opt/senzing/er"
3743
run: |
3844
cd "${GITHUB_WORKSPACE}"/java
3945
mvn clean install -Pcheckstyle,spotbugs -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
4046
4147
- name: run java snippets
42-
env:
43-
DYLD_LIBRARY_PATH: "/opt/senzing/er/lib"
4448
run: |
4549
cd "${GITHUB_WORKSPACE}"/java
4650
java -jar target/sz-sdk-snippets.jar all

.github/workflows/java-linux-snippets.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,15 @@ jobs:
3131
distribution: ${{ matrix.java-distribution }}
3232

3333
- name: install Senzing runtime
34-
uses: senzing-factory/github-action-install-senzing-sdk@v2
34+
uses: senzing-factory/github-action-install-senzing-sdk@v3
3535
with:
3636
packages-to-install: "senzingsdk-runtime senzingsdk-setup"
3737
senzingsdk-repository-package: ${{ secrets.SENZING_APT_BETA_STAGING_REPOSITORY_PACKAGE }}
3838
senzingsdk-repository-path: ${{ secrets.SENZING_APT_BETA_STAGING_REPOSITORY_URL }}
3939

4040
- name: build with Maven
4141
env:
42-
SENZING_DIR: "/opt/senzing/er"
42+
SENZING_PATH: "/opt/senzing"
4343
run: |
4444
cd "${GITHUB_WORKSPACE}"/java
4545
mvn clean install -Pcheckstyle,spotbugs -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn

.github/workflows/java-windows-snippets.yaml

+3-4
Original file line numberDiff line numberDiff line change
@@ -27,20 +27,19 @@ jobs:
2727
distribution: ${{ matrix.java-distribution }}
2828

2929
- name: install Senzing SDK
30-
uses: senzing-factory/github-action-install-senzing-sdk@v2
30+
uses: senzing-factory/github-action-install-senzing-sdk@v3
3131
with:
3232
senzingsdk-repository-path: ${{ secrets.SENZING_WIN_BETA_REPOSITORY }}
3333

3434
- name: build with Maven
35-
env:
36-
SENZING_DIR: 'C:\Program Files\Senzing\er'
3735
run: |
36+
$Env:SENZING_PATH = "$Env:USERPROFILE\senzing"
3837
cd "${Env:GITHUB_WORKSPACE}/java"
3938
mvn clean install -Pcheckstyle,spotbugs -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
4039
4140
- name: Add to "Path" environment variable
4241
run: |
43-
Add-Content $env:GITHUB_PATH "C:\Program Files\Senzing\er\lib"
42+
Add-Content $env:GITHUB_PATH "$Env:USERPROFILE\senzing\er\lib"
4443
4544
- name: run java snippets
4645
run: |

.github/workflows/pylint.yaml

+11
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ permissions:
1111

1212
jobs:
1313
pylint:
14+
outputs:
15+
status: ${{ job.status }}
1416
runs-on: ubuntu-latest
1517
strategy:
1618
matrix:
@@ -33,3 +35,12 @@ jobs:
3335
run: |
3436
# shellcheck disable=SC2046
3537
pylint $(git ls-files '*.py')
38+
39+
slack-notification:
40+
needs: [pylint]
41+
if: ${{ always() && contains(fromJSON('["failure", "cancelled"]'), needs.pylint.outputs.status ) && github.ref_name == github.event.repository.default_branch }}
42+
secrets:
43+
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
44+
uses: senzing-factory/build-resources/.github/workflows/build-failure-slack-notification.yaml@v2
45+
with:
46+
job-status: ${{ needs.pylint.outputs.status }}

CHANGELOG.md

+4
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog], [markdownlint],
66
and this project adheres to [Semantic Versioning].
77

8+
### Changed in 0.0.5
9+
10+
- Modified configuration examples for new szconfig and szconfigmanager pattern
11+
812
### Added to 0.0.4
913

1014
- C# examples

csharp/README.md

+32-10
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,29 @@ Before attempting to build the snippets you will need to make the make the
99
`Senzing.Sdk.[version].nupkg` file available to the `dotnet` executable so
1010
it can be used as a dependency. This is done via these [instructions](https://github.com/senzing-garage/sz-sdk-csharp/blob/main/README.md#Usage).
1111

12+
Further, you will need to set environment variables so the Senzing installation can be located:
13+
14+
- Linux:
15+
16+
```console
17+
export SENZING_PATH=/opt/senzing/
18+
export LD_LIBRARY_PATH=$SENZING_PATH/er/lib:$LD_LIBRARY_PATH
19+
```
20+
21+
- macOS:
22+
23+
```console
24+
export SENZING_PATH=$HOME/senzing
25+
export DYLD_LIBRARY_PATH=$SENZING_PATH/er/lib:$SENZING_PATH/er/lib/macos:$DYLD_LIBRARY_PATH
26+
```
27+
28+
- Windows:
29+
30+
```console
31+
set SENZING_PATH=%USERPROFILE%\senzing
32+
set Path=%SENZING_PATH%\er\lib;%Path%
33+
```
34+
1235
## Building
1336

1437
The C# snippets can built using the `dotnet build [project-name]` command under each directory. They can be run using `dotnet run --project [project-name]` command. Attempting to run a snippet will also trigger building it.
@@ -23,22 +46,21 @@ You may run any individual Snippet class directly providing you have a Senzing r
2346

2447
1. Run a snippet that takes no command-line arguments.
2548

26-
```[shell]
49+
```console
2750
cd snippets
2851
dotnet run --project loading/LoadRecords
2952
```
3053

3154
2. Run a snippet and override the input file using command-line arguments
3255

33-
```[shell]
56+
```console
3457
dotnet run --project loading/LoadRecordsViaLoop ../../resources/data/load-500-with-errors.jsonl
3558
```
3659

3760
### Run via Runner
3861

3962
The `SnippetRunner` project will run one or more snippets for you and create a temporary Senzing repository to run then against. This can be executed using:
40-
41-
```[shell]
63+
```console
4264
cd runner
4365
dotnet run --project SnippetRunner
4466
```
@@ -47,42 +69,42 @@ The `SnippetRunner` project will run one or more snippets for you and create a t
4769

4870
1. Execute all code snippets:
4971

50-
```[shell]
72+
```console
5173
cd runner
5274
dotnet run --project SnippetRunner all
5375
```
5476

5577
2. Execute all code snippets in a group:
5678

57-
```[shell]
79+
```console
5880
cd runner
5981
dotnet run --project SnippetRunner loading
6082
```
6183

6284
3. Execute all code snippets from multiple groups:
6385

64-
```[shell]
86+
```console
6587
cd runner
6688
dotnet run --project SnippetRunner loading redo
6789
```
6890

6991
4. Execute specific code snippets:
7092

71-
```[shell]
93+
```console
7294
cd runner
7395
dotnet run --project SnippetRunner loading.LoadViaLoop loading.LoadViaQueue
7496
```
7597

7698
5. Mix and match packages with individual snippets:
7799

78-
```[shell]
100+
```console
79101
cd runner
80102
dotnet run --project SnippetRunner redo loading.LoadViaLoop
81103
```
82104

83105
6. Generate a help message by specifying no arguments:
84106

85-
```[shell]
107+
```console
86108
cd runner
87109
dotnet run --project SnippetRunner
88110

0 commit comments

Comments
 (0)