Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
152 commits
Select commit Hold shift + click to select a range
15043f5
Update README.md
sonalgoyal Jun 24, 2026
7f8ab65
aded proper error propagation (#1329)
LOGANBLUE1 Jun 27, 2026
3886950
performance reports with charting
Chandanydv1234 Jun 29, 2026
ade6f2a
Updates the Docker base image to apache/spark:3.5.5-python3
Chandanydv1234 Jul 7, 2026
87608f2
some minor changes (#1334)
Chandanydv1234 Jul 8, 2026
6bf436e
Consolidate perf test workflows into a reusable workflow (#1346)
Chandanydv1234 Jul 14, 2026
9a21894
Remove stale unused name field from Matcher and Linker (#682) (#1344)
Chandanydv1234 Jul 14, 2026
453e088
Upgrade GraphFrames from 0.10.0 to 0.11.0 (#1335)
Chandanydv1234 Jul 14, 2026
a965f68
Test spark lite heavy (#1348)
Chandanydv1234 Jul 28, 2026
f76b2fa
Fix: dataFormat/outputFormat/numTotalFields/numMatchFields/stopWords …
siddhik719 Jul 28, 2026
91f8bb4
Fix labeler truncating field values in vertical display
ChandanYdv0402 Aug 5, 2026
21f54e9
Merge pull request #1361 from Chandanydv1234/fix-labeler-truncation
padam-prakash Aug 10, 2026
256f824
Update README.md
sonalgoyal Aug 11, 2026
19c1ff9
docs: fix typos and grammar in FAQ
padam-prakash Aug 11, 2026
8b85ed8
Migrate docs to new GitBook structure
padam-prakash Aug 11, 2026
b9f9d0d
Fix typos in compare-model-results doc
padam-prakash Aug 11, 2026
4ee4e99
added snowflake steps for configuring zingg
LOGANBLUE1 Aug 11, 2026
cf23d8e
added snowflake steps
LOGANBLUE1 Aug 12, 2026
f24de49
remaining snowflake instructions
LOGANBLUE1 Aug 13, 2026
76b1aee
corrected mistakes
LOGANBLUE1 Aug 13, 2026
96df6f9
Use CompareArguments in compare/reassign docs
padam-prakash Aug 13, 2026
08a74a4
addressed comments
LOGANBLUE1 Aug 13, 2026
471998f
Clarify MAPPING_(FILENAME) docs
padam-prakash Aug 13, 2026
04af582
Merge pull request #1365 from LOGANBLUE1/docs_changes
padam-prakash Aug 13, 2026
d1de2a9
-
LOGANBLUE1 Aug 13, 2026
4b4550d
corrected tags issues
LOGANBLUE1 Aug 14, 2026
0dfa613
Refine match type documentation
padam-prakash Aug 14, 2026
9ed3076
Merge pull request #1368 from LOGANBLUE1/docs_changes
padam-prakash Aug 14, 2026
b624498
Clarify EXACT match behavior and fix examples
padam-prakash Aug 14, 2026
ce92f03
Clarify email match-type docs
padam-prakash Aug 14, 2026
ede0d2f
added relative referencing
LOGANBLUE1 Aug 14, 2026
c5a035a
Clarify email_optimised match docs
padam-prakash Aug 14, 2026
63b7624
Merge pull request #1369 from LOGANBLUE1/docs_changes
padam-prakash Aug 14, 2026
3ff8742
Update ONLY_ALPHABETS_FUZZY match-type docs and examples
padam-prakash Aug 14, 2026
f4b613b
Enhance ONLY_ALPHABETS_FUZZY_OPTIMISED documentation
padam-prakash Aug 14, 2026
0aca978
corrected code and json part of config
LOGANBLUE1 Aug 14, 2026
700d4a0
_
LOGANBLUE1 Aug 14, 2026
ad3d4f9
_
LOGANBLUE1 Aug 14, 2026
2f9334e
Merge pull request #1370 from LOGANBLUE1/docs_changes
padam-prakash Aug 14, 2026
741d8a3
Clarify ONLY_ALPHABETS_EXACT match-type documentation
padam-prakash Aug 14, 2026
213d6a7
Clarify NULL_OR_BLANK match type documentation
padam-prakash Aug 14, 2026
375e9de
Clarify DONT_USE match type docs
padam-prakash Aug 14, 2026
9c190e9
docs: standardize zingg.sh invocation to ./scripts/zingg.sh
ChandanYdv0402 Aug 15, 2026
b7ac3da
GITBOOK-328: No subject
sonalgoyal Aug 16, 2026
d0a225a
Merge pull request #1372 from Chandanydv1234/docs/fix-zingg-sh-path
padam-prakash Aug 16, 2026
9176c47
GITBOOK-329: No subject
sonalgoyal Aug 16, 2026
966a231
Document Snowflake findTrainingData job service execution
padam-prakash Aug 16, 2026
07cac30
Merge branch 'main' of https://github.com/zinggAI/zingg
padam-prakash Aug 16, 2026
7536535
GITBOOK-330: No subject
sonalgoyal Aug 16, 2026
8989a89
GITBOOK-331: No subject
sonalgoyal Aug 16, 2026
c2b71ee
GITBOOK-332: No subject
sonalgoyal Aug 16, 2026
488c868
GITBOOK-333: No subject
sonalgoyal Aug 16, 2026
f74cdb6
GITBOOK-334: No subject
sonalgoyal Aug 16, 2026
62805ad
GITBOOK-335: No subject
sonalgoyal Aug 16, 2026
eb36889
Snowflake label job service execution
padam-prakash Aug 16, 2026
86e49ef
GITBOOK-336: No subject
sonalgoyal Aug 16, 2026
d8430d5
Document Snowflake train job flow
padam-prakash Aug 17, 2026
8ad8e18
GITBOOK-337: No subject
sonalgoyal Aug 17, 2026
5c943cc
GITBOOK-338: No subject
sonalgoyal Aug 17, 2026
4466a3a
GITBOOK-339: No subject
padam-prakash Aug 17, 2026
3f29915
Document Snowflake job-service workflows for match and incremental
padam-prakash Aug 17, 2026
c3faca9
Add Blocking Strategies doc and cross-links
padam-prakash Aug 17, 2026
a2c8d81
Add blocking strategy docs and diagram
padam-prakash Aug 17, 2026
3fb09d7
Clarify NUMERIC match docs
padam-prakash Aug 17, 2026
02dd5e6
Clarify NUMERIC_WITH_UNITS behavior in docs
padam-prakash Aug 17, 2026
7c04ae2
Docs: Clarify TEXT match behavior and examples
padam-prakash Aug 17, 2026
911998f
docs: clarify PINCODE match semantics
padam-prakash Aug 17, 2026
ad46ca7
GITBOOK-340: No subject
sonalgoyal Aug 17, 2026
719fdda
GITBOOK-341: No subject
sonalgoyal Aug 17, 2026
13164de
GITBOOK-342: No subject
sonalgoyal Aug 17, 2026
62fd6e7
GITBOOK-343: No subject
sonalgoyal Aug 17, 2026
44bb700
GITBOOK-344: No subject
sonalgoyal Aug 17, 2026
2887076
Add Update Label doc
padam-prakash Aug 17, 2026
320c155
GITBOOK-346: No subject
padam-prakash Aug 17, 2026
bb0cdf6
GITBOOK-347: No subject
sonalgoyal Aug 17, 2026
125a7af
GITBOOK-348: No subject
sonalgoyal Aug 17, 2026
0cf421b
GITBOOK-349: No subject
sonalgoyal Aug 17, 2026
3de3eb5
GITBOOK-350: No subject
sonalgoyal Aug 17, 2026
dfe961b
Remove broken JsonStringArgumentsWriter (#1306) (#1378)
Chandanydv1234 Aug 18, 2026
2a9647a
Format ClientOptions initialization in code examples
padam-prakash Aug 18, 2026
97fdec1
Merge branch 'main' of https://github.com/zinggAI/zingg
padam-prakash Aug 18, 2026
95c0b47
docs: correct hosts file path to /etc/hosts in Ubuntu/WSL2 setup (#1375)
Chandanydv1234 Aug 18, 2026
a166660
docs: fix Cassandra format string to org.apache.spark.sql.cassandra (…
Chandanydv1234 Aug 18, 2026
5051d55
docs: fix invalid match type NULLS_MATCH_NOTHING -> NULL_OR_BLANK (#1…
Chandanydv1234 Aug 18, 2026
b7d981e
GITBOOK-352: No subject
sonalgoyal Aug 18, 2026
a5a666c
GITBOOK-353: No subject
sonalgoyal Aug 18, 2026
b42cc38
GITBOOK-354: No subject
sonalgoyal Aug 18, 2026
9c7a40f
GITBOOK-355: No subject
sonalgoyal Aug 18, 2026
5061e62
GITBOOK-356: No subject
sonalgoyal Aug 18, 2026
06aa728
GITBOOK-357: No subject
sonalgoyal Aug 18, 2026
bb13795
GITBOOK-358: No subject
sonalgoyal Aug 18, 2026
cb65ee8
GITBOOK-359: No subject
sonalgoyal Aug 18, 2026
e05b358
GITBOOK-360: No subject
sonalgoyal Aug 18, 2026
ebefa70
GITBOOK-361: No subject
sonalgoyal Aug 18, 2026
2b8ea7a
GITBOOK-362: No subject
sonalgoyal Aug 18, 2026
a61f451
GITBOOK-363: No subject
sonalgoyal Aug 18, 2026
1c721fa
GITBOOK-364: No subject
sonalgoyal Aug 18, 2026
f2dc656
GITBOOK-365: No subject
sonalgoyal Aug 18, 2026
b5fc096
GITBOOK-367: No subject
sonalgoyal Aug 18, 2026
086285b
GITBOOK-368: No subject
sonalgoyal Aug 18, 2026
adfc1bd
GITBOOK-369: No subject
sonalgoyal Aug 18, 2026
af24f21
GITBOOK-370: No subject
sonalgoyal Aug 18, 2026
4702a20
GITBOOK-371: No subject
sonalgoyal Aug 18, 2026
647bc45
GITBOOK-372: No subject
sonalgoyal Aug 18, 2026
4c325bb
GITBOOK-373: No subject
sonalgoyal Aug 19, 2026
390a937
GITBOOK-374: No subject
sonalgoyal Aug 19, 2026
1f6fcbc
GITBOOK-375: No subject
sonalgoyal Aug 19, 2026
024f129
GITBOOK-376: No subject
sonalgoyal Aug 19, 2026
84a6a38
GITBOOK-377: No subject
sonalgoyal Aug 19, 2026
01b35ea
GITBOOK-379: No subject
sonalgoyal Aug 19, 2026
de98199
GITBOOK-380: No subject
sonalgoyal Aug 19, 2026
553f43a
GITBOOK-381: No subject
sonalgoyal Aug 19, 2026
66c3cbd
GITBOOK-382: No subject
sonalgoyal Aug 19, 2026
9ee3420
GITBOOK-383: No subject
sonalgoyal Aug 19, 2026
01f9725
GITBOOK-384: No subject
sonalgoyal Aug 19, 2026
e5f5c33
GITBOOK-385: No subject
sonalgoyal Aug 19, 2026
496ad42
GITBOOK-386: No subject
sonalgoyal Aug 19, 2026
22ce183
GITBOOK-387: No subject
sonalgoyal Aug 19, 2026
00e6245
Docs: update explain phase and examples
padam-prakash Aug 19, 2026
42aba76
GITBOOK-388: No subject
sonalgoyal Aug 19, 2026
c156284
GITBOOK-389: No subject
sonalgoyal Aug 19, 2026
7c5bbda
GITBOOK-390: No subject
sonalgoyal Aug 19, 2026
f2ee557
GITBOOK-391: No subject
sonalgoyal Aug 19, 2026
20b44da
added images in databricks and fabric platform guide (#1380)
LOGANBLUE1 Aug 19, 2026
e00b452
GITBOOK-392: No subject
sonalgoyal Aug 19, 2026
51ef576
GITBOOK-393: No subject
sonalgoyal Aug 19, 2026
33f2c77
GITBOOK-395: No subject
sonalgoyal Aug 19, 2026
91b91bb
Consolidate explainability and statistics docs
padam-prakash Aug 19, 2026
6a2743b
GITBOOK-396: No subject
sonalgoyal Aug 19, 2026
4a4e2f9
GITBOOK-397: No subject
sonalgoyal Aug 19, 2026
2fd57ab
GITBOOK-398: No subject
sonalgoyal Aug 19, 2026
71af1dc
GITBOOK-399: No subject
sonalgoyal Aug 19, 2026
124ea0c
GITBOOK-400: No subject
sonalgoyal Aug 19, 2026
cca0321
GITBOOK-401: No subject
sonalgoyal Aug 19, 2026
1015315
GITBOOK-402: No subject
sonalgoyal Aug 19, 2026
251a03f
GITBOOK-403: No subject
sonalgoyal Aug 19, 2026
1456926
GITBOOK-404: No subject
sonalgoyal Aug 19, 2026
c095f57
GITBOOK-405: No subject
sonalgoyal Aug 19, 2026
21c5496
GITBOOK-406: No subject
sonalgoyal Aug 20, 2026
57ee1c5
GITBOOK-407: No subject
padam-prakash Aug 20, 2026
f026722
GITBOOK-408: No subject
sonalgoyal Aug 20, 2026
ed1ea80
GITBOOK-410: No subject
sonalgoyal Aug 20, 2026
e7555af
GITBOOK-411: No subject
sonalgoyal Aug 20, 2026
2d50a93
GITBOOK-412: No subject
sonalgoyal Aug 21, 2026
57fbb7d
GITBOOK-413: No subject
sonalgoyal Aug 21, 2026
7dfcef0
Remove unsupported Spark 3.4 build profile (#1343)
Chandanydv1234 Aug 22, 2026
54c0c4f
added date field and tests (#1314)
LOGANBLUE1 Aug 22, 2026
4f067fd
Use native Spark regexp_replace for stopword removal instead of a UDF…
Chandanydv1234 Aug 22, 2026
3ccd7a5
GITBOOK-415: No subject
sonalgoyal Aug 23, 2026
ffd7147
GITBOOK-416: No subject
sonalgoyal Aug 23, 2026
9d31ba1
Auto-generate dependabot.yml from pom dependency scopes
ChandanYdv0402 Aug 24, 2026
5347f73
Bump org.junit.jupiter:junit-jupiter-engine in /spark
dependabot[bot] Aug 24, 2026
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
34 changes: 27 additions & 7 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,31 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file

# ---------------------------------------------------------------------------
# AUTO-GENERATED by scripts/gen-dependabot.py from the poms' dependency scopes.
# Do not edit by hand — run the script and commit the result.
# allow (include) = `compile`-scope deps we actually ship -> watch these
# ignore (exclude) = `provided`-scope deps supplied by the runtime -> noise
# A dep that is `provided` in any module is treated as provided (ignore wins).
# ---------------------------------------------------------------------------
version: 2
updates:
- package-ecosystem: "*" # See documentation for possible values
directory: "/" # Location of package manifests
- package-ecosystem: "maven"
directories:
- "/**" # root + all Maven submodules
schedule:
interval: "weekly"
open-pull-requests-limit: 10
allow:
- dependency-name: "com.fasterxml.jackson.core:jackson-annotations"
- dependency-name: "com.fasterxml.jackson.module:jackson-module-scala_2.12"
- dependency-name: "com.wcohen.ss:secondstring"
- dependency-name: "commons-logging:commons-logging"
- dependency-name: "io.graphframes:graphframes-spark3_2.12"
- dependency-name: "javax.mail:mail"
- dependency-name: "org.apache.httpcomponents:httpclient"
- dependency-name: "org.freemarker:freemarker"
ignore:
- dependency-name: "com.fasterxml.jackson.core:jackson-core"
- dependency-name: "com.fasterxml.jackson.core:jackson-databind"
- dependency-name: "org.apache.spark:spark-core_*"
- dependency-name: "org.apache.spark:spark-graphx_*"
- dependency-name: "org.apache.spark:spark-mllib_*"
- dependency-name: "org.scala-lang:scala-library"
4 changes: 2 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ jobs:
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set up JDK 11
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
java-version: '11'
distribution: 'adopt'
Expand Down
29 changes: 29 additions & 0 deletions .github/workflows/dependabot-config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: dependabot-config

# Ensures .github/dependabot.yml stays in sync with the poms' dependency scopes.
# The file is generated by scripts/gen-dependabot.py; this fails the build if a
# pom changed but the config wasn't regenerated.
on:
pull_request:
paths:
- '**/pom.xml'
- '.github/dependabot.yml'
- 'scripts/gen-dependabot.py'
- '.github/workflows/dependabot-config.yml'
push:
branches: [ main ]
paths:
- '**/pom.xml'
- '.github/dependabot.yml'
- 'scripts/gen-dependabot.py'

jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Verify dependabot.yml matches the poms
run: python3 scripts/gen-dependabot.py --check
86 changes: 10 additions & 76 deletions .github/workflows/perfTest-febrl120K.yml
Original file line number Diff line number Diff line change
@@ -1,80 +1,14 @@
name: performance-test-febrl120K

on:
workflow_dispatch:
schedule:
- cron: "0 0 */3 * *" # runs every 3 days at 00 AM UTC
  workflow_dispatch:
  schedule:
    - cron: "0 0 */3 * *" # runs every 3 days at 00 AM UTC

jobs:
perf-test:
name: performance-test-febrl120K
runs-on: ubuntu-latest
env:
SPARK_MASTER: local[*]
ZINGG_HOME: assembly/target
ZINGG_USER: zingg_user
INPUT: "zingg_community_performance_reports/perf_test/perfTestInput_febrl120K.json"
steps:
- name: checkout repo content
uses: actions/checkout@v3 # checkout the repository content to github runner.
- name: Load Spark config
id: cfg
run: |
set -a #Automatically marks all subsequently defined variables for export
source spark.env
echo "spark_version=$SPARK_VERSION" >> "$GITHUB_OUTPUT"
echo "hadoop_version=$HADOOP_VERSION" >> "$GITHUB_OUTPUT"
echo "spark_url=$SPARK_URL" >> "$GITHUB_OUTPUT"
- name: setup python
uses: actions/setup-python@v4
with:
python-version: 3.12.7 #install the python needed
- uses: actions/setup-java@v4
with:
java-version: '11'
distribution: temurin
- name: setup spark
uses: vemonet/setup-spark@v1
with:
spark-version: ${{ steps.cfg.outputs.spark_version }}
hadoop-version: ${{ steps.cfg.outputs.hadoop_version }}
spark-url: ${{ steps.cfg.outputs.spark_url }}
- name: check spark
run: spark-submit --version
- name: mvn clean
run: mvn clean
- name: Build with Maven
run: mvn clean compile package -DskipTests=true
- name: Clone performance reports repo
run: |
set -e #Exit immediately if a command exits with a non-zero status.
echo "Cloning performance reports repo..."
git clone https://x-access-token:${{ secrets.GH_PERF_COMMUNITY_ACTION }}@github.com/zinggAI/zingg_community_performance_reports.git
echo "Listing inside cloned repo:"
ls -al zingg_community_performance_reports || true
- name: download and execute py script
run: |
wget -O perfTestRunner.py https://raw.githubusercontent.com/zinggAI/zingg_performance/main/perfTestRunner.py
echo "Running script..."
python perfTestRunner.py
- name: Commit test results
if: always()
run: |
cd zingg_community_performance_reports
git remote set-url origin https://x-access-token:${{ secrets.GH_PERF_COMMUNITY_ACTION }}@github.com/zinggAI/zingg_community_performance_reports.git
git config user.name sonalgoyal
git config user.email sonalgoyal4@gmail.com
git add perf_test/perf_test_report/*.json
if git diff --cached --quiet; then
echo "No changes to commit for perfTest-febrl120K."
else
echo "Committing changes..."
git commit -m "report generated"

echo "Fetching remote..."
git fetch origin main

echo "Rebasing onto origin/main..."
git rebase origin/main || (echo "Rebase failed; resetting hard to origin/main" && git rebase --abort && git reset --hard origin/main)
echo "Attempting push..."
git push origin HEAD:main
fi
  perf-test:
    uses: ./.github/workflows/perfTest-reusable.yml
    with:
      test_name: performance-test-febrl120K
      input_file: "zingg_community_performance_reports/perf_test/perfTestInput_febrl120K.json"
    secrets: inherit
86 changes: 10 additions & 76 deletions .github/workflows/perfTest-ncVoters5M.yml
Original file line number Diff line number Diff line change
@@ -1,80 +1,14 @@
name: performance-test-ncVoters5M

on:
workflow_dispatch:
schedule:
- cron: "0 3 */3 * *" # runs every 3 days at 3 AM UTC
  workflow_dispatch:
  schedule:
    - cron: "0 3 */3 * *" # runs every 3 days at 3 AM UTC

jobs:
perf-test:
name: performance-test-ncVoters5M
runs-on: ubuntu-latest
env:
SPARK_MASTER: local[*]
ZINGG_HOME: assembly/target
ZINGG_USER: zingg_user
INPUT: "zingg_community_performance_reports/perf_test/perfTestInput_ncVoters5M.json"
steps:
- name: checkout repo content
uses: actions/checkout@v3 # checkout the repository content to github runner.
- name: Load Spark config
id: cfg
run: |
set -a #Automatically marks all subsequently defined variables for export
source spark.env
echo "spark_version=$SPARK_VERSION" >> "$GITHUB_OUTPUT"
echo "hadoop_version=$HADOOP_VERSION" >> "$GITHUB_OUTPUT"
echo "spark_url=$SPARK_URL" >> "$GITHUB_OUTPUT"
- name: setup python
uses: actions/setup-python@v4
with:
python-version: 3.12.7 #install the python needed
- uses: actions/setup-java@v4
with:
java-version: '11'
distribution: temurin
- name: setup spark
uses: vemonet/setup-spark@v1
with:
spark-version: ${{ steps.cfg.outputs.spark_version }}
hadoop-version: ${{ steps.cfg.outputs.hadoop_version }}
spark-url: ${{ steps.cfg.outputs.spark_url }}
- name: check spark
run: spark-submit --version
- name: mvn clean
run: mvn clean
- name: Build with Maven
run: mvn clean compile package -DskipTests=true
- name: Clone performance reports repo
run: |
set -e #Exit immediately if a command exits with a non-zero status.
echo "Cloning performance reports repo..."
git clone https://x-access-token:${{ secrets.GH_PERF_COMMUNITY_ACTION }}@github.com/zinggAI/zingg_community_performance_reports.git
echo "Listing inside cloned repo:"
ls -al zingg_community_performance_reports || true
- name: download and execute py script
run: |
wget -O perfTestRunner.py https://raw.githubusercontent.com/zinggAI/zingg_performance/main/perfTestRunner.py
echo "Running script..."
python perfTestRunner.py
- name: Commit test results
if: always()
run: |
cd zingg_community_performance_reports
git remote set-url origin https://x-access-token:${{ secrets.GH_PERF_COMMUNITY_ACTION }}@github.com/zinggAI/zingg_community_performance_reports.git
git config user.name sonalgoyal
git config user.email sonalgoyal4@gmail.com
git add perf_test/perf_test_report/*.json
if git diff --cached --quiet; then
echo "No changes to commit for perfTest-febrl120K."
else
echo "Committing changes..."
git commit -m "report generated"

echo "Fetching remote..."
git fetch origin main

echo "Rebasing onto origin/main..."
git rebase origin/main || (echo "Rebase failed; resetting hard to origin/main" && git rebase --abort && git reset --hard origin/main)
echo "Attempting push..."
git push origin HEAD:main
fi
  perf-test:
    uses: ./.github/workflows/perfTest-reusable.yml
    with:
      test_name: performance-test-ncVoters5M
      input_file: "zingg_community_performance_reports/perf_test/perfTestInput_ncVoters5M.json"
    secrets: inherit
94 changes: 94 additions & 0 deletions .github/workflows/perfTest-reusable.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
name: performance-test-reusable

on:
workflow_call:
inputs:
test_name:
description: "Name of the performance test (used for the job name and logs)"
required: true
type: string
input_file:
description: "Path to the perf test input JSON (passed to the runner as INPUT)"
required: true
type: string

jobs:
perf-test:
name: ${{ inputs.test_name }}
runs-on: ubuntu-latest
env:
SPARK_MASTER: local[*]
ZINGG_HOME: assembly/target
ZINGG_USER: zingg_user
INPUT: ${{ inputs.input_file }}
steps:
- name: checkout repo content
uses: actions/checkout@v4 # checkout the repository content to github runner.
- name: Load Spark config
id: cfg
run: |
set -a #Automatically marks all subsequently defined variables for export
source spark.env
echo "spark_version=$SPARK_VERSION" >> "$GITHUB_OUTPUT"
echo "hadoop_version=$HADOOP_VERSION" >> "$GITHUB_OUTPUT"
echo "spark_url=$SPARK_URL" >> "$GITHUB_OUTPUT"
- name: setup python
uses: actions/setup-python@v5
with:
python-version: 3.12.7 #install the python needed
- uses: actions/setup-java@v4
with:
java-version: '11'
distribution: temurin
- name: setup spark
uses: vemonet/setup-spark@v1
with:
spark-version: ${{ steps.cfg.outputs.spark_version }}
hadoop-version: ${{ steps.cfg.outputs.hadoop_version }}
spark-url: ${{ steps.cfg.outputs.spark_url }}
- name: check spark
run: spark-submit --version
- name: mvn clean
run: mvn clean
- name: Build with Maven
run: mvn clean compile package -DskipTests=true
- name: Clone performance reports repo
run: |
set -e #Exit immediately if a command exits with a non-zero status.
echo "Cloning performance reports repo..."
git clone https://x-access-token:${{ secrets.GH_PERF_COMMUNITY_ACTION }}@github.com/zinggAI/zingg_community_performance_reports.git
echo "Listing inside cloned repo:"
ls -al zingg_community_performance_reports || true
- name: Install plotting dependencies
run: |
pip install pandas matplotlib
- name: download and execute py script
run: |
wget -O perfTestRunner.py https://raw.githubusercontent.com/zinggAI/zingg_performance/main/perfTestRunner.py
wget -O plot_result.py https://raw.githubusercontent.com/zinggAI/zingg_performance/main/plot_result.py
echo "Running script..."
python perfTestRunner.py
echo "Plotting results..."
python plot_result.py
- name: Commit test results
if: always()
run: |
cd zingg_community_performance_reports
git remote set-url origin https://x-access-token:${{ secrets.GH_PERF_COMMUNITY_ACTION }}@github.com/zinggAI/zingg_community_performance_reports.git
git config user.name sonalgoyal
git config user.email sonalgoyal4@gmail.com
git add perf_test/perf_test_report/
if git diff --cached --quiet; then
echo "No changes to commit for ${{ inputs.test_name }}."
else
echo "Committing changes..."
git commit -m "report generated"

echo "Fetching remote..."
git fetch origin main

echo "Rebasing onto origin/main..."
git rebase origin/main || (echo "Rebase failed; resetting hard to origin/main" && git rebase --abort && git reset --hard origin/main)
echo "Attempting push..."
git push origin HEAD:main
fi
4 changes: 2 additions & 2 deletions .github/workflows/pmd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ jobs:
contents: read
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v3
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '11'
Expand Down
18 changes: 18 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
hooks:
- id: trailing-whitespace # remove spaces at the end of the line
- id: end-of-file-fixer # file ends with exactly one new line
- id: check-yaml
- id: check-merge-conflict

- repo: local
hooks:
- id: dependabot-config
name: dependabot.yml is generated from the poms
entry: python3 scripts/gen-dependabot.py --check
language: system
pass_filenames: false
# Re-check whenever a pom or the generated config changes.
files: '(pom\.xml|\.github/dependabot\.yml|scripts/gen-dependabot\.py)$'
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#FROM docker.io/bitnami/spark:3.1.2
FROM apache/spark:3.5.0-python3
FROM apache/spark:3.5.5-python3
USER 0
RUN apt-get update && \
apt install -y curl vim
Expand Down
Loading
Loading