From f3d9de81cc36816191c41ae232c1f4c18716ca2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aar=C3=B3n=20Reynoza?= Date: Mon, 20 Nov 2023 22:27:49 -0600 Subject: [PATCH 01/48] feat: Add support to arm64 docker image --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 975007f3..e8408510 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -417,7 +417,7 @@ jobs: export DOCKER_NODE_VERSION="$NVMRC_VERSION-alpine" echo "export DOCKER_NODE_VERSION=$NVMRC_VERSION-alpine" >> $BASH_ENV echo "Building Docker image: ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local --build-arg NODE_VERSION=$DOCKER_NODE_VERSION" - docker build -t ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local --build-arg NODE_VERSION=$DOCKER_NODE_VERSION . + docker buildx build --progress plain --platform linux/amd64,linux/arm64 -t ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local --build-arg NODE_VERSION=$DOCKER_NODE_VERSION . - run: name: Save docker image to workspace command: docker save -o /tmp/docker-image.tar ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local @@ -934,4 +934,4 @@ workflows: only: /v[0-9]+(\.[0-9]+)*\-snapshot+((\.[0-9]+)?)/ branches: ignore: - - /.*/ \ No newline at end of file + - /.*/ From 957d15142cab69ad43ae9210769ea2f0cb7617a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aar=C3=B3n=20Reynoza?= Date: Mon, 20 Nov 2023 22:35:46 -0600 Subject: [PATCH 02/48] Update config.yml From 1ab77ca1a4f15ad74eec81fbe134160421346fd1 Mon Sep 17 00:00:00 2001 From: Aaron Reynoza Date: Mon, 20 Nov 2023 22:44:30 -0600 Subject: [PATCH 03/48] upgrade deps and add vulnerability check --- audit-ci.jsonc | 5 +- package-lock.json | 517 +++++++++++++++++++++------------------------- package.json | 20 +- 3 files changed, 248 insertions(+), 294 deletions(-) diff --git a/audit-ci.jsonc b/audit-ci.jsonc index 24c0236f..d6cc1322 100644 --- a/audit-ci.jsonc +++ b/audit-ci.jsonc @@ -12,6 +12,9 @@ "GHSA-qwph-4952-7xr6", // https://github.com/advisories/GHSA-qwph-4952-7xr6 // request-provise-native, no fix available "GHSA-p8p7-x288-28g6", // https://github.com/advisories/GHSA-p8p7-x288-28g6 - "GHSA-72xf-g2v4-qvf3" // https://github.com/advisories/GHSA-72xf-g2v4-qvf3 + "GHSA-72xf-g2v4-qvf3", // https://github.com/advisories/GHSA-72xf-g2v4-qvf3 + // babel vulnerable to arbitrary code execution - dev dependency + "GHSA-67hx-6x53-jw92" // https://github.com/advisories/GHSA-67hx-6x53-jw92 + ] } diff --git a/package-lock.json b/package-lock.json index a1b32328..013be436 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23,7 +23,7 @@ "@types/socket.io": "3.0.1", "adm-zip": "0.5.10", "atob": "2.1.2", - "axios": "1.5.1", + "axios": "1.6.2", "chai": "4.3.10", "cookie-parser": "1.4.6", "cookies": "0.8.0", @@ -35,27 +35,27 @@ "handlebars": "4.7.8", "hapi-auth-bearer-token": "8.0.0", "hapi-openapi": "3.0.0", - "hapi-swagger": "17.1.0", + "hapi-swagger": "17.2.0", "ilp-packet": "3.1.3", "js-yaml": "4.1.0", "json-refs": "3.0.15", - "json-rules-engine": "6.4.2", + "json-rules-engine": "6.5.0", "lodash": "4.17.21", "mongo-uri-builder": "4.0.0", - "mongoose": "7.5.3", + "mongoose": "8.0.1", "multer": "1.4.3", "mustache": "4.2.0", "mv": "2.1.1", "node-dir": "0.1.17", "node-strings": "1.0.2", "npm-run-all": "4.1.5", - "openapi-backend": "5.9.2", + "openapi-backend": "5.10.5", "parse-strings-in-object": "1.6.0", "passport": "0.6.0", "passport-jwt": "4.0.1", "path": "0.12.7", - "postman-collection": "4.2.1", - "postman-sandbox": "4.2.7", + "postman-collection": "4.3.0", + "postman-sandbox": "4.4.0", "rc": "1.2.8", "request": "2.88.2", "request-promise-native": "1.0.8", @@ -71,19 +71,19 @@ "ml-testing-toolkit": "src/index.js" }, "devDependencies": { - "@types/jest": "29.5.5", + "@types/jest": "29.5.9", "audit-ci": "6.6.1", "get-port": "7.0.0", "jest": "29.7.0", "jest-junit": "16.0.0", "nodemon": "3.0.1", - "npm-check-updates": "16.14.4", + "npm-check-updates": "16.14.11", "nyc": "15.1.0", "parse-strings-in-object": "1.6.0", "pre-commit": "1.2.2", "proxyquire": "2.1.3", "replace": "1.2.2", - "sinon": "16.0.0", + "sinon": "17.0.1", "standard": "17.1.0", "standard-version": "9.5.0", "supertest": "6.3.3" @@ -1906,10 +1906,9 @@ "integrity": "sha512-JTRqe1iQuB0weu1Mppu0YUApL6CU0CxtmB8pJIhTyTm4X7rmps6p18GVRzwHRfvSP7YUGakzgA+xPqZseF1FOA==" }, "node_modules/@mongodb-js/saslprep": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.0.tgz", - "integrity": "sha512-Xfijy7HvfzzqiOAhAepF4SGN5e9leLkMvg/OPOF97XemjfVCYN/oWa75wnkc6mltMSTwY+XlbhWgUOJmkFspSw==", - "optional": true, + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.1.tgz", + "integrity": "sha512-t7c5K033joZZMspnHg/gWPE4kandgc2OxE74aYOtGKfgB9VPuVJPix0H6fhmm2erj5PBJ21mqcx34lpIGtUCsQ==", "dependencies": { "sparse-bitfield": "^3.0.3" } @@ -2452,9 +2451,9 @@ } }, "node_modules/@types/jest": { - "version": "29.5.5", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.5.tgz", - "integrity": "sha512-ebylz2hnsWR9mYvmBFbXJXr+33UPc4+ZdxyDXh5w0FlPBTfCVN3wPL+kuOiQt3xvrK419v7XWeAs+AeOksafXg==", + "version": "29.5.9", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.9.tgz", + "integrity": "sha512-zJeWhqBwVoPm83sP8h1/SVntwWTu5lZbKQGCvBjxQOyEWnKnsaomt2y7SlV4KfwlrHAHHAn00Sh4IAWaIsGOgQ==", "dev": true, "dependencies": { "expect": "^29.0.0", @@ -2462,9 +2461,9 @@ } }, "node_modules/@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==" + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" }, "node_modules/@types/json5": { "version": "0.0.29", @@ -2473,14 +2472,14 @@ "dev": true }, "node_modules/@types/lodash": { - "version": "4.14.192", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.192.tgz", - "integrity": "sha512-km+Vyn3BYm5ytMO13k9KTp27O75rbQ0NFw+U//g+PX7VZyjCioXaRFisqSIJRECljcTv73G3i6BpglNGHgUQ5A==" + "version": "4.14.202", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.202.tgz", + "integrity": "sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==" }, "node_modules/@types/lodash.clonedeep": { - "version": "4.5.7", - "resolved": "https://registry.npmjs.org/@types/lodash.clonedeep/-/lodash.clonedeep-4.5.7.tgz", - "integrity": "sha512-ccNqkPptFIXrpVqUECi60/DFxjNKsfoQxSQsgcBJCX/fuX1wgyQieojkcWH/KpE3xzLoWN/2k+ZeGqIN3paSvw==", + "version": "4.5.9", + "resolved": "https://registry.npmjs.org/@types/lodash.clonedeep/-/lodash.clonedeep-4.5.9.tgz", + "integrity": "sha512-19429mWC+FyaAhOLzsS8kZUsI+/GmBAQ0HFiCPsKGU+7pBXOQWhyrY6xNNDwUSX8SMZMJvuFVMF9O5dQOlQK9Q==", "dependencies": { "@types/lodash": "*" } @@ -2527,9 +2526,9 @@ "integrity": "sha512-6tOUG+nVHn0cJbVp25JFayS5UE6+xlbcNF9Lo9mU7U0zk3zeUShZied4YEQZjy1JBF043FSkdXw8YkUJuVtB5g==" }, "node_modules/@types/webidl-conversions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-xTE1E+YF4aWPJJeUzaZI5DRntlkY3+BCVJi0axFptnjGmAoWxkyREIh/XMrfxVLejwQxMCfDXdICo0VLxThrog==" + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz", + "integrity": "sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA==" }, "node_modules/@types/whatwg-url": { "version": "8.2.2", @@ -3052,9 +3051,9 @@ "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" }, "node_modules/axios": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.5.1.tgz", - "integrity": "sha512-Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A==", + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz", + "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==", "dependencies": { "follow-redirects": "^1.15.0", "form-data": "^4.0.0", @@ -3436,11 +3435,11 @@ } }, "node_modules/bson": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/bson/-/bson-5.5.0.tgz", - "integrity": "sha512-B+QB4YmDx9RStKv8LLSl/aVIEV3nYJc3cJNNTK2Cd1TL+7P+cNpw9mAPeCgc5K+j01Dv6sxUzcITXDx7ZU3F0w==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/bson/-/bson-6.2.0.tgz", + "integrity": "sha512-ID1cI+7bazPDyL9wYy9GaQ8gEEohWvcUl/Yf0dIdutJxnmInEEyCsb4awy/OiBfall7zBA179Pahi3vCdFze3Q==", "engines": { - "node": ">=14.20.1" + "node": ">=16.20.1" } }, "node_modules/buffer-equal-constant-time": { @@ -6544,9 +6543,9 @@ } }, "node_modules/fp-and-or": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/fp-and-or/-/fp-and-or-0.1.3.tgz", - "integrity": "sha512-wJaE62fLaB3jCYvY2ZHjZvmKK2iiLiiehX38rz5QZxtdN8fVPJDeZUiVvJrHStdTc+23LHlyZuSEKgFc0pxi2g==", + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/fp-and-or/-/fp-and-or-0.1.4.tgz", + "integrity": "sha512-+yRYRhpnFPWXSly/6V4Lw9IfOV26uu30kynGJ03PW+MnjOEQe45RZ141QcS0aJehYBYA50GfCDnsRbFJdhssRw==", "dev": true, "engines": { "node": ">=10" @@ -7242,17 +7241,17 @@ } }, "node_modules/hapi-swagger": { - "version": "17.1.0", - "resolved": "https://registry.npmjs.org/hapi-swagger/-/hapi-swagger-17.1.0.tgz", - "integrity": "sha512-5aMFTqbpvLs6xYiHUv/VTImPS9GAInudOGJ7Sl6QAbEwQhSrqvJysAlcIgVkc5sD6XM0b3lTYvc0YWdZLN3sRA==", + "version": "17.2.0", + "resolved": "https://registry.npmjs.org/hapi-swagger/-/hapi-swagger-17.2.0.tgz", + "integrity": "sha512-vcLz3OK7WLFsuY7cLgPJAulnuvkGSIE3XVbeD1XzoPXtb2jmuDUTg2yvrXx32EwlhSsyT/RP1MIVzHuc8KxvQw==", "dependencies": { - "@apidevtools/json-schema-ref-parser": "^10.1.0", + "@apidevtools/json-schema-ref-parser": "^11.1.0", "@hapi/boom": "^10.0.1", "@hapi/hoek": "^11.0.2", - "handlebars": "^4.7.7", - "http-status": "^1.6.2", + "handlebars": "^4.7.8", + "http-status": "^1.7.3", "swagger-parser": "^10.0.3", - "swagger-ui-dist": "^5.1.0" + "swagger-ui-dist": "^5.9.1" }, "engines": { "node": ">=16.0.0" @@ -7263,12 +7262,12 @@ } }, "node_modules/hapi-swagger/node_modules/@apidevtools/json-schema-ref-parser": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-10.1.0.tgz", - "integrity": "sha512-3e+viyMuXdrcK8v5pvP+SDoAQ77FH6OyRmuK48SZKmdHJRFm87RsSs8qm6kP39a/pOPURByJw+OXzQIqcfmKtA==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-11.1.0.tgz", + "integrity": "sha512-g/VW9ZQEFJAOwAyUb8JFf7MLiLy2uEB4rU270rGzDwICxnxMlPy0O11KVePSgS36K1NI29gSlK84n5INGhd4Ag==", "dependencies": { "@jsdevtools/ono": "^7.1.3", - "@types/json-schema": "^7.0.11", + "@types/json-schema": "^7.0.13", "@types/lodash.clonedeep": "^4.5.7", "js-yaml": "^4.1.0", "lodash.clonedeep": "^4.5.0" @@ -7613,9 +7612,9 @@ } }, "node_modules/http-status": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/http-status/-/http-status-1.6.2.tgz", - "integrity": "sha512-oUExvfNckrpTpDazph7kNG8sQi5au3BeTo0idaZFXEhTaJKu7GNJCLHI0rYY2wljm548MSTM+Ljj/c6anqu2zQ==", + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-status/-/http-status-1.7.3.tgz", + "integrity": "sha512-GS8tL1qHT2nBCMJDYMHGkkkKQLNkIAHz37vgO68XKvzv+XyqB4oh/DfmMHdtRzfqSJPj1xKG2TaELZtlCz6BEQ==", "engines": { "node": ">= 0.4.0" } @@ -7857,7 +7856,8 @@ "node_modules/ip": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", - "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==" + "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==", + "devOptional": true }, "node_modules/ipaddr.js": { "version": "1.9.1", @@ -9081,9 +9081,9 @@ } }, "node_modules/json-rules-engine": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/json-rules-engine/-/json-rules-engine-6.4.2.tgz", - "integrity": "sha512-D1wafl8UHDSlUCq22/jxJYLwKR7Y9YJ/ybFJff8EFw6+4wDR1lb7j4a6VpfBtiOcGcFmB8S2PO+IiUbDPv4XhQ==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/json-rules-engine/-/json-rules-engine-6.5.0.tgz", + "integrity": "sha512-W8SLmnfQRDNG1Nh3Agz3c9AZzhiZ/cUtjAhyfhujFzVFNBv7cSHm9WaLoRjOdRr/9je7RgLtmbYXFViL3CekPA==", "dependencies": { "clone": "^2.1.2", "eventemitter2": "^6.4.4", @@ -9690,8 +9690,7 @@ "node_modules/memory-pager": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", - "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==", - "optional": true + "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==" }, "node_modules/memorystream": { "version": "0.3.1", @@ -10226,26 +10225,25 @@ } }, "node_modules/mongodb": { - "version": "5.8.1", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-5.8.1.tgz", - "integrity": "sha512-wKyh4kZvm6NrCPH8AxyzXm3JBoEf4Xulo0aUWh3hCgwgYJxyQ1KLST86ZZaSWdj6/kxYUA3+YZuyADCE61CMSg==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.2.0.tgz", + "integrity": "sha512-d7OSuGjGWDZ5usZPqfvb36laQ9CPhnWkAGHT61x5P95p/8nMVeH8asloMwW6GcYFeB0Vj4CB/1wOTDG2RA9BFA==", "dependencies": { - "bson": "^5.4.0", - "mongodb-connection-string-url": "^2.6.0", - "socks": "^2.7.1" + "@mongodb-js/saslprep": "^1.1.0", + "bson": "^6.2.0", + "mongodb-connection-string-url": "^2.6.0" }, "engines": { - "node": ">=14.20.1" - }, - "optionalDependencies": { - "@mongodb-js/saslprep": "^1.1.0" + "node": ">=16.20.1" }, "peerDependencies": { "@aws-sdk/credential-providers": "^3.188.0", - "@mongodb-js/zstd": "^1.0.0", - "kerberos": "^1.0.0 || ^2.0.0", - "mongodb-client-encryption": ">=2.3.0 <3", - "snappy": "^7.2.2" + "@mongodb-js/zstd": "^1.1.0", + "gcp-metadata": "^5.2.0", + "kerberos": "^2.0.1", + "mongodb-client-encryption": ">=6.0.0 <7", + "snappy": "^7.2.2", + "socks": "^2.7.1" }, "peerDependenciesMeta": { "@aws-sdk/credential-providers": { @@ -10254,6 +10252,9 @@ "@mongodb-js/zstd": { "optional": true }, + "gcp-metadata": { + "optional": true + }, "kerberos": { "optional": true }, @@ -10262,6 +10263,9 @@ }, "snappy": { "optional": true + }, + "socks": { + "optional": true } } }, @@ -10275,20 +10279,20 @@ } }, "node_modules/mongoose": { - "version": "7.5.3", - "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-7.5.3.tgz", - "integrity": "sha512-QyYzhZusux0wIJs+4rYyHvel0kJm0CT887trNd1WAB3iQnDuJow0xEnjETvuS/cTjHQUVPihOpN7OHLlpJc52w==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-8.0.1.tgz", + "integrity": "sha512-O3TJrtLCt4H1eGf2HoHGcnOcCTWloQkpmIP3hA9olybX3OX2KUjdIIq135HD5paGjZEDJYKn9fw4eH5N477zqQ==", "dependencies": { - "bson": "^5.4.0", + "bson": "^6.2.0", "kareem": "2.5.1", - "mongodb": "5.8.1", + "mongodb": "6.2.0", "mpath": "0.9.0", "mquery": "5.0.0", "ms": "2.1.3", "sift": "16.0.1" }, "engines": { - "node": ">=14.20.1" + "node": ">=16.20.1" }, "funding": { "type": "opencollective", @@ -10445,9 +10449,9 @@ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" }, "node_modules/nise": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.4.tgz", - "integrity": "sha512-8+Ib8rRJ4L0o3kfmyVCL7gzrohyDe0cMFTBa2d364yIrEGMEoetznKJx899YxjybU6bL9SQkYPSBBs1gyYs8Xg==", + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.5.tgz", + "integrity": "sha512-VJuPIfUFaXNRzETTQEEItTOP8Y171ijr+JLq42wHes3DiryR8vT+1TXQW/Rx8JNUhyYYWyIvjXTU6dOhJcs9Nw==", "dev": true, "dependencies": { "@sinonjs/commons": "^2.0.0", @@ -10674,9 +10678,9 @@ } }, "node_modules/npm-check-updates": { - "version": "16.14.4", - "resolved": "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-16.14.4.tgz", - "integrity": "sha512-PKg1wv3vno75/9qgRLqV2huBO7eukOlW+PmIGl7LPXjElfYTUTWUtaMOdOckImaSj4Uqe46W/zMbMFZQp5dHRQ==", + "version": "16.14.11", + "resolved": "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-16.14.11.tgz", + "integrity": "sha512-0MMWGbGci22Pu77bR9jRsy5qgxdQSJVqNtSyyFeubDPtbcU36z4gjEDITu26PMabFWPNkAoVfKF31M3uKUvzFg==", "dev": true, "dependencies": { "chalk": "^5.3.0", @@ -10684,7 +10688,7 @@ "commander": "^10.0.1", "fast-memoize": "^2.5.2", "find-up": "5.0.0", - "fp-and-or": "^0.1.3", + "fp-and-or": "^0.1.4", "get-stdin": "^8.0.0", "globby": "^11.0.4", "hosted-git-info": "^5.1.0", @@ -10702,11 +10706,11 @@ "prompts-ncu": "^3.0.0", "rc-config-loader": "^4.1.3", "remote-git-tags": "^3.0.0", - "rimraf": "^5.0.1", + "rimraf": "^5.0.5", "semver": "^7.5.4", "semver-utils": "^1.1.4", "source-map-support": "^0.5.21", - "spawn-please": "^2.0.1", + "spawn-please": "^2.0.2", "strip-ansi": "^7.1.0", "strip-json-comments": "^5.0.1", "untildify": "^4.0.0", @@ -11470,11 +11474,11 @@ } }, "node_modules/openapi-backend": { - "version": "5.9.2", - "resolved": "https://registry.npmjs.org/openapi-backend/-/openapi-backend-5.9.2.tgz", - "integrity": "sha512-x49QIeqwsty0v5BGzjXsEnx4Hm3cYYU9LOOc2+wWtF0ksMiCBdoZlwk/FQ2bvuZaECSoeCT8wc1iZArP3klwuA==", + "version": "5.10.5", + "resolved": "https://registry.npmjs.org/openapi-backend/-/openapi-backend-5.10.5.tgz", + "integrity": "sha512-ivZfL0Lwj7rRctCqxAquGy4j/VcdUXUvDsEVM3NG/2jDuvYT2dS+sf9ntGo5vv4hkOnkWgPnR6HxHp7NPexqAA==", "dependencies": { - "@apidevtools/json-schema-ref-parser": "^10.1.0", + "@apidevtools/json-schema-ref-parser": "^11.1.0", "ajv": "^8.6.2", "bath-es5": "^3.0.3", "cookie": "^0.5.0", @@ -11493,12 +11497,12 @@ } }, "node_modules/openapi-backend/node_modules/@apidevtools/json-schema-ref-parser": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-10.1.0.tgz", - "integrity": "sha512-3e+viyMuXdrcK8v5pvP+SDoAQ77FH6OyRmuK48SZKmdHJRFm87RsSs8qm6kP39a/pOPURByJw+OXzQIqcfmKtA==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-11.1.0.tgz", + "integrity": "sha512-g/VW9ZQEFJAOwAyUb8JFf7MLiLy2uEB4rU270rGzDwICxnxMlPy0O11KVePSgS36K1NI29gSlK84n5INGhd4Ag==", "dependencies": { "@jsdevtools/ono": "^7.1.3", - "@types/json-schema": "^7.0.11", + "@types/json-schema": "^7.0.13", "@types/lodash.clonedeep": "^4.5.7", "js-yaml": "^4.1.0", "lodash.clonedeep": "^4.5.0" @@ -12103,9 +12107,9 @@ } }, "node_modules/postman-collection": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/postman-collection/-/postman-collection-4.2.1.tgz", - "integrity": "sha512-DFLt3/yu8+ldtOTIzmBUctoupKJBOVK4NZO0t68K2lIir9smQg7OdQTBjOXYy+PDh7u0pSDvD66tm93eBHEPHA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/postman-collection/-/postman-collection-4.3.0.tgz", + "integrity": "sha512-QpmNOw1JhAVQTFWRz443/qpKs4/3T1MFrKqDZ84RS1akxOzhXXr15kD8+/+jeA877qyy9rfMsrFgLe2W7aCPjw==", "dependencies": { "@faker-js/faker": "5.5.3", "file-type": "3.9.0", @@ -12143,12 +12147,12 @@ } }, "node_modules/postman-sandbox": { - "version": "4.2.7", - "resolved": "https://registry.npmjs.org/postman-sandbox/-/postman-sandbox-4.2.7.tgz", - "integrity": "sha512-/EcCrKnb/o+9iLS4u+H76E0kBomJFjPptVjoDiq1uZ7Es/4aTv0MAX+0aoDxdDO+0h9sl8vy65uKQwyjN7AOaw==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/postman-sandbox/-/postman-sandbox-4.4.0.tgz", + "integrity": "sha512-NvNodj44vqtZrgLvnqoqFxvqRL1Pw0MSLXGlzSu252iurmHCz59wUykNUQ8mQh0AXNM00gbN/lS1nrGfS1zqwA==", "dependencies": { "lodash": "4.17.21", - "postman-collection": "4.2.0", + "postman-collection": "4.3.0", "teleport-javascript": "1.0.0", "uvm": "2.1.1" }, @@ -12156,46 +12160,6 @@ "node": ">=10" } }, - "node_modules/postman-sandbox/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postman-sandbox/node_modules/postman-collection": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postman-collection/-/postman-collection-4.2.0.tgz", - "integrity": "sha512-tvOLgN1h6Kab6dt43PmBoV5kYO/YUta3x0C2QqfmbzmHZe47VTpZ/+gIkGlbNhjKNPUUub5X6ehxYKoaTYdy1w==", - "dependencies": { - "@faker-js/faker": "5.5.3", - "file-type": "3.9.0", - "http-reasons": "0.1.0", - "iconv-lite": "0.6.3", - "liquid-json": "0.3.1", - "lodash": "4.17.21", - "mime-format": "2.0.1", - "mime-types": "2.1.35", - "postman-url-encoder": "3.0.5", - "semver": "7.5.4", - "uuid": "8.3.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/postman-sandbox/node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "bin": { - "uuid": "dist/bin/uuid" - } - }, "node_modules/postman-url-encoder": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/postman-url-encoder/-/postman-url-encoder-3.0.5.tgz", @@ -13753,16 +13717,16 @@ } }, "node_modules/sinon": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-16.0.0.tgz", - "integrity": "sha512-B8AaZZm9CT5pqe4l4uWJztfD/mOTa7dL8Qo0W4+s+t74xECOgSZDDQCBjNgIK3+n4kyxQrSTv2V5ul8K25qkiQ==", + "version": "17.0.1", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-17.0.1.tgz", + "integrity": "sha512-wmwE19Lie0MLT+ZYNpDymasPHUKTaZHUH/pKEubRXIzySv9Atnlw+BUMGCzWgV7b7wO+Hw6f1TEOr0IUnmU8/g==", "dev": true, "dependencies": { "@sinonjs/commons": "^3.0.0", - "@sinonjs/fake-timers": "^10.3.0", + "@sinonjs/fake-timers": "^11.2.2", "@sinonjs/samsam": "^8.0.0", "diff": "^5.1.0", - "nise": "^5.1.4", + "nise": "^5.1.5", "supports-color": "^7.2.0" }, "funding": { @@ -13770,6 +13734,15 @@ "url": "https://opencollective.com/sinon" } }, + "node_modules/sinon/node_modules/@sinonjs/fake-timers": { + "version": "11.2.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.2.2.tgz", + "integrity": "sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } + }, "node_modules/sisteransi": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", @@ -13788,6 +13761,7 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "devOptional": true, "engines": { "node": ">= 6.0.0", "npm": ">= 3.0.0" @@ -13868,6 +13842,7 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", + "devOptional": true, "dependencies": { "ip": "^2.0.0", "smart-buffer": "^4.2.0" @@ -13913,15 +13888,14 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==", - "optional": true, "dependencies": { "memory-pager": "^1.0.2" } }, "node_modules/spawn-please": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/spawn-please/-/spawn-please-2.0.1.tgz", - "integrity": "sha512-W+cFbZR2q2mMTfjz5ZGvhBAiX+e/zczFCNlbS9mxiSdYswBXwUuBUT+a0urH+xZZa8f/bs0mXHyZsZHR9hKogA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/spawn-please/-/spawn-please-2.0.2.tgz", + "integrity": "sha512-KM8coezO6ISQ89c1BzyWNtcn2V2kAVtwIXd3cN/V5a0xPYc1F/vydrRc01wsKFEQ/p+V1a4sw4z2yMITIXrgGw==", "dev": true, "dependencies": { "cross-spawn": "^7.0.3" @@ -14743,9 +14717,9 @@ } }, "node_modules/swagger-ui-dist": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-5.7.2.tgz", - "integrity": "sha512-mVZc9QVQ6pTCV5crli3+Ng+DoMPwdtMHK8QLk2oX8Mtamp4D/hV+uYdC3lV0JZrDgpNEcjs0RrWTqMwwosuLPQ==" + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-5.10.0.tgz", + "integrity": "sha512-PBTn5qDOQVtU29hrx74km86SnK3/mFtF3grI98y575y1aRpxiuStRTIvsfXFudPFkLofHU7H9a+fKrP+Oayc3g==" }, "node_modules/tar": { "version": "6.2.0", @@ -17519,10 +17493,9 @@ } }, "@mongodb-js/saslprep": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.0.tgz", - "integrity": "sha512-Xfijy7HvfzzqiOAhAepF4SGN5e9leLkMvg/OPOF97XemjfVCYN/oWa75wnkc6mltMSTwY+XlbhWgUOJmkFspSw==", - "optional": true, + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.1.tgz", + "integrity": "sha512-t7c5K033joZZMspnHg/gWPE4kandgc2OxE74aYOtGKfgB9VPuVJPix0H6fhmm2erj5PBJ21mqcx34lpIGtUCsQ==", "requires": { "sparse-bitfield": "^3.0.3" } @@ -17985,9 +17958,9 @@ } }, "@types/jest": { - "version": "29.5.5", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.5.tgz", - "integrity": "sha512-ebylz2hnsWR9mYvmBFbXJXr+33UPc4+ZdxyDXh5w0FlPBTfCVN3wPL+kuOiQt3xvrK419v7XWeAs+AeOksafXg==", + "version": "29.5.9", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.9.tgz", + "integrity": "sha512-zJeWhqBwVoPm83sP8h1/SVntwWTu5lZbKQGCvBjxQOyEWnKnsaomt2y7SlV4KfwlrHAHHAn00Sh4IAWaIsGOgQ==", "dev": true, "requires": { "expect": "^29.0.0", @@ -17995,9 +17968,9 @@ } }, "@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==" + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" }, "@types/json5": { "version": "0.0.29", @@ -18006,14 +17979,14 @@ "dev": true }, "@types/lodash": { - "version": "4.14.192", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.192.tgz", - "integrity": "sha512-km+Vyn3BYm5ytMO13k9KTp27O75rbQ0NFw+U//g+PX7VZyjCioXaRFisqSIJRECljcTv73G3i6BpglNGHgUQ5A==" + "version": "4.14.202", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.202.tgz", + "integrity": "sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==" }, "@types/lodash.clonedeep": { - "version": "4.5.7", - "resolved": "https://registry.npmjs.org/@types/lodash.clonedeep/-/lodash.clonedeep-4.5.7.tgz", - "integrity": "sha512-ccNqkPptFIXrpVqUECi60/DFxjNKsfoQxSQsgcBJCX/fuX1wgyQieojkcWH/KpE3xzLoWN/2k+ZeGqIN3paSvw==", + "version": "4.5.9", + "resolved": "https://registry.npmjs.org/@types/lodash.clonedeep/-/lodash.clonedeep-4.5.9.tgz", + "integrity": "sha512-19429mWC+FyaAhOLzsS8kZUsI+/GmBAQ0HFiCPsKGU+7pBXOQWhyrY6xNNDwUSX8SMZMJvuFVMF9O5dQOlQK9Q==", "requires": { "@types/lodash": "*" } @@ -18060,9 +18033,9 @@ "integrity": "sha512-6tOUG+nVHn0cJbVp25JFayS5UE6+xlbcNF9Lo9mU7U0zk3zeUShZied4YEQZjy1JBF043FSkdXw8YkUJuVtB5g==" }, "@types/webidl-conversions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-xTE1E+YF4aWPJJeUzaZI5DRntlkY3+BCVJi0axFptnjGmAoWxkyREIh/XMrfxVLejwQxMCfDXdICo0VLxThrog==" + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz", + "integrity": "sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA==" }, "@types/whatwg-url": { "version": "8.2.2", @@ -18459,9 +18432,9 @@ "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" }, "axios": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.5.1.tgz", - "integrity": "sha512-Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A==", + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz", + "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==", "requires": { "follow-redirects": "^1.15.0", "form-data": "^4.0.0", @@ -18745,9 +18718,9 @@ } }, "bson": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/bson/-/bson-5.5.0.tgz", - "integrity": "sha512-B+QB4YmDx9RStKv8LLSl/aVIEV3nYJc3cJNNTK2Cd1TL+7P+cNpw9mAPeCgc5K+j01Dv6sxUzcITXDx7ZU3F0w==" + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/bson/-/bson-6.2.0.tgz", + "integrity": "sha512-ID1cI+7bazPDyL9wYy9GaQ8gEEohWvcUl/Yf0dIdutJxnmInEEyCsb4awy/OiBfall7zBA179Pahi3vCdFze3Q==" }, "buffer-equal-constant-time": { "version": "1.0.1", @@ -21107,9 +21080,9 @@ "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" }, "fp-and-or": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/fp-and-or/-/fp-and-or-0.1.3.tgz", - "integrity": "sha512-wJaE62fLaB3jCYvY2ZHjZvmKK2iiLiiehX38rz5QZxtdN8fVPJDeZUiVvJrHStdTc+23LHlyZuSEKgFc0pxi2g==", + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/fp-and-or/-/fp-and-or-0.1.4.tgz", + "integrity": "sha512-+yRYRhpnFPWXSly/6V4Lw9IfOV26uu30kynGJ03PW+MnjOEQe45RZ141QcS0aJehYBYA50GfCDnsRbFJdhssRw==", "dev": true }, "fresh": { @@ -21631,26 +21604,26 @@ } }, "hapi-swagger": { - "version": "17.1.0", - "resolved": "https://registry.npmjs.org/hapi-swagger/-/hapi-swagger-17.1.0.tgz", - "integrity": "sha512-5aMFTqbpvLs6xYiHUv/VTImPS9GAInudOGJ7Sl6QAbEwQhSrqvJysAlcIgVkc5sD6XM0b3lTYvc0YWdZLN3sRA==", + "version": "17.2.0", + "resolved": "https://registry.npmjs.org/hapi-swagger/-/hapi-swagger-17.2.0.tgz", + "integrity": "sha512-vcLz3OK7WLFsuY7cLgPJAulnuvkGSIE3XVbeD1XzoPXtb2jmuDUTg2yvrXx32EwlhSsyT/RP1MIVzHuc8KxvQw==", "requires": { - "@apidevtools/json-schema-ref-parser": "^10.1.0", + "@apidevtools/json-schema-ref-parser": "^11.1.0", "@hapi/boom": "^10.0.1", "@hapi/hoek": "^11.0.2", - "handlebars": "^4.7.7", - "http-status": "^1.6.2", + "handlebars": "^4.7.8", + "http-status": "^1.7.3", "swagger-parser": "^10.0.3", - "swagger-ui-dist": "^5.1.0" + "swagger-ui-dist": "^5.9.1" }, "dependencies": { "@apidevtools/json-schema-ref-parser": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-10.1.0.tgz", - "integrity": "sha512-3e+viyMuXdrcK8v5pvP+SDoAQ77FH6OyRmuK48SZKmdHJRFm87RsSs8qm6kP39a/pOPURByJw+OXzQIqcfmKtA==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-11.1.0.tgz", + "integrity": "sha512-g/VW9ZQEFJAOwAyUb8JFf7MLiLy2uEB4rU270rGzDwICxnxMlPy0O11KVePSgS36K1NI29gSlK84n5INGhd4Ag==", "requires": { "@jsdevtools/ono": "^7.1.3", - "@types/json-schema": "^7.0.11", + "@types/json-schema": "^7.0.13", "@types/lodash.clonedeep": "^4.5.7", "js-yaml": "^4.1.0", "lodash.clonedeep": "^4.5.0" @@ -21902,9 +21875,9 @@ } }, "http-status": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/http-status/-/http-status-1.6.2.tgz", - "integrity": "sha512-oUExvfNckrpTpDazph7kNG8sQi5au3BeTo0idaZFXEhTaJKu7GNJCLHI0rYY2wljm548MSTM+Ljj/c6anqu2zQ==" + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-status/-/http-status-1.7.3.tgz", + "integrity": "sha512-GS8tL1qHT2nBCMJDYMHGkkkKQLNkIAHz37vgO68XKvzv+XyqB4oh/DfmMHdtRzfqSJPj1xKG2TaELZtlCz6BEQ==" }, "http2-wrapper": { "version": "2.2.0", @@ -22086,7 +22059,8 @@ "ip": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", - "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==" + "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==", + "devOptional": true }, "ipaddr.js": { "version": "1.9.1", @@ -23006,9 +22980,9 @@ } }, "json-rules-engine": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/json-rules-engine/-/json-rules-engine-6.4.2.tgz", - "integrity": "sha512-D1wafl8UHDSlUCq22/jxJYLwKR7Y9YJ/ybFJff8EFw6+4wDR1lb7j4a6VpfBtiOcGcFmB8S2PO+IiUbDPv4XhQ==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/json-rules-engine/-/json-rules-engine-6.5.0.tgz", + "integrity": "sha512-W8SLmnfQRDNG1Nh3Agz3c9AZzhiZ/cUtjAhyfhujFzVFNBv7cSHm9WaLoRjOdRr/9je7RgLtmbYXFViL3CekPA==", "requires": { "clone": "^2.1.2", "eventemitter2": "^6.4.4", @@ -23509,8 +23483,7 @@ "memory-pager": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", - "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==", - "optional": true + "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==" }, "memorystream": { "version": "0.3.1", @@ -23922,14 +23895,13 @@ "integrity": "sha512-zkZQtutNRzcMfY09Scl7iP0CcJjUIDQObX77K5TP2oidHDnQ0SjNP3nsBlpLIruVE0OSZ3I10yhKaf9nVNvvwA==" }, "mongodb": { - "version": "5.8.1", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-5.8.1.tgz", - "integrity": "sha512-wKyh4kZvm6NrCPH8AxyzXm3JBoEf4Xulo0aUWh3hCgwgYJxyQ1KLST86ZZaSWdj6/kxYUA3+YZuyADCE61CMSg==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.2.0.tgz", + "integrity": "sha512-d7OSuGjGWDZ5usZPqfvb36laQ9CPhnWkAGHT61x5P95p/8nMVeH8asloMwW6GcYFeB0Vj4CB/1wOTDG2RA9BFA==", "requires": { "@mongodb-js/saslprep": "^1.1.0", - "bson": "^5.4.0", - "mongodb-connection-string-url": "^2.6.0", - "socks": "^2.7.1" + "bson": "^6.2.0", + "mongodb-connection-string-url": "^2.6.0" } }, "mongodb-connection-string-url": { @@ -23942,13 +23914,13 @@ } }, "mongoose": { - "version": "7.5.3", - "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-7.5.3.tgz", - "integrity": "sha512-QyYzhZusux0wIJs+4rYyHvel0kJm0CT887trNd1WAB3iQnDuJow0xEnjETvuS/cTjHQUVPihOpN7OHLlpJc52w==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-8.0.1.tgz", + "integrity": "sha512-O3TJrtLCt4H1eGf2HoHGcnOcCTWloQkpmIP3hA9olybX3OX2KUjdIIq135HD5paGjZEDJYKn9fw4eH5N477zqQ==", "requires": { - "bson": "^5.4.0", + "bson": "^6.2.0", "kareem": "2.5.1", - "mongodb": "5.8.1", + "mongodb": "6.2.0", "mpath": "0.9.0", "mquery": "5.0.0", "ms": "2.1.3", @@ -24075,9 +24047,9 @@ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" }, "nise": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.4.tgz", - "integrity": "sha512-8+Ib8rRJ4L0o3kfmyVCL7gzrohyDe0cMFTBa2d364yIrEGMEoetznKJx899YxjybU6bL9SQkYPSBBs1gyYs8Xg==", + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.5.tgz", + "integrity": "sha512-VJuPIfUFaXNRzETTQEEItTOP8Y171ijr+JLq42wHes3DiryR8vT+1TXQW/Rx8JNUhyYYWyIvjXTU6dOhJcs9Nw==", "dev": true, "requires": { "@sinonjs/commons": "^2.0.0", @@ -24258,9 +24230,9 @@ } }, "npm-check-updates": { - "version": "16.14.4", - "resolved": "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-16.14.4.tgz", - "integrity": "sha512-PKg1wv3vno75/9qgRLqV2huBO7eukOlW+PmIGl7LPXjElfYTUTWUtaMOdOckImaSj4Uqe46W/zMbMFZQp5dHRQ==", + "version": "16.14.11", + "resolved": "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-16.14.11.tgz", + "integrity": "sha512-0MMWGbGci22Pu77bR9jRsy5qgxdQSJVqNtSyyFeubDPtbcU36z4gjEDITu26PMabFWPNkAoVfKF31M3uKUvzFg==", "dev": true, "requires": { "chalk": "^5.3.0", @@ -24268,7 +24240,7 @@ "commander": "^10.0.1", "fast-memoize": "^2.5.2", "find-up": "5.0.0", - "fp-and-or": "^0.1.3", + "fp-and-or": "^0.1.4", "get-stdin": "^8.0.0", "globby": "^11.0.4", "hosted-git-info": "^5.1.0", @@ -24290,7 +24262,7 @@ "semver": "^7.5.4", "semver-utils": "^1.1.4", "source-map-support": "^0.5.21", - "spawn-please": "^2.0.1", + "spawn-please": "^2.0.2", "strip-ansi": "^7.1.0", "strip-json-comments": "^5.0.1", "untildify": "^4.0.0", @@ -24857,11 +24829,11 @@ } }, "openapi-backend": { - "version": "5.9.2", - "resolved": "https://registry.npmjs.org/openapi-backend/-/openapi-backend-5.9.2.tgz", - "integrity": "sha512-x49QIeqwsty0v5BGzjXsEnx4Hm3cYYU9LOOc2+wWtF0ksMiCBdoZlwk/FQ2bvuZaECSoeCT8wc1iZArP3klwuA==", + "version": "5.10.5", + "resolved": "https://registry.npmjs.org/openapi-backend/-/openapi-backend-5.10.5.tgz", + "integrity": "sha512-ivZfL0Lwj7rRctCqxAquGy4j/VcdUXUvDsEVM3NG/2jDuvYT2dS+sf9ntGo5vv4hkOnkWgPnR6HxHp7NPexqAA==", "requires": { - "@apidevtools/json-schema-ref-parser": "^10.1.0", + "@apidevtools/json-schema-ref-parser": "^11.1.0", "ajv": "^8.6.2", "bath-es5": "^3.0.3", "cookie": "^0.5.0", @@ -24874,12 +24846,12 @@ }, "dependencies": { "@apidevtools/json-schema-ref-parser": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-10.1.0.tgz", - "integrity": "sha512-3e+viyMuXdrcK8v5pvP+SDoAQ77FH6OyRmuK48SZKmdHJRFm87RsSs8qm6kP39a/pOPURByJw+OXzQIqcfmKtA==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-11.1.0.tgz", + "integrity": "sha512-g/VW9ZQEFJAOwAyUb8JFf7MLiLy2uEB4rU270rGzDwICxnxMlPy0O11KVePSgS36K1NI29gSlK84n5INGhd4Ag==", "requires": { "@jsdevtools/ono": "^7.1.3", - "@types/json-schema": "^7.0.11", + "@types/json-schema": "^7.0.13", "@types/lodash.clonedeep": "^4.5.7", "js-yaml": "^4.1.0", "lodash.clonedeep": "^4.5.0" @@ -25331,9 +25303,9 @@ } }, "postman-collection": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/postman-collection/-/postman-collection-4.2.1.tgz", - "integrity": "sha512-DFLt3/yu8+ldtOTIzmBUctoupKJBOVK4NZO0t68K2lIir9smQg7OdQTBjOXYy+PDh7u0pSDvD66tm93eBHEPHA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/postman-collection/-/postman-collection-4.3.0.tgz", + "integrity": "sha512-QpmNOw1JhAVQTFWRz443/qpKs4/3T1MFrKqDZ84RS1akxOzhXXr15kD8+/+jeA877qyy9rfMsrFgLe2W7aCPjw==", "requires": { "@faker-js/faker": "5.5.3", "file-type": "3.9.0", @@ -25364,47 +25336,14 @@ } }, "postman-sandbox": { - "version": "4.2.7", - "resolved": "https://registry.npmjs.org/postman-sandbox/-/postman-sandbox-4.2.7.tgz", - "integrity": "sha512-/EcCrKnb/o+9iLS4u+H76E0kBomJFjPptVjoDiq1uZ7Es/4aTv0MAX+0aoDxdDO+0h9sl8vy65uKQwyjN7AOaw==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/postman-sandbox/-/postman-sandbox-4.4.0.tgz", + "integrity": "sha512-NvNodj44vqtZrgLvnqoqFxvqRL1Pw0MSLXGlzSu252iurmHCz59wUykNUQ8mQh0AXNM00gbN/lS1nrGfS1zqwA==", "requires": { "lodash": "4.17.21", - "postman-collection": "4.2.0", + "postman-collection": "4.3.0", "teleport-javascript": "1.0.0", "uvm": "2.1.1" - }, - "dependencies": { - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - }, - "postman-collection": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postman-collection/-/postman-collection-4.2.0.tgz", - "integrity": "sha512-tvOLgN1h6Kab6dt43PmBoV5kYO/YUta3x0C2QqfmbzmHZe47VTpZ/+gIkGlbNhjKNPUUub5X6ehxYKoaTYdy1w==", - "requires": { - "@faker-js/faker": "5.5.3", - "file-type": "3.9.0", - "http-reasons": "0.1.0", - "iconv-lite": "0.6.3", - "liquid-json": "0.3.1", - "lodash": "4.17.21", - "mime-format": "2.0.1", - "mime-types": "2.1.35", - "postman-url-encoder": "3.0.5", - "semver": "7.5.4", - "uuid": "8.3.2" - } - }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - } } }, "postman-url-encoder": { @@ -26608,17 +26547,28 @@ } }, "sinon": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-16.0.0.tgz", - "integrity": "sha512-B8AaZZm9CT5pqe4l4uWJztfD/mOTa7dL8Qo0W4+s+t74xECOgSZDDQCBjNgIK3+n4kyxQrSTv2V5ul8K25qkiQ==", + "version": "17.0.1", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-17.0.1.tgz", + "integrity": "sha512-wmwE19Lie0MLT+ZYNpDymasPHUKTaZHUH/pKEubRXIzySv9Atnlw+BUMGCzWgV7b7wO+Hw6f1TEOr0IUnmU8/g==", "dev": true, "requires": { "@sinonjs/commons": "^3.0.0", - "@sinonjs/fake-timers": "^10.3.0", + "@sinonjs/fake-timers": "^11.2.2", "@sinonjs/samsam": "^8.0.0", "diff": "^5.1.0", - "nise": "^5.1.4", + "nise": "^5.1.5", "supports-color": "^7.2.0" + }, + "dependencies": { + "@sinonjs/fake-timers": { + "version": "11.2.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.2.2.tgz", + "integrity": "sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==", + "dev": true, + "requires": { + "@sinonjs/commons": "^3.0.0" + } + } } }, "sisteransi": { @@ -26635,7 +26585,8 @@ "smart-buffer": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==" + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "devOptional": true }, "socket.io": { "version": "4.7.2", @@ -26691,6 +26642,7 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", + "devOptional": true, "requires": { "ip": "^2.0.0", "smart-buffer": "^4.2.0" @@ -26726,15 +26678,14 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==", - "optional": true, "requires": { "memory-pager": "^1.0.2" } }, "spawn-please": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/spawn-please/-/spawn-please-2.0.1.tgz", - "integrity": "sha512-W+cFbZR2q2mMTfjz5ZGvhBAiX+e/zczFCNlbS9mxiSdYswBXwUuBUT+a0urH+xZZa8f/bs0mXHyZsZHR9hKogA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/spawn-please/-/spawn-please-2.0.2.tgz", + "integrity": "sha512-KM8coezO6ISQ89c1BzyWNtcn2V2kAVtwIXd3cN/V5a0xPYc1F/vydrRc01wsKFEQ/p+V1a4sw4z2yMITIXrgGw==", "dev": true, "requires": { "cross-spawn": "^7.0.3" @@ -27348,9 +27299,9 @@ } }, "swagger-ui-dist": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-5.7.2.tgz", - "integrity": "sha512-mVZc9QVQ6pTCV5crli3+Ng+DoMPwdtMHK8QLk2oX8Mtamp4D/hV+uYdC3lV0JZrDgpNEcjs0RrWTqMwwosuLPQ==" + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-5.10.0.tgz", + "integrity": "sha512-PBTn5qDOQVtU29hrx74km86SnK3/mFtF3grI98y575y1aRpxiuStRTIvsfXFudPFkLofHU7H9a+fKrP+Oayc3g==" }, "tar": { "version": "6.2.0", diff --git a/package.json b/package.json index 2898bd98..f4b76c11 100644 --- a/package.json +++ b/package.json @@ -72,7 +72,7 @@ "@types/socket.io": "3.0.1", "adm-zip": "0.5.10", "atob": "2.1.2", - "axios": "1.5.1", + "axios": "1.6.2", "chai": "4.3.10", "cookie-parser": "1.4.6", "cookies": "0.8.0", @@ -84,27 +84,27 @@ "handlebars": "4.7.8", "hapi-auth-bearer-token": "8.0.0", "hapi-openapi": "3.0.0", - "hapi-swagger": "17.1.0", + "hapi-swagger": "17.2.0", "ilp-packet": "3.1.3", "js-yaml": "4.1.0", "json-refs": "3.0.15", - "json-rules-engine": "6.4.2", + "json-rules-engine": "6.5.0", "lodash": "4.17.21", "mongo-uri-builder": "4.0.0", - "mongoose": "7.5.3", + "mongoose": "8.0.1", "multer": "1.4.3", "mustache": "4.2.0", "mv": "2.1.1", "node-dir": "0.1.17", "node-strings": "1.0.2", "npm-run-all": "4.1.5", - "openapi-backend": "5.9.2", + "openapi-backend": "5.10.5", "parse-strings-in-object": "1.6.0", "passport": "0.6.0", "passport-jwt": "4.0.1", "path": "0.12.7", - "postman-collection": "4.2.1", - "postman-sandbox": "4.2.7", + "postman-collection": "4.3.0", + "postman-sandbox": "4.4.0", "rc": "1.2.8", "request": "2.88.2", "request-promise-native": "1.0.8", @@ -117,19 +117,19 @@ "ws": "8.14.2" }, "devDependencies": { - "@types/jest": "29.5.5", + "@types/jest": "29.5.9", "audit-ci": "6.6.1", "get-port": "7.0.0", "jest": "29.7.0", "jest-junit": "16.0.0", "nodemon": "3.0.1", - "npm-check-updates": "16.14.4", + "npm-check-updates": "16.14.11", "nyc": "15.1.0", "parse-strings-in-object": "1.6.0", "pre-commit": "1.2.2", "proxyquire": "2.1.3", "replace": "1.2.2", - "sinon": "16.0.0", + "sinon": "17.0.1", "standard": "17.1.0", "standard-version": "9.5.0", "supertest": "6.3.3" From 112bbeeab5b4843a2769a3bebd04a5cd9c287bd1 Mon Sep 17 00:00:00 2001 From: Aaron Reynoza Date: Mon, 20 Nov 2023 22:50:29 -0600 Subject: [PATCH 04/48] add support for multiple platforms --- .circleci/config.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index e8408510..6c1d9834 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -417,6 +417,8 @@ jobs: export DOCKER_NODE_VERSION="$NVMRC_VERSION-alpine" echo "export DOCKER_NODE_VERSION=$NVMRC_VERSION-alpine" >> $BASH_ENV echo "Building Docker image: ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local --build-arg NODE_VERSION=$DOCKER_NODE_VERSION" + docker buildx create --use --platform=linux/arm64,linux/amd64 --name multi-platform-builder + docker buildx inspect --bootstrap docker buildx build --progress plain --platform linux/amd64,linux/arm64 -t ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local --build-arg NODE_VERSION=$DOCKER_NODE_VERSION . - run: name: Save docker image to workspace From 0127c5b92281d6c77f729dd5bd6313a04443d08d Mon Sep 17 00:00:00 2001 From: Aaron Reynoza Date: Mon, 20 Nov 2023 23:17:43 -0600 Subject: [PATCH 05/48] list local image names --- .circleci/config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 6c1d9834..51404d93 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -420,6 +420,7 @@ jobs: docker buildx create --use --platform=linux/arm64,linux/amd64 --name multi-platform-builder docker buildx inspect --bootstrap docker buildx build --progress plain --platform linux/amd64,linux/arm64 -t ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local --build-arg NODE_VERSION=$DOCKER_NODE_VERSION . + docker image list - run: name: Save docker image to workspace command: docker save -o /tmp/docker-image.tar ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local From 8a2bcd883c5525c0b529b8a16e9707feac4ee208 Mon Sep 17 00:00:00 2001 From: Aaron Reynoza Date: Mon, 20 Nov 2023 23:27:48 -0600 Subject: [PATCH 06/48] build to local --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 51404d93..be07fc6e 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -419,8 +419,8 @@ jobs: echo "Building Docker image: ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local --build-arg NODE_VERSION=$DOCKER_NODE_VERSION" docker buildx create --use --platform=linux/arm64,linux/amd64 --name multi-platform-builder docker buildx inspect --bootstrap - docker buildx build --progress plain --platform linux/amd64,linux/arm64 -t ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local --build-arg NODE_VERSION=$DOCKER_NODE_VERSION . - docker image list + docker buildx build --progress plain --platform linux/amd64,linux/arm64 --output . -t ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local --build-arg NODE_VERSION=$DOCKER_NODE_VERSION . + ls -la - run: name: Save docker image to workspace command: docker save -o /tmp/docker-image.tar ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local From 10a889520a7ef9692dc93a48c455579317a95a58 Mon Sep 17 00:00:00 2001 From: Aaron Reynoza Date: Mon, 20 Nov 2023 23:52:03 -0600 Subject: [PATCH 07/48] import recently built image so pipeline works --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index be07fc6e..8295ac9a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -420,7 +420,7 @@ jobs: docker buildx create --use --platform=linux/arm64,linux/amd64 --name multi-platform-builder docker buildx inspect --bootstrap docker buildx build --progress plain --platform linux/amd64,linux/arm64 --output . -t ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local --build-arg NODE_VERSION=$DOCKER_NODE_VERSION . - ls -la + docker import linux_amd64 - run: name: Save docker image to workspace command: docker save -o /tmp/docker-image.tar ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local From 08f38f0b1dbda10893fafb4aa4aebb2eae312b3c Mon Sep 17 00:00:00 2001 From: Aaron Reynoza Date: Tue, 21 Nov 2023 00:00:34 -0600 Subject: [PATCH 08/48] build and output as tar --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 8295ac9a..0cb3bbf9 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -419,8 +419,8 @@ jobs: echo "Building Docker image: ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local --build-arg NODE_VERSION=$DOCKER_NODE_VERSION" docker buildx create --use --platform=linux/arm64,linux/amd64 --name multi-platform-builder docker buildx inspect --bootstrap - docker buildx build --progress plain --platform linux/amd64,linux/arm64 --output . -t ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local --build-arg NODE_VERSION=$DOCKER_NODE_VERSION . - docker import linux_amd64 + docker buildx build --progress plain --platform linux/amd64,linux/arm64 output=type=local,dest=.tar -t ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local --build-arg NODE_VERSION=$DOCKER_NODE_VERSION . + dls -la - run: name: Save docker image to workspace command: docker save -o /tmp/docker-image.tar ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local From c2acea293c866f93e2d01419c7bfdb9f0f1c2269 Mon Sep 17 00:00:00 2001 From: Aaron Reynoza Date: Tue, 21 Nov 2023 00:02:56 -0600 Subject: [PATCH 09/48] fix typo --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 0cb3bbf9..dca1c223 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -419,7 +419,7 @@ jobs: echo "Building Docker image: ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local --build-arg NODE_VERSION=$DOCKER_NODE_VERSION" docker buildx create --use --platform=linux/arm64,linux/amd64 --name multi-platform-builder docker buildx inspect --bootstrap - docker buildx build --progress plain --platform linux/amd64,linux/arm64 output=type=local,dest=.tar -t ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local --build-arg NODE_VERSION=$DOCKER_NODE_VERSION . + docker buildx build --progress plain --platform linux/amd64,linux/arm64 --output=type=local,dest=.tar -t ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local --build-arg NODE_VERSION=$DOCKER_NODE_VERSION . dls -la - run: name: Save docker image to workspace From 8b2ade09f117b129ce5da9f05697081fa414b906 Mon Sep 17 00:00:00 2001 From: Aaron Reynoza Date: Tue, 21 Nov 2023 00:11:25 -0600 Subject: [PATCH 10/48] fix typo2 --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index dca1c223..2bcf0615 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -420,7 +420,7 @@ jobs: docker buildx create --use --platform=linux/arm64,linux/amd64 --name multi-platform-builder docker buildx inspect --bootstrap docker buildx build --progress plain --platform linux/amd64,linux/arm64 --output=type=local,dest=.tar -t ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local --build-arg NODE_VERSION=$DOCKER_NODE_VERSION . - dls -la + ls -la - run: name: Save docker image to workspace command: docker save -o /tmp/docker-image.tar ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local From 494455d8b184b0b338cc08caa9f74f5d49212dde Mon Sep 17 00:00:00 2001 From: Aaron Reynoza Date: Tue, 21 Nov 2023 00:18:47 -0600 Subject: [PATCH 11/48] import locally created tar image --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 2bcf0615..d7271b4a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -419,8 +419,8 @@ jobs: echo "Building Docker image: ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local --build-arg NODE_VERSION=$DOCKER_NODE_VERSION" docker buildx create --use --platform=linux/arm64,linux/amd64 --name multi-platform-builder docker buildx inspect --bootstrap - docker buildx build --progress plain --platform linux/amd64,linux/arm64 --output=type=local,dest=.tar -t ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local --build-arg NODE_VERSION=$DOCKER_NODE_VERSION . - ls -la + docker buildx build --progress plain --platform linux/amd64,linux/arm64 --output=type=local,dest=image.tar -t ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local --build-arg NODE_VERSION=$DOCKER_NODE_VERSION . + docker import image.tar ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local - run: name: Save docker image to workspace command: docker save -o /tmp/docker-image.tar ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local From 43ee1576d4d4378b25dd9a31cc29958223440d5d Mon Sep 17 00:00:00 2001 From: Aaron Reynoza Date: Tue, 21 Nov 2023 00:44:37 -0600 Subject: [PATCH 12/48] compile images individually --- .circleci/config.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index d7271b4a..23bab9b9 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -419,8 +419,9 @@ jobs: echo "Building Docker image: ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local --build-arg NODE_VERSION=$DOCKER_NODE_VERSION" docker buildx create --use --platform=linux/arm64,linux/amd64 --name multi-platform-builder docker buildx inspect --bootstrap - docker buildx build --progress plain --platform linux/amd64,linux/arm64 --output=type=local,dest=image.tar -t ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local --build-arg NODE_VERSION=$DOCKER_NODE_VERSION . - docker import image.tar ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local + docker buildx build --progress plain --platform linux/arm64 -t ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:arm64 --build-arg NODE_VERSION=$DOCKER_NODE_VERSION . + docker buildx build --progress plain --platform linux/amd64 -t ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:amd64 --build-arg NODE_VERSION=$DOCKER_NODE_VERSION . + docker manifest create ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:arm64 ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:amd64 - run: name: Save docker image to workspace command: docker save -o /tmp/docker-image.tar ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local From 40a979b292476fb89553d981771087d4fae7a933 Mon Sep 17 00:00:00 2001 From: Aaron Reynoza Date: Tue, 21 Nov 2023 01:18:10 -0600 Subject: [PATCH 13/48] load image into docker --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 23bab9b9..cc15cebb 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -419,8 +419,8 @@ jobs: echo "Building Docker image: ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local --build-arg NODE_VERSION=$DOCKER_NODE_VERSION" docker buildx create --use --platform=linux/arm64,linux/amd64 --name multi-platform-builder docker buildx inspect --bootstrap - docker buildx build --progress plain --platform linux/arm64 -t ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:arm64 --build-arg NODE_VERSION=$DOCKER_NODE_VERSION . - docker buildx build --progress plain --platform linux/amd64 -t ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:amd64 --build-arg NODE_VERSION=$DOCKER_NODE_VERSION . + docker buildx build --progress plain --platform linux/arm64 --load -t ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:arm64 --build-arg NODE_VERSION=$DOCKER_NODE_VERSION . + docker buildx build --progress plain --platform linux/amd64 --load -t ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:amd64 --build-arg NODE_VERSION=$DOCKER_NODE_VERSION . docker manifest create ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:arm64 ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:amd64 - run: name: Save docker image to workspace From 88835f0d309d1317559ee9bb5a2549ced4d674f8 Mon Sep 17 00:00:00 2001 From: Aaron Reynoza Date: Tue, 21 Nov 2023 01:34:43 -0600 Subject: [PATCH 14/48] split images per platform --- .circleci/config.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index cc15cebb..50c893ed 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -420,15 +420,17 @@ jobs: docker buildx create --use --platform=linux/arm64,linux/amd64 --name multi-platform-builder docker buildx inspect --bootstrap docker buildx build --progress plain --platform linux/arm64 --load -t ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:arm64 --build-arg NODE_VERSION=$DOCKER_NODE_VERSION . - docker buildx build --progress plain --platform linux/amd64 --load -t ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:amd64 --build-arg NODE_VERSION=$DOCKER_NODE_VERSION . - docker manifest create ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:arm64 ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:amd64 + docker buildx build --progress plain --platform linux/amd64 --load -t ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local --build-arg NODE_VERSION=$DOCKER_NODE_VERSION . - run: name: Save docker image to workspace - command: docker save -o /tmp/docker-image.tar ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local + command: | + docker save -o /tmp/docker-image.tar ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local + docker save -o /tmp/docker-image-arm.tar ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:arm - persist_to_workspace: root: /tmp paths: - ./docker-image.tar + - ./docker-image-arm.tar license-scan: executor: default-machine From 093205b7ad3bd8d94431dd69cb20011957c14b1c Mon Sep 17 00:00:00 2001 From: Aaron Reynoza Date: Tue, 21 Nov 2023 01:42:35 -0600 Subject: [PATCH 15/48] fix: typo --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 50c893ed..ff13ab6a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -425,7 +425,7 @@ jobs: name: Save docker image to workspace command: | docker save -o /tmp/docker-image.tar ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local - docker save -o /tmp/docker-image-arm.tar ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:arm + docker save -o /tmp/docker-image-arm.tar ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:arm64 - persist_to_workspace: root: /tmp paths: From 795d2167276c8809798e04d21a1153fbafa3b7bf Mon Sep 17 00:00:00 2001 From: Aaron Reynoza Date: Tue, 21 Nov 2023 01:55:16 -0600 Subject: [PATCH 16/48] add image to publisher jobs --- .circleci/config.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index ff13ab6a..22364bf8 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -638,6 +638,7 @@ jobs: name: Load the pre-built docker image from workspace command: | docker load -i /tmp/docker-image.tar + docker load -i /tmp/docker-image-arm.tar - run: name: Login to Docker Hub command: docker login -u $DOCKER_USER -p $DOCKER_PASS @@ -646,6 +647,7 @@ jobs: command: | docker tag ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$CIRCLE_TAG docker tag ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG + docker tag ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:arm-$RELEASE_TAG - run: name: Publish Docker image $CIRCLE_TAG & Latest tag to Docker Hub command: | @@ -653,6 +655,8 @@ jobs: docker push ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$CIRCLE_TAG echo "Publishing ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG" docker push ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG + echo "Publishing ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:arm-$RELEASE_TAG" + docker push ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:arm-$RELEASE_TAG - run: name: Set Image Digest command: | @@ -700,6 +704,7 @@ jobs: name: Load the pre-built docker image from workspace command: | docker load -i /tmp/docker-image.tar + docker load -i /tmp/docker-image-arm.tar - run: name: Login to Docker Hub command: docker login -u $DOCKER_USER -p $DOCKER_PASS @@ -708,6 +713,7 @@ jobs: command: | docker tag ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$CIRCLE_TAG docker tag ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG + docker tag ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:arm-$RELEASE_TAG - run: name: Publish Docker image $CIRCLE_TAG & Latest tag to Docker Hub command: | @@ -715,6 +721,8 @@ jobs: docker push ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$CIRCLE_TAG echo "Publishing ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG" docker push ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG + echo "Publishing ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:arm-$RELEASE_TAG" + docker push ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:arm-$RELEASE_TAG - run: name: Set Image Digest command: | From dd73be83b8fe6cad4e7172d48c22c4bf900e4bdf Mon Sep 17 00:00:00 2001 From: Aaron Reynoza Date: Wed, 22 Nov 2023 20:56:06 -0600 Subject: [PATCH 17/48] combine images into single manifest --- .circleci/config.yml | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 22364bf8..760a368f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -646,17 +646,22 @@ jobs: name: Re-tag pre built image command: | docker tag ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$CIRCLE_TAG - docker tag ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG + docker tag ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:amd64-$RELEASE_TAG docker tag ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:arm-$RELEASE_TAG - run: - name: Publish Docker image $CIRCLE_TAG & Latest tag to Docker Hub + name: Publish Docker images $CIRCLE_TAG & Latest image tags to Docker Hub command: | echo "Publishing ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$CIRCLE_TAG" docker push ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$CIRCLE_TAG - echo "Publishing ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG" - docker push ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG + echo "Publishing ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:amd64-$RELEASE_TAG" + docker push ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:amd64-$RELEASE_TAG echo "Publishing ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:arm-$RELEASE_TAG" docker push ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:arm-$RELEASE_TAG + - run: + name: Build manifest and push combined image tags to Docker Hub + command: | + docker manifest create ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:amd64-$RELEASE_TAG ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:arm-$RELEASE_TAG + docker manifest push ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG - run: name: Set Image Digest command: | @@ -712,17 +717,22 @@ jobs: name: Re-tag pre built image command: | docker tag ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$CIRCLE_TAG - docker tag ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG + docker tag ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:amd64-$RELEASE_TAG docker tag ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:arm-$RELEASE_TAG - run: - name: Publish Docker image $CIRCLE_TAG & Latest tag to Docker Hub + name: Publish Docker image $CIRCLE_TAG & Latest tags to Docker Hub command: | echo "Publishing ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$CIRCLE_TAG" docker push ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$CIRCLE_TAG - echo "Publishing ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG" - docker push ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG + echo "Publishing ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:amd64-$RELEASE_TAG" + docker push ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:amd64-$RELEASE_TAG echo "Publishing ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:arm-$RELEASE_TAG" docker push ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:arm-$RELEASE_TAG + - run: + name: Build manifest and push combined image tags to Docker Hub + command: | + docker manifest create ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:amd64-$RELEASE_TAG ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:arm-$RELEASE_TAG + docker manifest push ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG - run: name: Set Image Digest command: | From 70026b5f8c1efbae7704c2b95c8ed823f1aacbc5 Mon Sep 17 00:00:00 2001 From: Aaron Reynoza Date: Wed, 22 Nov 2023 21:00:23 -0600 Subject: [PATCH 18/48] dep update --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 013be436..29066c57 100644 --- a/package-lock.json +++ b/package-lock.json @@ -71,7 +71,7 @@ "ml-testing-toolkit": "src/index.js" }, "devDependencies": { - "@types/jest": "29.5.9", + "@types/jest": "29.5.10", "audit-ci": "6.6.1", "get-port": "7.0.0", "jest": "29.7.0", @@ -2451,9 +2451,9 @@ } }, "node_modules/@types/jest": { - "version": "29.5.9", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.9.tgz", - "integrity": "sha512-zJeWhqBwVoPm83sP8h1/SVntwWTu5lZbKQGCvBjxQOyEWnKnsaomt2y7SlV4KfwlrHAHHAn00Sh4IAWaIsGOgQ==", + "version": "29.5.10", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.10.tgz", + "integrity": "sha512-tE4yxKEphEyxj9s4inideLHktW/x6DwesIwWZ9NN1FKf9zbJYsnhBoA9vrHA/IuIOKwPa5PcFBNV4lpMIOEzyQ==", "dev": true, "dependencies": { "expect": "^29.0.0", @@ -17958,9 +17958,9 @@ } }, "@types/jest": { - "version": "29.5.9", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.9.tgz", - "integrity": "sha512-zJeWhqBwVoPm83sP8h1/SVntwWTu5lZbKQGCvBjxQOyEWnKnsaomt2y7SlV4KfwlrHAHHAn00Sh4IAWaIsGOgQ==", + "version": "29.5.10", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.10.tgz", + "integrity": "sha512-tE4yxKEphEyxj9s4inideLHktW/x6DwesIwWZ9NN1FKf9zbJYsnhBoA9vrHA/IuIOKwPa5PcFBNV4lpMIOEzyQ==", "dev": true, "requires": { "expect": "^29.0.0", diff --git a/package.json b/package.json index f4b76c11..52e088d1 100644 --- a/package.json +++ b/package.json @@ -117,7 +117,7 @@ "ws": "8.14.2" }, "devDependencies": { - "@types/jest": "29.5.9", + "@types/jest": "29.5.10", "audit-ci": "6.6.1", "get-port": "7.0.0", "jest": "29.7.0", From 0a140992c6cc55e79df4c097aa12ccbfe9c333ce Mon Sep 17 00:00:00 2001 From: Aaron Reynoza Date: Wed, 22 Nov 2023 21:09:46 -0600 Subject: [PATCH 19/48] chore(snapshot): 17.1.0-snapshot.0 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 29066c57..a05a3345 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "ml-testing-toolkit", - "version": "17.0.0", + "version": "17.1.0-snapshot.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "ml-testing-toolkit", - "version": "17.0.0", + "version": "17.1.0-snapshot.0", "license": "Apache-2.0", "dependencies": { "@elastic/elasticsearch": "8.10.0", diff --git a/package.json b/package.json index 52e088d1..dabbcbc7 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "ml-testing-toolkit", "description": "Testing Toolkit for Mojaloop implementations", - "version": "17.0.0", + "version": "17.1.0-snapshot.0", "license": "Apache-2.0", "author": "Vijaya Kumar Guthi, ModusBox Inc. ", "contributors": [ From cb33e19b994ea7570b40c377c333a07f9b83facc Mon Sep 17 00:00:00 2001 From: Aaron Reynoza Date: Wed, 22 Nov 2023 22:00:20 -0600 Subject: [PATCH 20/48] inspect image --- .circleci/config.yml | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 760a368f..4d961195 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -502,6 +502,10 @@ jobs: command: | echo "Pulling docker image: node:$NVMRC_VERSION-alpine" docker pull node:$NVMRC_VERSION-alpine + - run: + name: inspect the docker image + command: | + docker image inspect ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local ## Analyze the base and derived image ## Note: It seems images are scanned in parallel, so preloading the base image result doesn't give us any real performance gain - anchore/analyze_local_image: @@ -884,12 +888,12 @@ workflows: context: org-global requires: - build-local - filters: - tags: - only: /v[0-9]+(\.[0-9]+)*(\-snapshot(\.[0-9]+)?)?(\-hotfix(\.[0-9]+)?)?(\-perf(\.[0-9]+)?)?/ - branches: - ignore: - - /.*/ + # filters: + # tags: + # only: /v[0-9]+(\.[0-9]+)*(\-snapshot(\.[0-9]+)?)?(\-hotfix(\.[0-9]+)?)?(\-perf(\.[0-9]+)?)?/ + # branches: + # ignore: + # - /.*/ # New commits to main release automatically - release: context: org-global From 982f93059ff008d3c770ac8ade095a5a239c824f Mon Sep 17 00:00:00 2001 From: Aaron Reynoza Date: Thu, 23 Nov 2023 09:36:34 -0600 Subject: [PATCH 21/48] add dockerfile ref to anchore --- .circleci/config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 4d961195..555c3fb4 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -510,6 +510,7 @@ jobs: ## Note: It seems images are scanned in parallel, so preloading the base image result doesn't give us any real performance gain - anchore/analyze_local_image: # Force the older version, version 0.7.0 was just published, and is broken + dockerfile_path: ./Dockerfile anchore_version: v0.6.1 image_name: "docker.io/node:${NVMRC_VERSION}-alpine ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local" policy_failure: false From 036a19c77326628fae211d6b3325121f27238570 Mon Sep 17 00:00:00 2001 From: Aaron Reynoza Date: Thu, 23 Nov 2023 10:18:06 -0600 Subject: [PATCH 22/48] try to compile once --- .circleci/config.yml | 26 +++++++------------------- 1 file changed, 7 insertions(+), 19 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 555c3fb4..93f5f5fb 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -419,18 +419,15 @@ jobs: echo "Building Docker image: ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local --build-arg NODE_VERSION=$DOCKER_NODE_VERSION" docker buildx create --use --platform=linux/arm64,linux/amd64 --name multi-platform-builder docker buildx inspect --bootstrap - docker buildx build --progress plain --platform linux/arm64 --load -t ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:arm64 --build-arg NODE_VERSION=$DOCKER_NODE_VERSION . - docker buildx build --progress plain --platform linux/amd64 --load -t ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local --build-arg NODE_VERSION=$DOCKER_NODE_VERSION . + docker buildx build --progress plain --platform linux/amd64,linux/arm64 --load -t ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local --build-arg NODE_VERSION=$DOCKER_NODE_VERSION . - run: name: Save docker image to workspace command: | docker save -o /tmp/docker-image.tar ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local - docker save -o /tmp/docker-image-arm.tar ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:arm64 - persist_to_workspace: root: /tmp paths: - ./docker-image.tar - - ./docker-image-arm.tar license-scan: executor: default-machine @@ -510,7 +507,6 @@ jobs: ## Note: It seems images are scanned in parallel, so preloading the base image result doesn't give us any real performance gain - anchore/analyze_local_image: # Force the older version, version 0.7.0 was just published, and is broken - dockerfile_path: ./Dockerfile anchore_version: v0.6.1 image_name: "docker.io/node:${NVMRC_VERSION}-alpine ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local" policy_failure: false @@ -643,7 +639,6 @@ jobs: name: Load the pre-built docker image from workspace command: | docker load -i /tmp/docker-image.tar - docker load -i /tmp/docker-image-arm.tar - run: name: Login to Docker Hub command: docker login -u $DOCKER_USER -p $DOCKER_PASS @@ -651,17 +646,14 @@ jobs: name: Re-tag pre built image command: | docker tag ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$CIRCLE_TAG - docker tag ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:amd64-$RELEASE_TAG - docker tag ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:arm-$RELEASE_TAG + docker tag ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG - run: name: Publish Docker images $CIRCLE_TAG & Latest image tags to Docker Hub command: | echo "Publishing ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$CIRCLE_TAG" docker push ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$CIRCLE_TAG - echo "Publishing ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:amd64-$RELEASE_TAG" - docker push ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:amd64-$RELEASE_TAG - echo "Publishing ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:arm-$RELEASE_TAG" - docker push ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:arm-$RELEASE_TAG + echo "Publishing ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG" + docker push ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG - run: name: Build manifest and push combined image tags to Docker Hub command: | @@ -714,7 +706,6 @@ jobs: name: Load the pre-built docker image from workspace command: | docker load -i /tmp/docker-image.tar - docker load -i /tmp/docker-image-arm.tar - run: name: Login to Docker Hub command: docker login -u $DOCKER_USER -p $DOCKER_PASS @@ -722,17 +713,14 @@ jobs: name: Re-tag pre built image command: | docker tag ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$CIRCLE_TAG - docker tag ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:amd64-$RELEASE_TAG - docker tag ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:arm-$RELEASE_TAG + docker tag ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG - run: name: Publish Docker image $CIRCLE_TAG & Latest tags to Docker Hub command: | echo "Publishing ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$CIRCLE_TAG" docker push ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$CIRCLE_TAG - echo "Publishing ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:amd64-$RELEASE_TAG" - docker push ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:amd64-$RELEASE_TAG - echo "Publishing ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:arm-$RELEASE_TAG" - docker push ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:arm-$RELEASE_TAG + echo "Publishing ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG" + docker push ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG - run: name: Build manifest and push combined image tags to Docker Hub command: | From cb5d061eac3719f9658607b0275c3f7db2d49fd4 Mon Sep 17 00:00:00 2001 From: Aaron Reynoza Date: Thu, 23 Nov 2023 21:51:38 -0600 Subject: [PATCH 23/48] compile and publish in same step --- .circleci/config.yml | 41 ++++++++++++++++------------------------- 1 file changed, 16 insertions(+), 25 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 93f5f5fb..4f175f34 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -417,9 +417,6 @@ jobs: export DOCKER_NODE_VERSION="$NVMRC_VERSION-alpine" echo "export DOCKER_NODE_VERSION=$NVMRC_VERSION-alpine" >> $BASH_ENV echo "Building Docker image: ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local --build-arg NODE_VERSION=$DOCKER_NODE_VERSION" - docker buildx create --use --platform=linux/arm64,linux/amd64 --name multi-platform-builder - docker buildx inspect --bootstrap - docker buildx build --progress plain --platform linux/amd64,linux/arm64 --load -t ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local --build-arg NODE_VERSION=$DOCKER_NODE_VERSION . - run: name: Save docker image to workspace command: | @@ -646,29 +643,26 @@ jobs: name: Re-tag pre built image command: | docker tag ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$CIRCLE_TAG - docker tag ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG - run: - name: Publish Docker images $CIRCLE_TAG & Latest image tags to Docker Hub + name: Build Docker image for multiple platforms architectures and push to registry command: | echo "Publishing ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$CIRCLE_TAG" docker push ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$CIRCLE_TAG - echo "Publishing ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG" - docker push ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG - - run: - name: Build manifest and push combined image tags to Docker Hub - command: | - docker manifest create ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:amd64-$RELEASE_TAG ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:arm-$RELEASE_TAG - docker manifest push ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG + echo "Setting up docker buildx environment" + docker buildx create --use --platform=linux/arm64,linux/amd64 --name multi-platform-builder + docker buildx inspect --bootstrap + echo "Building and ublishing ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG" + docker buildx build --progress plain --platform linux/amd64,linux/arm64 --push -t ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG --build-arg NODE_VERSION=$DOCKER_NODE_VERSION . - run: name: Set Image Digest command: | - IMAGE_DIGEST=$(docker inspect ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:v${CIRCLE_TAG:1} | jq '.[0].RepoDigests | .[]') + IMAGE_DIGEST=$(docker inspect ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG | jq '.[0].RepoDigests | .[]') echo "IMAGE_DIGEST=${IMAGE_DIGEST}" echo "export IMAGE_DIGEST=${IMAGE_DIGEST}" >> $BASH_ENV - run: name: Update Slack config command: | - echo "export SLACK_RELEASE_URL='https://hub.docker.com/layers/${CIRCLE_PROJECT_REPONAME}/${DOCKER_ORG}/${CIRCLE_PROJECT_REPONAME}/v${CIRCLE_TAG:1}/images/${IMAGE_DIGEST}?context=explore'" | sed -r "s/${DOCKER_ORG}\/${CIRCLE_PROJECT_REPONAME}@sha256:/sha256-/g" >> $BASH_ENV + echo "export SLACK_RELEASE_URL='https://hub.docker.com/layers/${CIRCLE_PROJECT_REPONAME}/${DOCKER_ORG}/${CIRCLE_PROJECT_REPONAME}/v${RELEASE_TAG:1}/images/${IMAGE_DIGEST}?context=explore'" | sed -r "s/${DOCKER_ORG}\/${CIRCLE_PROJECT_REPONAME}@sha256:/sha256-/g" >> $BASH_ENV - slack/notify: event: pass template: SLACK_TEMP_RELEASE_SUCCESS @@ -713,29 +707,26 @@ jobs: name: Re-tag pre built image command: | docker tag ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$CIRCLE_TAG - docker tag ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG - run: - name: Publish Docker image $CIRCLE_TAG & Latest tags to Docker Hub + name: Build Docker image for multiple platforms architectures and push to registry command: | echo "Publishing ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$CIRCLE_TAG" docker push ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$CIRCLE_TAG - echo "Publishing ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG" - docker push ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG - - run: - name: Build manifest and push combined image tags to Docker Hub - command: | - docker manifest create ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:amd64-$RELEASE_TAG ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:arm-$RELEASE_TAG - docker manifest push ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG + echo "Setting up docker buildx environment" + docker buildx create --use --platform=linux/arm64,linux/amd64 --name multi-platform-builder + docker buildx inspect --bootstrap + echo "Building and ublishing ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG" + docker buildx build --progress plain --platform linux/amd64,linux/arm64 --push -t ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG --build-arg NODE_VERSION=$DOCKER_NODE_VERSION . - run: name: Set Image Digest command: | - IMAGE_DIGEST=$(docker inspect ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:v${CIRCLE_TAG:1} | jq '.[0].RepoDigests | .[]') + IMAGE_DIGEST=$(docker inspect ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:v${RELEASE_TAG:1} | jq '.[0].RepoDigests | .[]') echo "IMAGE_DIGEST=${IMAGE_DIGEST}" echo "export IMAGE_DIGEST=${IMAGE_DIGEST}" >> $BASH_ENV - run: name: Update Slack config command: | - echo "export SLACK_RELEASE_URL='https://hub.docker.com/layers/${CIRCLE_PROJECT_REPONAME}/${DOCKER_ORG}/${CIRCLE_PROJECT_REPONAME}/v${CIRCLE_TAG:1}/images/${IMAGE_DIGEST}?context=explore'" | sed -r "s/${DOCKER_ORG}\/${CIRCLE_PROJECT_REPONAME}@sha256:/sha256-/g" >> $BASH_ENV + echo "export SLACK_RELEASE_URL='https://hub.docker.com/layers/${CIRCLE_PROJECT_REPONAME}/${DOCKER_ORG}/${CIRCLE_PROJECT_REPONAME}/v${RELEASE_TAG:1}/images/${IMAGE_DIGEST}?context=explore'" | sed -r "s/${DOCKER_ORG}\/${CIRCLE_PROJECT_REPONAME}@sha256:/sha256-/g" >> $BASH_ENV - slack/notify: event: pass template: SLACK_TEMP_RELEASE_SUCCESS From bdfed01a4224f7c410840b24f45fdb42f18765f4 Mon Sep 17 00:00:00 2001 From: Aaron Reynoza Date: Thu, 23 Nov 2023 21:54:34 -0600 Subject: [PATCH 24/48] add missing build command --- .circleci/config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 4f175f34..806ea765 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -417,6 +417,7 @@ jobs: export DOCKER_NODE_VERSION="$NVMRC_VERSION-alpine" echo "export DOCKER_NODE_VERSION=$NVMRC_VERSION-alpine" >> $BASH_ENV echo "Building Docker image: ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local --build-arg NODE_VERSION=$DOCKER_NODE_VERSION" + docker build -t ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:local --build-arg NODE_VERSION=$DOCKER_NODE_VERSION . - run: name: Save docker image to workspace command: | From bc393ff8dfc7988e771a418e79060018c8fa21c4 Mon Sep 17 00:00:00 2001 From: Aaron Reynoza Date: Thu, 23 Nov 2023 22:04:35 -0600 Subject: [PATCH 25/48] chore(snapshot): 17.1.0-snapshot.1 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index a05a3345..1fb1f656 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "ml-testing-toolkit", - "version": "17.1.0-snapshot.0", + "version": "17.1.0-snapshot.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "ml-testing-toolkit", - "version": "17.1.0-snapshot.0", + "version": "17.1.0-snapshot.1", "license": "Apache-2.0", "dependencies": { "@elastic/elasticsearch": "8.10.0", diff --git a/package.json b/package.json index dabbcbc7..a6f5773f 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "ml-testing-toolkit", "description": "Testing Toolkit for Mojaloop implementations", - "version": "17.1.0-snapshot.0", + "version": "17.1.0-snapshot.1", "license": "Apache-2.0", "author": "Vijaya Kumar Guthi, ModusBox Inc. ", "contributors": [ From 1965475315e07e01f7992882bc971d1e59f3cb4b Mon Sep 17 00:00:00 2001 From: Aaron Reynoza Date: Thu, 23 Nov 2023 22:05:11 -0600 Subject: [PATCH 26/48] chore(snapshot): 17.1.0-snapshot.2 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1fb1f656..b8fef8b7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "ml-testing-toolkit", - "version": "17.1.0-snapshot.1", + "version": "17.1.0-snapshot.2", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "ml-testing-toolkit", - "version": "17.1.0-snapshot.1", + "version": "17.1.0-snapshot.2", "license": "Apache-2.0", "dependencies": { "@elastic/elasticsearch": "8.10.0", diff --git a/package.json b/package.json index a6f5773f..bc051f05 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "ml-testing-toolkit", "description": "Testing Toolkit for Mojaloop implementations", - "version": "17.1.0-snapshot.1", + "version": "17.1.0-snapshot.2", "license": "Apache-2.0", "author": "Vijaya Kumar Guthi, ModusBox Inc. ", "contributors": [ From 08b2650cc5c19699561958d4626372d18505753c Mon Sep 17 00:00:00 2001 From: Aaron Reynoza Date: Thu, 23 Nov 2023 22:05:57 -0600 Subject: [PATCH 27/48] chore(snapshot): 17.1.0-snapshot.4 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index b8fef8b7..ff5a603d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "ml-testing-toolkit", - "version": "17.1.0-snapshot.2", + "version": "17.1.0-snapshot.4", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "ml-testing-toolkit", - "version": "17.1.0-snapshot.2", + "version": "17.1.0-snapshot.4", "license": "Apache-2.0", "dependencies": { "@elastic/elasticsearch": "8.10.0", diff --git a/package.json b/package.json index bc051f05..29b03fac 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "ml-testing-toolkit", "description": "Testing Toolkit for Mojaloop implementations", - "version": "17.1.0-snapshot.2", + "version": "17.1.0-snapshot.4", "license": "Apache-2.0", "author": "Vijaya Kumar Guthi, ModusBox Inc. ", "contributors": [ From a92a6d12145d1ecc64de0271f708f840e99b81ca Mon Sep 17 00:00:00 2001 From: Aaron Reynoza Date: Thu, 23 Nov 2023 22:07:44 -0600 Subject: [PATCH 28/48] readd image scan only on release/snapshots --- .circleci/config.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 806ea765..085ee2b4 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -869,12 +869,12 @@ workflows: context: org-global requires: - build-local - # filters: - # tags: - # only: /v[0-9]+(\.[0-9]+)*(\-snapshot(\.[0-9]+)?)?(\-hotfix(\.[0-9]+)?)?(\-perf(\.[0-9]+)?)?/ - # branches: - # ignore: - # - /.*/ + filters: + tags: + only: /v[0-9]+(\.[0-9]+)*(\-snapshot(\.[0-9]+)?)?(\-hotfix(\.[0-9]+)?)?(\-perf(\.[0-9]+)?)?/ + branches: + ignore: + - /.*/ # New commits to main release automatically - release: context: org-global From c9fb09d022207223fc34b0267f7fe86059790ad9 Mon Sep 17 00:00:00 2001 From: Aaron Reynoza Date: Thu, 23 Nov 2023 22:07:48 -0600 Subject: [PATCH 29/48] chore(snapshot): 17.1.0-snapshot.5 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index ff5a603d..03e96e1c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "ml-testing-toolkit", - "version": "17.1.0-snapshot.4", + "version": "17.1.0-snapshot.5", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "ml-testing-toolkit", - "version": "17.1.0-snapshot.4", + "version": "17.1.0-snapshot.5", "license": "Apache-2.0", "dependencies": { "@elastic/elasticsearch": "8.10.0", diff --git a/package.json b/package.json index 29b03fac..cb4085f1 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "ml-testing-toolkit", "description": "Testing Toolkit for Mojaloop implementations", - "version": "17.1.0-snapshot.4", + "version": "17.1.0-snapshot.5", "license": "Apache-2.0", "author": "Vijaya Kumar Guthi, ModusBox Inc. ", "contributors": [ From e88ec5e6e1a311a86f64d4b5993760b8c01ede57 Mon Sep 17 00:00:00 2001 From: Aaron Reynoza Date: Thu, 23 Nov 2023 22:11:21 -0600 Subject: [PATCH 30/48] chore(snapshot): 17.1.0-snapshot.1 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 03e96e1c..1fb1f656 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "ml-testing-toolkit", - "version": "17.1.0-snapshot.5", + "version": "17.1.0-snapshot.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "ml-testing-toolkit", - "version": "17.1.0-snapshot.5", + "version": "17.1.0-snapshot.1", "license": "Apache-2.0", "dependencies": { "@elastic/elasticsearch": "8.10.0", diff --git a/package.json b/package.json index cb4085f1..a6f5773f 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "ml-testing-toolkit", "description": "Testing Toolkit for Mojaloop implementations", - "version": "17.1.0-snapshot.5", + "version": "17.1.0-snapshot.1", "license": "Apache-2.0", "author": "Vijaya Kumar Guthi, ModusBox Inc. ", "contributors": [ From 7199c6f6bdf78222253db022536d49c1ce9a16de Mon Sep 17 00:00:00 2001 From: Aaron Reynoza Date: Thu, 23 Nov 2023 22:12:36 -0600 Subject: [PATCH 31/48] chore(snapshot): 17.1.0-snapshot.2 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1fb1f656..b8fef8b7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "ml-testing-toolkit", - "version": "17.1.0-snapshot.1", + "version": "17.1.0-snapshot.2", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "ml-testing-toolkit", - "version": "17.1.0-snapshot.1", + "version": "17.1.0-snapshot.2", "license": "Apache-2.0", "dependencies": { "@elastic/elasticsearch": "8.10.0", diff --git a/package.json b/package.json index a6f5773f..bc051f05 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "ml-testing-toolkit", "description": "Testing Toolkit for Mojaloop implementations", - "version": "17.1.0-snapshot.1", + "version": "17.1.0-snapshot.2", "license": "Apache-2.0", "author": "Vijaya Kumar Guthi, ModusBox Inc. ", "contributors": [ From 31bc6925c383ce38f8fff65f1ef850839c6fbaf5 Mon Sep 17 00:00:00 2001 From: Aaron Reynoza Date: Thu, 23 Nov 2023 22:13:18 -0600 Subject: [PATCH 32/48] chore(snapshot): 17.1.0-snapshot.1 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index b8fef8b7..1fb1f656 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "ml-testing-toolkit", - "version": "17.1.0-snapshot.2", + "version": "17.1.0-snapshot.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "ml-testing-toolkit", - "version": "17.1.0-snapshot.2", + "version": "17.1.0-snapshot.1", "license": "Apache-2.0", "dependencies": { "@elastic/elasticsearch": "8.10.0", diff --git a/package.json b/package.json index bc051f05..a6f5773f 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "ml-testing-toolkit", "description": "Testing Toolkit for Mojaloop implementations", - "version": "17.1.0-snapshot.2", + "version": "17.1.0-snapshot.1", "license": "Apache-2.0", "author": "Vijaya Kumar Guthi, ModusBox Inc. ", "contributors": [ From 390f77961fb68c511a09a91c9bba087b422c2b8c Mon Sep 17 00:00:00 2001 From: Aaron Reynoza Date: Thu, 23 Nov 2023 22:22:49 -0600 Subject: [PATCH 33/48] chore(snapshot): 17.1.0-snapshot.2 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1fb1f656..b8fef8b7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "ml-testing-toolkit", - "version": "17.1.0-snapshot.1", + "version": "17.1.0-snapshot.2", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "ml-testing-toolkit", - "version": "17.1.0-snapshot.1", + "version": "17.1.0-snapshot.2", "license": "Apache-2.0", "dependencies": { "@elastic/elasticsearch": "8.10.0", diff --git a/package.json b/package.json index a6f5773f..bc051f05 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "ml-testing-toolkit", "description": "Testing Toolkit for Mojaloop implementations", - "version": "17.1.0-snapshot.1", + "version": "17.1.0-snapshot.2", "license": "Apache-2.0", "author": "Vijaya Kumar Guthi, ModusBox Inc. ", "contributors": [ From fb946a9b15a414697fe6a5d114e359a166a10682 Mon Sep 17 00:00:00 2001 From: Aaron Reynoza Date: Thu, 23 Nov 2023 22:42:21 -0600 Subject: [PATCH 34/48] add missing NVMRC for build steps --- .circleci/config.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 085ee2b4..41ce4be7 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -622,6 +622,7 @@ jobs: PACKAGE_VERSION=$(cat package-lock.json | jq -r .version) echo "export PACKAGE_VERSION=${PACKAGE_VERSION}" >> $BASH_ENV + echo "export DOCKER_NODE_VERSION="$NVMRC_VERSION-alpine" >> $BASH_ENV echo "PACKAGE_VERSION=${PACKAGE_VERSION}" - run: name: Setup Slack config @@ -685,6 +686,7 @@ jobs: echo "RELEASE_TAG=$RELEASE_TAG_SNAPSHOT" PACKAGE_VERSION=$(cat package-lock.json | jq -r .version) + echo "export DOCKER_NODE_VERSION="$NVMRC_VERSION-alpine" >> $BASH_ENV echo "export PACKAGE_VERSION=${PACKAGE_VERSION}" >> $BASH_ENV echo "PACKAGE_VERSION=${PACKAGE_VERSION}" - run: From f90f358cb340fe9a16f021ae0e95d796c6c58714 Mon Sep 17 00:00:00 2001 From: Aaron Reynoza Date: Thu, 23 Nov 2023 22:42:26 -0600 Subject: [PATCH 35/48] chore(snapshot): 17.1.0-snapshot.3 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index b8fef8b7..6b243e29 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "ml-testing-toolkit", - "version": "17.1.0-snapshot.2", + "version": "17.1.0-snapshot.3", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "ml-testing-toolkit", - "version": "17.1.0-snapshot.2", + "version": "17.1.0-snapshot.3", "license": "Apache-2.0", "dependencies": { "@elastic/elasticsearch": "8.10.0", diff --git a/package.json b/package.json index bc051f05..a176790c 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "ml-testing-toolkit", "description": "Testing Toolkit for Mojaloop implementations", - "version": "17.1.0-snapshot.2", + "version": "17.1.0-snapshot.3", "license": "Apache-2.0", "author": "Vijaya Kumar Guthi, ModusBox Inc. ", "contributors": [ From 236591770d6e085cbe93fd0cdfad054da2d7268e Mon Sep 17 00:00:00 2001 From: Aaron Reynoza Date: Thu, 23 Nov 2023 22:55:22 -0600 Subject: [PATCH 36/48] fix typo --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 41ce4be7..a0b55ffb 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -622,7 +622,7 @@ jobs: PACKAGE_VERSION=$(cat package-lock.json | jq -r .version) echo "export PACKAGE_VERSION=${PACKAGE_VERSION}" >> $BASH_ENV - echo "export DOCKER_NODE_VERSION="$NVMRC_VERSION-alpine" >> $BASH_ENV + echo "export DOCKER_NODE_VERSION=$NVMRC_VERSION-alpine" >> $BASH_ENV echo "PACKAGE_VERSION=${PACKAGE_VERSION}" - run: name: Setup Slack config @@ -686,7 +686,7 @@ jobs: echo "RELEASE_TAG=$RELEASE_TAG_SNAPSHOT" PACKAGE_VERSION=$(cat package-lock.json | jq -r .version) - echo "export DOCKER_NODE_VERSION="$NVMRC_VERSION-alpine" >> $BASH_ENV + echo "export DOCKER_NODE_VERSION=$NVMRC_VERSION-alpine" >> $BASH_ENV echo "export PACKAGE_VERSION=${PACKAGE_VERSION}" >> $BASH_ENV echo "PACKAGE_VERSION=${PACKAGE_VERSION}" - run: From fec16c823f69bd671d462ac5fd5445f332deed4b Mon Sep 17 00:00:00 2001 From: Aaron Reynoza Date: Thu, 23 Nov 2023 22:55:26 -0600 Subject: [PATCH 37/48] chore(snapshot): 17.1.0-snapshot.4 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6b243e29..ff5a603d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "ml-testing-toolkit", - "version": "17.1.0-snapshot.3", + "version": "17.1.0-snapshot.4", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "ml-testing-toolkit", - "version": "17.1.0-snapshot.3", + "version": "17.1.0-snapshot.4", "license": "Apache-2.0", "dependencies": { "@elastic/elasticsearch": "8.10.0", diff --git a/package.json b/package.json index a176790c..29b03fac 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "ml-testing-toolkit", "description": "Testing Toolkit for Mojaloop implementations", - "version": "17.1.0-snapshot.3", + "version": "17.1.0-snapshot.4", "license": "Apache-2.0", "author": "Vijaya Kumar Guthi, ModusBox Inc. ", "contributors": [ From bfa0d459965a855f5136fa71d48f2cf1a4f57948 Mon Sep 17 00:00:00 2001 From: Aaron Reynoza Date: Thu, 23 Nov 2023 23:11:42 -0600 Subject: [PATCH 38/48] add NVMRC step --- .circleci/config.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index a0b55ffb..656ad280 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -614,6 +614,8 @@ jobs: <<: *defaults_environment steps: - checkout + - run: + <<: *defaults_configure_nvmrc - run: name: Setup for LATEST release command: | @@ -679,6 +681,8 @@ jobs: <<: *defaults_environment steps: - checkout + - run: + <<: *defaults_configure_nvmrc - run: name: Setup for SNAPSHOT release command: | From 2e5f4ee7085933ab01373c05d304e384191012a8 Mon Sep 17 00:00:00 2001 From: Aaron Reynoza Date: Thu, 23 Nov 2023 23:11:49 -0600 Subject: [PATCH 39/48] chore(snapshot): 17.1.0-snapshot.5 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index ff5a603d..03e96e1c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "ml-testing-toolkit", - "version": "17.1.0-snapshot.4", + "version": "17.1.0-snapshot.5", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "ml-testing-toolkit", - "version": "17.1.0-snapshot.4", + "version": "17.1.0-snapshot.5", "license": "Apache-2.0", "dependencies": { "@elastic/elasticsearch": "8.10.0", diff --git a/package.json b/package.json index 29b03fac..cb4085f1 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "ml-testing-toolkit", "description": "Testing Toolkit for Mojaloop implementations", - "version": "17.1.0-snapshot.4", + "version": "17.1.0-snapshot.5", "license": "Apache-2.0", "author": "Vijaya Kumar Guthi, ModusBox Inc. ", "contributors": [ From 55cbe5e7f0ee0fa48998e894f57958d907d10cf9 Mon Sep 17 00:00:00 2001 From: Aaron Reynoza Date: Thu, 23 Nov 2023 23:34:29 -0600 Subject: [PATCH 40/48] more nvmrc --- .circleci/config.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 656ad280..19a8245c 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -650,6 +650,9 @@ jobs: - run: name: Build Docker image for multiple platforms architectures and push to registry command: | + source ~/.profile + export DOCKER_NODE_VERSION="$NVMRC_VERSION-alpine" + echo "export DOCKER_NODE_VERSION=$NVMRC_VERSION-alpine" >> $BASH_ENV echo "Publishing ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$CIRCLE_TAG" docker push ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$CIRCLE_TAG echo "Setting up docker buildx environment" @@ -690,7 +693,6 @@ jobs: echo "RELEASE_TAG=$RELEASE_TAG_SNAPSHOT" PACKAGE_VERSION=$(cat package-lock.json | jq -r .version) - echo "export DOCKER_NODE_VERSION=$NVMRC_VERSION-alpine" >> $BASH_ENV echo "export PACKAGE_VERSION=${PACKAGE_VERSION}" >> $BASH_ENV echo "PACKAGE_VERSION=${PACKAGE_VERSION}" - run: @@ -717,6 +719,9 @@ jobs: - run: name: Build Docker image for multiple platforms architectures and push to registry command: | + source ~/.profile + export DOCKER_NODE_VERSION="$NVMRC_VERSION-alpine" + echo "export DOCKER_NODE_VERSION=$NVMRC_VERSION-alpine" >> $BASH_ENV echo "Publishing ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$CIRCLE_TAG" docker push ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$CIRCLE_TAG echo "Setting up docker buildx environment" From 8fb41aeacf7ea5334334f690dea7e7aa223ac791 Mon Sep 17 00:00:00 2001 From: Aaron Reynoza Date: Thu, 23 Nov 2023 23:34:34 -0600 Subject: [PATCH 41/48] chore(snapshot): 17.1.0-snapshot.6 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 03e96e1c..d0b55679 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "ml-testing-toolkit", - "version": "17.1.0-snapshot.5", + "version": "17.1.0-snapshot.6", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "ml-testing-toolkit", - "version": "17.1.0-snapshot.5", + "version": "17.1.0-snapshot.6", "license": "Apache-2.0", "dependencies": { "@elastic/elasticsearch": "8.10.0", diff --git a/package.json b/package.json index cb4085f1..ab6d8a83 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "ml-testing-toolkit", "description": "Testing Toolkit for Mojaloop implementations", - "version": "17.1.0-snapshot.5", + "version": "17.1.0-snapshot.6", "license": "Apache-2.0", "author": "Vijaya Kumar Guthi, ModusBox Inc. ", "contributors": [ From 18e3de8a36272e84516137a2929f8fadd1c3833e Mon Sep 17 00:00:00 2001 From: Aaron Reynoza Date: Fri, 24 Nov 2023 00:07:16 -0600 Subject: [PATCH 42/48] set correct digest for built images --- .circleci/config.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 19a8245c..9c489b74 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -663,13 +663,13 @@ jobs: - run: name: Set Image Digest command: | - IMAGE_DIGEST=$(docker inspect ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG | jq '.[0].RepoDigests | .[]') + IMAGE_DIGEST=$(docker inspect ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:v${CIRCLE_TAG:1} | jq '.[0].RepoDigests | .[]') echo "IMAGE_DIGEST=${IMAGE_DIGEST}" echo "export IMAGE_DIGEST=${IMAGE_DIGEST}" >> $BASH_ENV - run: name: Update Slack config command: | - echo "export SLACK_RELEASE_URL='https://hub.docker.com/layers/${CIRCLE_PROJECT_REPONAME}/${DOCKER_ORG}/${CIRCLE_PROJECT_REPONAME}/v${RELEASE_TAG:1}/images/${IMAGE_DIGEST}?context=explore'" | sed -r "s/${DOCKER_ORG}\/${CIRCLE_PROJECT_REPONAME}@sha256:/sha256-/g" >> $BASH_ENV + echo "export SLACK_RELEASE_URL='https://hub.docker.com/layers/${CIRCLE_PROJECT_REPONAME}/${DOCKER_ORG}/${CIRCLE_PROJECT_REPONAME}/v${CIRCLE_TAG:1}/images/${IMAGE_DIGEST}?context=explore'" | sed -r "s/${DOCKER_ORG}\/${CIRCLE_PROJECT_REPONAME}@sha256:/sha256-/g" >> $BASH_ENV - slack/notify: event: pass template: SLACK_TEMP_RELEASE_SUCCESS @@ -732,13 +732,13 @@ jobs: - run: name: Set Image Digest command: | - IMAGE_DIGEST=$(docker inspect ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:v${RELEASE_TAG:1} | jq '.[0].RepoDigests | .[]') + IMAGE_DIGEST=$(docker inspect ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:v${CIRCLE_TAG:1} | jq '.[0].RepoDigests | .[]') echo "IMAGE_DIGEST=${IMAGE_DIGEST}" echo "export IMAGE_DIGEST=${IMAGE_DIGEST}" >> $BASH_ENV - run: name: Update Slack config command: | - echo "export SLACK_RELEASE_URL='https://hub.docker.com/layers/${CIRCLE_PROJECT_REPONAME}/${DOCKER_ORG}/${CIRCLE_PROJECT_REPONAME}/v${RELEASE_TAG:1}/images/${IMAGE_DIGEST}?context=explore'" | sed -r "s/${DOCKER_ORG}\/${CIRCLE_PROJECT_REPONAME}@sha256:/sha256-/g" >> $BASH_ENV + echo "export SLACK_RELEASE_URL='https://hub.docker.com/layers/${CIRCLE_PROJECT_REPONAME}/${DOCKER_ORG}/${CIRCLE_PROJECT_REPONAME}/v${CIRCLE_TAG:1}/images/${IMAGE_DIGEST}?context=explore'" | sed -r "s/${DOCKER_ORG}\/${CIRCLE_PROJECT_REPONAME}@sha256:/sha256-/g" >> $BASH_ENV - slack/notify: event: pass template: SLACK_TEMP_RELEASE_SUCCESS From 82c14caeaee566fc30cd2a4e6a91301f12fd5583 Mon Sep 17 00:00:00 2001 From: Aaron Reynoza Date: Fri, 24 Nov 2023 00:07:33 -0600 Subject: [PATCH 43/48] chore(snapshot): 17.1.0-snapshot.7 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index d0b55679..0f1b9421 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "ml-testing-toolkit", - "version": "17.1.0-snapshot.6", + "version": "17.1.0-snapshot.7", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "ml-testing-toolkit", - "version": "17.1.0-snapshot.6", + "version": "17.1.0-snapshot.7", "license": "Apache-2.0", "dependencies": { "@elastic/elasticsearch": "8.10.0", diff --git a/package.json b/package.json index ab6d8a83..452e6137 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "ml-testing-toolkit", "description": "Testing Toolkit for Mojaloop implementations", - "version": "17.1.0-snapshot.6", + "version": "17.1.0-snapshot.7", "license": "Apache-2.0", "author": "Vijaya Kumar Guthi, ModusBox Inc. ", "contributors": [ From d0d85398abbebfa0b58a6c5864a6acaee538ff24 Mon Sep 17 00:00:00 2001 From: Aaron Reynoza Date: Wed, 29 Nov 2023 07:45:26 -0500 Subject: [PATCH 44/48] chore(snapshot): 17.1.0-snapshot.8 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0f1b9421..42e67af7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "ml-testing-toolkit", - "version": "17.1.0-snapshot.7", + "version": "17.1.0-snapshot.8", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "ml-testing-toolkit", - "version": "17.1.0-snapshot.7", + "version": "17.1.0-snapshot.8", "license": "Apache-2.0", "dependencies": { "@elastic/elasticsearch": "8.10.0", diff --git a/package.json b/package.json index 452e6137..d72944b0 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "ml-testing-toolkit", "description": "Testing Toolkit for Mojaloop implementations", - "version": "17.1.0-snapshot.7", + "version": "17.1.0-snapshot.8", "license": "Apache-2.0", "author": "Vijaya Kumar Guthi, ModusBox Inc. ", "contributors": [ From c3a72f62514076b2154eb4301b240896d5ffd0be Mon Sep 17 00:00:00 2001 From: Aaron Reynoza Date: Wed, 29 Nov 2023 07:47:50 -0500 Subject: [PATCH 45/48] update deps and image name --- .circleci/config.yml | 8 ++------ package-lock.json | 28 ++++++++++++++-------------- package.json | 4 ++-- 3 files changed, 18 insertions(+), 22 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 9c489b74..c9ad5925 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -653,13 +653,11 @@ jobs: source ~/.profile export DOCKER_NODE_VERSION="$NVMRC_VERSION-alpine" echo "export DOCKER_NODE_VERSION=$NVMRC_VERSION-alpine" >> $BASH_ENV - echo "Publishing ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$CIRCLE_TAG" - docker push ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$CIRCLE_TAG echo "Setting up docker buildx environment" docker buildx create --use --platform=linux/arm64,linux/amd64 --name multi-platform-builder docker buildx inspect --bootstrap echo "Building and ublishing ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG" - docker buildx build --progress plain --platform linux/amd64,linux/arm64 --push -t ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG --build-arg NODE_VERSION=$DOCKER_NODE_VERSION . + docker buildx build --progress plain --platform linux/amd64,linux/arm64 --push -t ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:v${CIRCLE_TAG:1} --build-arg NODE_VERSION=$DOCKER_NODE_VERSION . - run: name: Set Image Digest command: | @@ -722,13 +720,11 @@ jobs: source ~/.profile export DOCKER_NODE_VERSION="$NVMRC_VERSION-alpine" echo "export DOCKER_NODE_VERSION=$NVMRC_VERSION-alpine" >> $BASH_ENV - echo "Publishing ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$CIRCLE_TAG" - docker push ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$CIRCLE_TAG echo "Setting up docker buildx environment" docker buildx create --use --platform=linux/arm64,linux/amd64 --name multi-platform-builder docker buildx inspect --bootstrap echo "Building and ublishing ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG" - docker buildx build --progress plain --platform linux/amd64,linux/arm64 --push -t ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG --build-arg NODE_VERSION=$DOCKER_NODE_VERSION . + docker buildx build --progress plain --platform linux/amd64,linux/arm64 --push -t ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME: --build-arg NODE_VERSION=$DOCKER_NODE_VERSION . - run: name: Set Image Digest command: | diff --git a/package-lock.json b/package-lock.json index 42e67af7..958ca8d2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -42,7 +42,7 @@ "json-rules-engine": "6.5.0", "lodash": "4.17.21", "mongo-uri-builder": "4.0.0", - "mongoose": "8.0.1", + "mongoose": "8.0.2", "multer": "1.4.3", "mustache": "4.2.0", "mv": "2.1.1", @@ -51,7 +51,7 @@ "npm-run-all": "4.1.5", "openapi-backend": "5.10.5", "parse-strings-in-object": "1.6.0", - "passport": "0.6.0", + "passport": "0.7.0", "passport-jwt": "4.0.1", "path": "0.12.7", "postman-collection": "4.3.0", @@ -10279,9 +10279,9 @@ } }, "node_modules/mongoose": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-8.0.1.tgz", - "integrity": "sha512-O3TJrtLCt4H1eGf2HoHGcnOcCTWloQkpmIP3hA9olybX3OX2KUjdIIq135HD5paGjZEDJYKn9fw4eH5N477zqQ==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-8.0.2.tgz", + "integrity": "sha512-Vsi9GzTXjdBVzheT1HZOZ2jHNzzR9Xwb5OyLz/FvDEAhlwrRnXnuqJf0QHINUOQSm7aoyvnPks0q85HJkd6yDw==", "dependencies": { "bson": "^6.2.0", "kareem": "2.5.1", @@ -11761,9 +11761,9 @@ } }, "node_modules/passport": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/passport/-/passport-0.6.0.tgz", - "integrity": "sha512-0fe+p3ZnrWRW74fe8+SvCyf4a3Pb2/h7gFkQ8yTJpAO50gDzlfjZUZTO1k5Eg9kUct22OxHLqDZoKUWRHOh9ug==", + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/passport/-/passport-0.7.0.tgz", + "integrity": "sha512-cPLl+qZpSc+ireUvt+IzqbED1cHHkDoVYMo30jbJIdOOjQ1MQYZBPiNvmi8UM6lJuOpTPXJGZQk0DtC4y61MYQ==", "dependencies": { "passport-strategy": "1.x.x", "pause": "0.0.1", @@ -23914,9 +23914,9 @@ } }, "mongoose": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-8.0.1.tgz", - "integrity": "sha512-O3TJrtLCt4H1eGf2HoHGcnOcCTWloQkpmIP3hA9olybX3OX2KUjdIIq135HD5paGjZEDJYKn9fw4eH5N477zqQ==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-8.0.2.tgz", + "integrity": "sha512-Vsi9GzTXjdBVzheT1HZOZ2jHNzzR9Xwb5OyLz/FvDEAhlwrRnXnuqJf0QHINUOQSm7aoyvnPks0q85HJkd6yDw==", "requires": { "bson": "^6.2.0", "kareem": "2.5.1", @@ -25039,9 +25039,9 @@ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" }, "passport": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/passport/-/passport-0.6.0.tgz", - "integrity": "sha512-0fe+p3ZnrWRW74fe8+SvCyf4a3Pb2/h7gFkQ8yTJpAO50gDzlfjZUZTO1k5Eg9kUct22OxHLqDZoKUWRHOh9ug==", + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/passport/-/passport-0.7.0.tgz", + "integrity": "sha512-cPLl+qZpSc+ireUvt+IzqbED1cHHkDoVYMo30jbJIdOOjQ1MQYZBPiNvmi8UM6lJuOpTPXJGZQk0DtC4y61MYQ==", "requires": { "passport-strategy": "1.x.x", "pause": "0.0.1", diff --git a/package.json b/package.json index d72944b0..27540ea3 100644 --- a/package.json +++ b/package.json @@ -91,7 +91,7 @@ "json-rules-engine": "6.5.0", "lodash": "4.17.21", "mongo-uri-builder": "4.0.0", - "mongoose": "8.0.1", + "mongoose": "8.0.2", "multer": "1.4.3", "mustache": "4.2.0", "mv": "2.1.1", @@ -100,7 +100,7 @@ "npm-run-all": "4.1.5", "openapi-backend": "5.10.5", "parse-strings-in-object": "1.6.0", - "passport": "0.6.0", + "passport": "0.7.0", "passport-jwt": "4.0.1", "path": "0.12.7", "postman-collection": "4.3.0", From b4e96bfb75a364575377808e50ca625484cd110a Mon Sep 17 00:00:00 2001 From: Aaron Reynoza Date: Wed, 29 Nov 2023 07:48:47 -0500 Subject: [PATCH 46/48] chore(snapshot): 17.1.0-snapshot.9 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 958ca8d2..34cd26c5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "ml-testing-toolkit", - "version": "17.1.0-snapshot.8", + "version": "17.1.0-snapshot.9", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "ml-testing-toolkit", - "version": "17.1.0-snapshot.8", + "version": "17.1.0-snapshot.9", "license": "Apache-2.0", "dependencies": { "@elastic/elasticsearch": "8.10.0", diff --git a/package.json b/package.json index 27540ea3..ed004861 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "ml-testing-toolkit", "description": "Testing Toolkit for Mojaloop implementations", - "version": "17.1.0-snapshot.8", + "version": "17.1.0-snapshot.9", "license": "Apache-2.0", "author": "Vijaya Kumar Guthi, ModusBox Inc. ", "contributors": [ From 273cbcc5e8d769c06d5c131af088f94e9c25ed03 Mon Sep 17 00:00:00 2001 From: Aaron Reynoza Date: Wed, 29 Nov 2023 08:10:11 -0500 Subject: [PATCH 47/48] change tag reference --- .circleci/config.yml | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index c9ad5925..b9430704 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -656,8 +656,11 @@ jobs: echo "Setting up docker buildx environment" docker buildx create --use --platform=linux/arm64,linux/amd64 --name multi-platform-builder docker buildx inspect --bootstrap - echo "Building and ublishing ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG" - docker buildx build --progress plain --platform linux/amd64,linux/arm64 --push -t ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:v${CIRCLE_TAG:1} --build-arg NODE_VERSION=$DOCKER_NODE_VERSION . + echo "Building and publishing ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$CIRCLE_TAG" + docker buildx build --progress plain --platform linux/amd64,linux/arm64 --push -t ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$CIRCLE_TAG --build-arg NODE_VERSION=$DOCKER_NODE_VERSION . + echo "Publishing ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG" + docker tag ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$CIRCLE_TAG ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG + docker push ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG - run: name: Set Image Digest command: | @@ -723,8 +726,11 @@ jobs: echo "Setting up docker buildx environment" docker buildx create --use --platform=linux/arm64,linux/amd64 --name multi-platform-builder docker buildx inspect --bootstrap - echo "Building and ublishing ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG" - docker buildx build --progress plain --platform linux/amd64,linux/arm64 --push -t ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME: --build-arg NODE_VERSION=$DOCKER_NODE_VERSION . + echo "Building and publishing ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$CIRCLE_TAG" + docker buildx build --progress plain --platform linux/amd64,linux/arm64 --push -t ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$CIRCLE_TAG --build-arg NODE_VERSION=$DOCKER_NODE_VERSION . + echo "Publishing ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG" + docker tag ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$CIRCLE_TAG ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG + docker push ${DOCKER_ORG:-mojaloop}/$CIRCLE_PROJECT_REPONAME:$RELEASE_TAG - run: name: Set Image Digest command: | From da1adfd41c56dd4f7732f313a059f1a83ddf0673 Mon Sep 17 00:00:00 2001 From: Aaron Reynoza Date: Wed, 29 Nov 2023 08:10:18 -0500 Subject: [PATCH 48/48] chore(snapshot): 17.1.0-snapshot.10 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 34cd26c5..ed0f02d3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "ml-testing-toolkit", - "version": "17.1.0-snapshot.9", + "version": "17.1.0-snapshot.10", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "ml-testing-toolkit", - "version": "17.1.0-snapshot.9", + "version": "17.1.0-snapshot.10", "license": "Apache-2.0", "dependencies": { "@elastic/elasticsearch": "8.10.0", diff --git a/package.json b/package.json index ed004861..00234a48 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "ml-testing-toolkit", "description": "Testing Toolkit for Mojaloop implementations", - "version": "17.1.0-snapshot.9", + "version": "17.1.0-snapshot.10", "license": "Apache-2.0", "author": "Vijaya Kumar Guthi, ModusBox Inc. ", "contributors": [