Skip to content

ci(satp-hermes): CI for CBDC #3936

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 10 commits into
base: satp-stg
Choose a base branch
from
Draft
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
Jump to file
Failed to load files.
Loading
Diff view
Diff view
624 changes: 624 additions & 0 deletions .github/workflows/example-cbdc-bridging.yaml

Large diffs are not rendered by default.

629 changes: 500 additions & 129 deletions .github/workflows/satp-hermes-gateway.yaml

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -59,9 +59,9 @@ export class CbdcBridgingAppDummyInfrastructure {

private static readonly networkName = "CDBC_Network";

private static readonly DOCKER_IMAGE_VERSION = "918079c5a-2025-04-29";
private static readonly DOCKER_IMAGE_VERSION = "42f2d28b7-2025-05-28";
private static readonly DOCKER_IMAGE_NAME =
"kubaya/cacti-satp-hermes-gateway";
"aaugusto11/cacti-satp-hermes-gateway";

private readonly log: Logger;
private readonly logLevel: LogLevelDesc;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ const log = LoggerProvider.getOrCreate({
label: "BUNGEE - Hermes",
});
beforeAll(async () => {
pruneDockerAllIfGithubAction({ logLevel })
await pruneDockerAllIfGithubAction({ logLevel })
.then(() => {
log.info("Pruning throw OK");
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ version: v2
clean: true
plugins:
- local: protoc-gen-es
out: ../typescript/generated/proto/
out: src/main/typescript/generated/proto/
opt: target=ts
strategy: directory
- local: protoc-gen-connect-es
out: ../typescript/generated/proto/
out: src/main/typescript/generated/proto/
opt:
- target=ts
- js_import_style=module
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
version: v2
modules:
- path: src/main/proto
lint:
use:
- STANDARD
Expand All @@ -9,7 +11,6 @@ lint:
rpc_allow_google_protobuf_empty_requests: true
rpc_allow_google_protobuf_empty_responses: true
service_suffix: Service

breaking:
use:
- FILE
43 changes: 33 additions & 10 deletions packages/cactus-plugin-satp-hermes/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -65,10 +65,10 @@
"dist/*"
],
"scripts": {
"build:bundle": "ncc build ./dist/lib/main/typescript/plugin-satp-hermes-gateway-cli.js --out=./dist/bundle/ncc/ --external=fabric-common --external=pg-cloudflare --external=bufferutil",
"build:bundle": "ncc build ./dist/lib/main/typescript/plugin-satp-hermes-gateway-cli.js --out=./dist/bundle/ncc/ --external=fabric-common --external=bufferutil --external=pg-cloudflare",
"build:bundle:prod": "ncc build ./dist/lib/main/typescript/plugin-satp-hermes-gateway-cli.js --minify --out=./dist/bundle/ncc/ --external=fabric-common --external=bufferutil",
"build": "run-s codegen tsc",
"build-proto": "buf build --path src/main/proto --verbose",
"build-proto": "buf build --verbose",
"build:dev:backend:postbuild": "",
"bundle-openapi-json": "swagger-cli bundle ./src/main/yml/bol/openapi-blo.yml -o ./src/main/json/openapi-blo-bundled.json -r -t json",
"bundle-openapi-yaml": "swagger-cli bundle ./src/main/yml/bol/openapi-blo.yml -o ./src/main/yml/bol/openapi-blo-bundled.yml -r -t yaml",
Expand All @@ -86,21 +86,23 @@
"forge": "forge build ./src/main/solidity/*.sol --out ./src/main/solidity/generated",
"forge:all": "run-s 'forge' 'forge:test'",
"forge:test": "forge build ./src/test/solidity/contracts/*.sol --out ./src/test/solidity/generated",
"generate-proto": "cd src/main/proto && yarn buf generate --verbose",
"generate-proto": "yarn buf generate --verbose",
"generate-sdk": "run-p 'generate-sdk:*'",
"generate-sdk:go": "openapi-generator-cli generate -i ./src/main/yml/bol/openapi-blo-bundled.yml -g go -o ./src/main/go/generated/gateway-client --additional-properties=packageName=generated,generateInterfaces=true,packageVersion=v0.0.1,moduleName=github.com/hyperledger/cacti/packages/cactus-plugin-satp-hermes/src/main/go/generated --git-user-id hyperledger --git-repo-id cacti/packages/cactus-plugin-satp-hermes/src/main/go/generated",
"generate-sdk:typescript-axios-bol": "yarn bundle-openapi-yaml && yarn bundle-openapi-json && openapi-generator-cli generate -i ./src/main/yml/bol/openapi-blo-bundled.yml -g typescript-axios -o ./src/main/typescript/generated/gateway-client/typescript-axios/ --reserved-words-mappings protected=protected --enable-post-process-file",
"lint": "run-p 'lint:*'",
"lint": "run-s 'lint:*' 'lint-code'",
"lint-code": "run-s format:eslint format:prettier",
"format:eslint": "eslint '**/*.{js,ts}' --quiet --fix --ignore-path .eslintignore",
"format:prettier": "prettier --write --config ../../.prettierrc.js --ignore-path .prettierignore \"**/{openapi.json,*.ts,*.js}\"",
"lint:oapi": "vacuum lint -d -e ./src/main/yml/bol/openapi-blo-bundled.yml",
"lint:protobuf": "cd src/main/proto && buf lint --verbose",
"preinstall": "curl -L https://foundry.paradigm.xyz | bash && foundryup",
"lint:protobuf": "buf lint --verbose",
"pretsc": "npm run generate-sdk",
"start-gateway": "node ./dist/lib/main/typescript/plugin-satp-hermes-gateway-cli.js",
"test:integration": "npx jest ./src/test/typescript/integration",
"test:unit": "npx jest ./src/test/typescript/unit",
"test:integration:gateway": "NODE_OPTIONS=--max-old-space-size=4096 npx jest ./src/test/typescript/integration/gateway --runInBand --forceExit",
"test:integration:bridge": "NODE_OPTIONS=--max-old-space-size=4096 npx jest ./src/test/typescript/integration/bridge --runInBand --forceExit",
"test:integration:oracle": "NODE_OPTIONS=--max-old-space-size=4096 npx jest ./src/test/typescript/integration/oracle --runInBand --forceExit",
"test:integration:docker": "NODE_OPTIONS=--max-old-space-size=4096 npx jest ./src/test/typescript/integration/docker --runInBand --forceExit",
"test:unit": "NODE_OPTIONS=--max-old-space-size=4096 npx jest ./src/test/typescript/unit --runInBand --forceExit",
"tsc": "tsc --project ./tsconfig.json",
"watch": "tsc --build --watch",
"db:setup": "bash -c 'npm run db:destroy || true && run-s db:start db:migrate db:seed'",
Expand All @@ -120,9 +122,26 @@
"docker:compose": "docker compose --project-directory ./ -f ./docker-compose.yml up --build"
},
"jest": {
"preset": "ts-jest",
"testEnvironment": "node",
"transform": {
"^.+\\.tsx?$": "ts-jest"
},
"testRegex": "(/test/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$",
"moduleFileExtensions": [
"ts",
"tsx",
"js",
"jsx",
"json",
"node"
],
"moduleNameMapper": {
"(.+)\\.js": "$1"
}
"^(\\.?\\.?/.*)\\.js$": "$1"
},
"modulePathIgnorePatterns": [
"<rootDir>/dist/"
]
},
"dependencies": {
"@bufbuild/protobuf": "2.2.2",
Expand Down Expand Up @@ -194,13 +213,15 @@
"@grpc/proto-loader": "0.7.13",
"@hyperledger/cactus-api-client": "2.1.0",
"@hyperledger/cactus-test-geth-ledger": "2.1.0",
"@openapitools/openapi-generator-cli": "2.7.0",
"@quobix/vacuum": "0.9.16",
"@types/body-parser": "1.19.4",
"@types/crypto-js": "4.0.1",
"@types/dockerode": "3.2.7",
"@types/express": "5.0.1",
"@types/fs-extra": "11.0.4",
"@types/google-protobuf": "3.15.12",
"@types/jest": "29",
"@types/node": "18.18.2",
"@types/node-schedule": "2.1.7",
"@types/pg": "8.11.10",
Expand All @@ -224,12 +245,14 @@
"grpc-tools": "1.12.4",
"grpc_tools_node_protoc_ts": "5.3.3",
"internal-ip": "6.2.0",
"jest": "29.5.0",
"jsonc": "2.0.0",
"kubo-rpc-client": "3.0.4",
"make-dir-cli": "3.1.0",
"prettier": "3.2.5",
"protobufjs": "7.2.5",
"swagger-cli": "4.0.4",
"ts-jest": "29.3.3",
"ts-node": "10.9.1",
"typescript": "5.5.2"
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ docs/AddCounterpartyRequestCounterparty.md
docs/AddCounterpartyRequestCounterpartyVersionInner.md
docs/AdminApi.md
docs/Asset.md
docs/AuditRequest.md
docs/AuditResponse.md
docs/AuthzJwtClaim.md
docs/AuthzScope.md
docs/BridgeInfo.md
Expand Down Expand Up @@ -51,9 +53,6 @@ docs/GetApproveAddress200Response.md
docs/GetApproveAddressApi.md
docs/GetApproveAddressRequest.md
docs/GetApproveAddressResponse.md
docs/GetAudit200Response.md
docs/GetAuditRequest.md
docs/GetAuditResponse.md
docs/GetHealthCheck200Response.md
docs/GetIntegrations200Response.md
docs/GetIntegrations200ResponseIntegrationsInner.md
Expand Down Expand Up @@ -92,6 +91,7 @@ docs/OracleUnregisterResponse.md
docs/Pause200Response.md
docs/PauseRequest.md
docs/PauseResponse.md
docs/PerformAudit200Response.md
docs/RegisterOracleTask200Response.md
docs/RegisterOracleTaskRequest.md
docs/RegisterOracleTaskRequestDestinationContract.md
Expand Down Expand Up @@ -126,6 +126,8 @@ model_add_counterparty_request_counterparty.go
model_add_counterparty_request_counterparty_version_inner.go
model_api_error.go
model_asset.go
model_audit_request.go
model_audit_response.go
model_authz_jwt_claim.go
model_authz_scope.go
model_bridge_info.go
Expand Down Expand Up @@ -156,9 +158,6 @@ model_gateway_identity.go
model_get_approve_address_200_response.go
model_get_approve_address_request.go
model_get_approve_address_response.go
model_get_audit_200_response.go
model_get_audit_request.go
model_get_audit_response.go
model_get_health_check_200_response.go
model_get_integrations_200_response.go
model_get_integrations_200_response_integrations_inner.go
Expand Down Expand Up @@ -196,6 +195,7 @@ model_oracle_unregister_response.go
model_pause_200_response.go
model_pause_request.go
model_pause_response.go
model_perform_audit_200_response.go
model_register_oracle_task_200_response.go
model_register_oracle_task_request.go
model_register_oracle_task_request_destination_contract.go
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,11 +90,11 @@ Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*AddCounterpartyApi* | [**AddCounterparty**](docs/AddCounterpartyApi.md#addcounterparty) | **Post** /api/v1/@hyperledger/cactus-plugin-satp-hermes/add-counterparty-gateway | Add counterparty
*AdminApi* | [**CallContinue**](docs/AdminApi.md#callcontinue) | **Post** /api/v1/@hyperledger/cactus-plugin-satp-hermes/continue | Continue a paused transaction session
*AdminApi* | [**GetAudit**](docs/AdminApi.md#getaudit) | **Get** /api/v1/@hyperledger/cactus-plugin-satp-hermes/audit | Audit transactions
*AdminApi* | [**GetHealthCheck**](docs/AdminApi.md#gethealthcheck) | **Get** /api/v1/@hyperledger/cactus-plugin-satp-hermes/healthcheck | Health check endpoint
*AdminApi* | [**GetSessionIds**](docs/AdminApi.md#getsessionids) | **Get** /api/v1/@hyperledger/cactus-plugin-satp-hermes/get-sessions-ids | Get SATP session ids
*AdminApi* | [**GetStatus**](docs/AdminApi.md#getstatus) | **Get** /api/v1/@hyperledger/cactus-plugin-satp-hermes/status | Get SATP current session data
*AdminApi* | [**Pause**](docs/AdminApi.md#pause) | **Post** /api/v1/@hyperledger/cactus-plugin-satp-hermes/pause | Pause a transaction session
*AdminApi* | [**PerformAudit**](docs/AdminApi.md#performaudit) | **Get** /api/v1/@hyperledger/cactus-plugin-satp-hermes/audit | Audit transactions
*GetApproveAddressApi* | [**GetApproveAddress**](docs/GetApproveAddressApi.md#getapproveaddress) | **Get** /api/v1/@hyperledger/cactus-plugin-satp-hermes/approve-address | Get approve address
*OracleApi* | [**ExecuteOracleTask**](docs/OracleApi.md#executeoracletask) | **Post** /api/v1/@hyperledger/cactus-plugin-satp-hermes/oracle/execute | Execute data transfer task
*OracleApi* | [**GetOracleTaskStatus**](docs/OracleApi.md#getoracletaskstatus) | **Get** /api/v1/@hyperledger/cactus-plugin-satp-hermes/oracle/status | Get oracle task status
Expand All @@ -117,6 +117,8 @@ Class | Method | HTTP request | Description
- [AddCounterpartyRequestCounterparty](docs/AddCounterpartyRequestCounterparty.md)
- [AddCounterpartyRequestCounterpartyVersionInner](docs/AddCounterpartyRequestCounterpartyVersionInner.md)
- [Asset](docs/Asset.md)
- [AuditRequest](docs/AuditRequest.md)
- [AuditResponse](docs/AuditResponse.md)
- [AuthzJwtClaim](docs/AuthzJwtClaim.md)
- [AuthzScope](docs/AuthzScope.md)
- [BridgeInfo](docs/BridgeInfo.md)
Expand Down Expand Up @@ -147,9 +149,6 @@ Class | Method | HTTP request | Description
- [GetApproveAddress200Response](docs/GetApproveAddress200Response.md)
- [GetApproveAddressRequest](docs/GetApproveAddressRequest.md)
- [GetApproveAddressResponse](docs/GetApproveAddressResponse.md)
- [GetAudit200Response](docs/GetAudit200Response.md)
- [GetAuditRequest](docs/GetAuditRequest.md)
- [GetAuditResponse](docs/GetAuditResponse.md)
- [GetHealthCheck200Response](docs/GetHealthCheck200Response.md)
- [GetIntegrations200Response](docs/GetIntegrations200Response.md)
- [GetIntegrations200ResponseIntegrationsInner](docs/GetIntegrations200ResponseIntegrationsInner.md)
Expand Down Expand Up @@ -187,6 +186,7 @@ Class | Method | HTTP request | Description
- [Pause200Response](docs/Pause200Response.md)
- [PauseRequest](docs/PauseRequest.md)
- [PauseResponse](docs/PauseResponse.md)
- [PerformAudit200Response](docs/PerformAudit200Response.md)
- [RegisterOracleTask200Response](docs/RegisterOracleTask200Response.md)
- [RegisterOracleTaskRequest](docs/RegisterOracleTaskRequest.md)
- [RegisterOracleTaskRequestDestinationContract](docs/RegisterOracleTaskRequestDestinationContract.md)
Expand Down
Loading
Loading