Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
17 changes: 15 additions & 2 deletions .github/workflows/check-dependencies.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ jobs:
env:
USE_STAGE: 'false' # Whether to include the stage repository.
SCRIPT_DEPENDENCY: install-dist/scripts/dependency
PYTHONDONTWRITEBYTECODE: '1' # Keep generated Python caches out of source style checks.
steps:
- name: Checkout source
uses: actions/checkout@v7
Expand All @@ -29,15 +30,27 @@ jobs:
cp $HOME/.m2/settings.xml /tmp/settings.xml
mv -vf .github/configs/settings.xml $HOME/.m2/settings.xml

- name: Test shared foundation checks
run: python3 -m unittest discover -s install-dist/scripts/shared-foundation -p 'test_*.py'

- name: Test dependency inventory producer and checker
run: python3 -m unittest discover -s install-dist/scripts/dependency -p 'test_*.py'

- name: mvn install
run: |
mvn install -Dmaven.test.skip=true -ntp --fail-at-end
- name: Check shared foundation boundaries and shipped classes
run: |
REVISION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)
python3 install-dist/scripts/shared-foundation/check_shared_foundation.py --revision "$REVISION"

- name: generate current dependencies
run: |
bash $SCRIPT_DEPENDENCY/regenerate_known_dependencies.sh current-dependencies.txt
bash $SCRIPT_DEPENDENCY/regenerate_known_dependencies.sh "$PWD/target/dependency/current-dependencies.txt"
- name: check third dependencies
run: |
bash $SCRIPT_DEPENDENCY/check_dependencies.sh
bash $SCRIPT_DEPENDENCY/check_dependencies.sh \
"$SCRIPT_DEPENDENCY/known-dependencies.txt" "$PWD/target/dependency/current-dependencies.txt"

dependency-review:
runs-on: ubuntu-latest
Expand Down
10 changes: 10 additions & 0 deletions .github/workflows/pd-store-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -388,6 +388,13 @@ jobs:
$TRAVIS_DIR/start-pd.sh
$TRAVIS_DIR/start-store.sh

- name: Run historical Store ingress tests
run: |
mvn test -pl hugegraph-store/hg-store-node -am \
-Dtest=StoredRowIngressTest -Dsurefire.failIfNoSpecifiedTests=false \
-Djacoco.sessionId=store-node-test \
-Djacoco.destFile="$PWD/hugegraph-store/hg-store-test/target/store-node-test.exec"

- name: Run common test
run: |
mvn test -pl hugegraph-store/hg-store-test -am \
Expand Down Expand Up @@ -431,6 +438,8 @@ jobs:
"$TEST_REPORT_DIR/TEST-org.apache.hugegraph.store.raftcore.RaftSuiteTest.xml" \
--require-test-report \
"$TEST_REPORT_DIR/TEST-org.apache.hugegraph.store.core.CoreSuiteTest.xml" \
--require-test-report \
"hugegraph-store/hg-store-node/target/surefire-reports/TEST-org.apache.hugegraph.store.business.StoredRowIngressTest.xml" \
--require-covered-group hg-store-common \
--require-covered-group hg-store-client \
--require-covered-group hg-store-rocksdb \
Expand All @@ -440,6 +449,7 @@ jobs:
--require-session store-rocksdb-test \
--require-session store-raftcore-test \
--require-session store-core-test \
--require-session store-node-test \
"$REPORT_FILE" \
hg-store-grpc hg-store-common hg-store-client hg-store-rocksdb hg-store-core

Expand Down
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,9 @@ See the [backend evolution guide](hugegraph-server/README.md#backend-evolution-a
| [hugegraph-pd](hugegraph-pd/README.md) | Placement Driver for distributed mode - handles meta storage, partition management and cluster scheduling |
| [hugegraph-store](hugegraph-store/README.md) | Distributed storage with Raft consensus for high availability and horizontal scaling |
| [hugegraph-commons](hugegraph-commons) | Shared utilities, RPC framework and common components |
| [hugegraph-struct](hugegraph-struct/README.md) | Shared schema, IDs, base elements, queries and encoding used by Server and Store |

See the [1.8.0 shared-foundation migration guide](docs/shared-foundation-migration.md) for Java API changes, module ownership and coordinated upgrade requirements.

<details>
<summary><b>📊 Click to view detailed architecture diagram (Mermaid)</b></summary>
Expand Down
20 changes: 20 additions & 0 deletions docs/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,11 @@ mvn editorconfig:format
mvn clean compile -Dmaven.javadoc.skip=true
```

The root POM and child modules flatten CI-friendly versions during `process-resources`,
so installed and deployed POMs use a concrete version instead of `${revision}`. Build the
reactor with `install` before building modules separately; keep Maven Resolver validation
enabled, including on Maven 3.10+.

Run the affected module tests and add regression coverage when behavior changes.
A successful build with skipped tests does not validate behavior; Commons tests require
`-DskipCommonsTests=false`. For documentation-only changes, verify links and paths and run
Expand All @@ -50,6 +55,21 @@ and automatic cancellation and retries. Report what you actually validated and a
Update the [dependency inventory](../install-dist/scripts/dependency/known-dependencies.txt)
using [the regeneration script](../install-dist/scripts/dependency/regenerate_known_dependencies.sh).

Install/package the current reactor before regenerating the inventory:

```bash
mvn install -DskipTests -Dmaven.javadoc.skip=true
bash install-dist/scripts/dependency/regenerate_known_dependencies.sh
```

The build must produce Server, PD and Store distributions for the same current revision.
It skips tests and is not validation evidence. The inventory combines Maven runtime
dependencies with flat and nested distribution jars, including Spring Boot `BOOT-INF/lib`
dependencies inserted by repackaging. Missing distributions fail collection; source or POM
inspection alone cannot establish the full shipped inventory. Review all additions and
removals and their license/NOTICE coverage. The dependency check compares the exact inventory;
repeat it for release platform/profile variants as needed.

## Submit and review

Use `type(scope): description` for commits; omit the scope when it is unclear.
Expand Down
Loading
Loading