cyberia 3.0.3 → 3.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (296) hide show
  1. package/{.env.production → .env.example} +20 -4
  2. package/.github/workflows/engine-cyberia.cd.yml +43 -10
  3. package/.github/workflows/engine-cyberia.ci.yml +48 -26
  4. package/.github/workflows/ghpkg.ci.yml +5 -5
  5. package/.github/workflows/gitlab.ci.yml +1 -1
  6. package/.github/workflows/hardhat.ci.yml +82 -0
  7. package/.github/workflows/npmpkg.ci.yml +60 -14
  8. package/.github/workflows/publish.ci.yml +26 -7
  9. package/.github/workflows/publish.cyberia.ci.yml +5 -5
  10. package/.github/workflows/pwa-microservices-template-page.cd.yml +6 -7
  11. package/.github/workflows/pwa-microservices-template-test.ci.yml +4 -4
  12. package/.github/workflows/release.cd.yml +14 -8
  13. package/.vscode/extensions.json +9 -8
  14. package/.vscode/settings.json +3 -2
  15. package/CHANGELOG.md +643 -1
  16. package/CLI-HELP.md +132 -57
  17. package/Dockerfile +4 -2
  18. package/README.md +347 -22
  19. package/WHITE-PAPER.md +1540 -0
  20. package/bin/build.js +21 -12
  21. package/bin/cyberia.js +2640 -106
  22. package/bin/deploy.js +258 -372
  23. package/bin/file.js +5 -1
  24. package/bin/index.js +2640 -106
  25. package/bin/vs.js +3 -3
  26. package/conf.js +169 -105
  27. package/deployment.yaml +236 -20
  28. package/hardhat/.env.example +31 -0
  29. package/hardhat/README.md +531 -0
  30. package/hardhat/WHITE-PAPER.md +1540 -0
  31. package/hardhat/contracts/ObjectLayerToken.sol +391 -0
  32. package/hardhat/deployments/.gitkeep +0 -0
  33. package/hardhat/deployments/hardhat-ObjectLayerToken.json +11 -0
  34. package/hardhat/hardhat.config.js +136 -0
  35. package/hardhat/ignition/modules/ObjectLayerToken.js +21 -0
  36. package/hardhat/networks/besu-object-layer.network.json +138 -0
  37. package/hardhat/package-lock.json +4323 -0
  38. package/hardhat/package.json +36 -0
  39. package/hardhat/scripts/deployObjectLayerToken.js +98 -0
  40. package/hardhat/test/ObjectLayerToken.js +592 -0
  41. package/hardhat/types/ethers-contracts/ObjectLayerToken.ts +690 -0
  42. package/hardhat/types/ethers-contracts/common.ts +92 -0
  43. package/hardhat/types/ethers-contracts/factories/ObjectLayerToken__factory.ts +1055 -0
  44. package/hardhat/types/ethers-contracts/factories/index.ts +4 -0
  45. package/hardhat/types/ethers-contracts/hardhat.d.ts +47 -0
  46. package/hardhat/types/ethers-contracts/index.ts +6 -0
  47. package/jsdoc.dd-cyberia.json +68 -0
  48. package/jsdoc.json +65 -49
  49. package/manifests/cronjobs/dd-cron/dd-cron-backup.yaml +5 -4
  50. package/manifests/cronjobs/dd-cron/dd-cron-dns.yaml +5 -4
  51. package/manifests/deployment/dd-cyberia-development/deployment.yaml +562 -0
  52. package/manifests/deployment/dd-cyberia-development/proxy.yaml +297 -0
  53. package/manifests/deployment/dd-cyberia-development/pv-pvc.yaml +132 -0
  54. package/manifests/deployment/dd-default-development/deployment.yaml +2 -2
  55. package/manifests/deployment/dd-test-development/deployment.yaml +88 -74
  56. package/manifests/deployment/dd-test-development/proxy.yaml +13 -4
  57. package/manifests/deployment/playwright/deployment.yaml +1 -1
  58. package/manifests/pv-pvc-dd.yaml +1 -1
  59. package/nodemon.json +1 -1
  60. package/package.json +60 -48
  61. package/proxy.yaml +118 -10
  62. package/pv-pvc.yaml +132 -0
  63. package/scripts/k3s-node-setup.sh +1 -1
  64. package/scripts/ports-ls.sh +2 -0
  65. package/scripts/rhel-grpc-setup.sh +56 -0
  66. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.controller.js +47 -1
  67. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.model.js +17 -2
  68. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.router.js +5 -0
  69. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.service.js +80 -7
  70. package/src/api/cyberia-dialogue/cyberia-dialogue.controller.js +93 -0
  71. package/src/api/cyberia-dialogue/cyberia-dialogue.model.js +36 -0
  72. package/src/api/cyberia-dialogue/cyberia-dialogue.router.js +29 -0
  73. package/src/api/cyberia-dialogue/cyberia-dialogue.service.js +51 -0
  74. package/src/api/cyberia-entity/cyberia-entity.controller.js +74 -0
  75. package/src/api/cyberia-entity/cyberia-entity.model.js +24 -0
  76. package/src/api/cyberia-entity/cyberia-entity.router.js +27 -0
  77. package/src/api/cyberia-entity/cyberia-entity.service.js +42 -0
  78. package/src/api/cyberia-instance/cyberia-fallback-world.js +368 -0
  79. package/src/api/cyberia-instance/cyberia-instance.controller.js +92 -0
  80. package/src/api/cyberia-instance/cyberia-instance.model.js +84 -0
  81. package/src/api/cyberia-instance/cyberia-instance.router.js +63 -0
  82. package/src/api/cyberia-instance/cyberia-instance.service.js +191 -0
  83. package/src/api/cyberia-instance/cyberia-portal-connector.js +486 -0
  84. package/src/api/cyberia-instance-conf/cyberia-instance-conf.controller.js +74 -0
  85. package/src/api/cyberia-instance-conf/cyberia-instance-conf.defaults.js +413 -0
  86. package/src/api/cyberia-instance-conf/cyberia-instance-conf.model.js +228 -0
  87. package/src/api/cyberia-instance-conf/cyberia-instance-conf.router.js +27 -0
  88. package/src/api/cyberia-instance-conf/cyberia-instance-conf.service.js +42 -0
  89. package/src/api/cyberia-map/cyberia-map.controller.js +79 -0
  90. package/src/api/cyberia-map/cyberia-map.model.js +30 -0
  91. package/src/api/cyberia-map/cyberia-map.router.js +40 -0
  92. package/src/api/cyberia-map/cyberia-map.service.js +74 -0
  93. package/src/api/document/document.service.js +1 -1
  94. package/src/api/file/file.controller.js +3 -1
  95. package/src/api/file/file.ref.json +18 -0
  96. package/src/api/file/file.service.js +28 -5
  97. package/src/api/ipfs/ipfs.controller.js +4 -25
  98. package/src/api/ipfs/ipfs.model.js +43 -34
  99. package/src/api/ipfs/ipfs.router.js +8 -13
  100. package/src/api/ipfs/ipfs.service.js +56 -104
  101. package/src/api/object-layer/README.md +347 -22
  102. package/src/api/object-layer/object-layer.controller.js +6 -2
  103. package/src/api/object-layer/object-layer.model.js +12 -8
  104. package/src/api/object-layer/object-layer.router.js +698 -42
  105. package/src/api/object-layer/object-layer.service.js +119 -37
  106. package/src/api/object-layer-render-frames/object-layer-render-frames.model.js +1 -2
  107. package/src/api/user/user.router.js +10 -5
  108. package/src/api/user/user.service.js +15 -14
  109. package/src/cli/baremetal.js +6 -10
  110. package/src/cli/cloud-init.js +0 -3
  111. package/src/cli/cluster.js +7 -7
  112. package/src/cli/db.js +723 -857
  113. package/src/cli/deploy.js +215 -105
  114. package/src/cli/env.js +34 -5
  115. package/src/cli/fs.js +5 -4
  116. package/src/cli/image.js +0 -3
  117. package/src/cli/index.js +83 -15
  118. package/src/cli/kubectl.js +211 -0
  119. package/src/cli/monitor.js +5 -6
  120. package/src/cli/release.js +284 -0
  121. package/src/cli/repository.js +708 -62
  122. package/src/cli/run.js +371 -151
  123. package/src/cli/secrets.js +73 -2
  124. package/src/cli/ssh.js +1 -1
  125. package/src/cli/test.js +3 -3
  126. package/src/client/Cryptokoyn.index.js +3 -4
  127. package/src/client/CyberiaPortal.index.js +3 -4
  128. package/src/client/Default.index.js +3 -4
  129. package/src/client/Itemledger.index.js +4 -963
  130. package/src/client/Underpost.index.js +3 -4
  131. package/src/client/components/core/AgGrid.js +20 -5
  132. package/src/client/components/core/Alert.js +2 -2
  133. package/src/client/components/core/AppStore.js +69 -0
  134. package/src/client/components/core/CalendarCore.js +2 -2
  135. package/src/client/components/core/Content.js +22 -3
  136. package/src/client/components/core/Docs.js +30 -6
  137. package/src/client/components/core/DropDown.js +137 -17
  138. package/src/client/components/core/FileExplorer.js +71 -4
  139. package/src/client/components/core/Input.js +1 -1
  140. package/src/client/components/core/Keyboard.js +2 -2
  141. package/src/client/components/core/LogIn.js +2 -2
  142. package/src/client/components/core/LogOut.js +2 -2
  143. package/src/client/components/core/Modal.js +20 -7
  144. package/src/client/components/core/Panel.js +0 -1
  145. package/src/client/components/core/PanelForm.js +19 -19
  146. package/src/client/components/core/RichText.js +1 -2
  147. package/src/client/components/core/SocketIo.js +82 -29
  148. package/src/client/components/core/SocketIoHandler.js +75 -0
  149. package/src/client/components/core/Stream.js +143 -95
  150. package/src/client/components/core/Webhook.js +40 -7
  151. package/src/client/components/cryptokoyn/AppStoreCryptokoyn.js +5 -0
  152. package/src/client/components/cryptokoyn/LogInCryptokoyn.js +3 -3
  153. package/src/client/components/cryptokoyn/LogOutCryptokoyn.js +2 -2
  154. package/src/client/components/cryptokoyn/MenuCryptokoyn.js +3 -3
  155. package/src/client/components/cryptokoyn/SocketIoCryptokoyn.js +3 -51
  156. package/src/client/components/cyberia/InstanceEngineCyberia.js +700 -0
  157. package/src/client/components/cyberia/MapEngineCyberia.js +1359 -2
  158. package/src/client/components/cyberia/ObjectLayerEngineModal.js +17 -6
  159. package/src/client/components/cyberia/ObjectLayerEngineViewer.js +92 -54
  160. package/src/client/components/cyberia-portal/AppStoreCyberiaPortal.js +5 -0
  161. package/src/client/components/cyberia-portal/CommonCyberiaPortal.js +217 -30
  162. package/src/client/components/cyberia-portal/CssCyberiaPortal.js +44 -2
  163. package/src/client/components/cyberia-portal/LogInCyberiaPortal.js +3 -4
  164. package/src/client/components/cyberia-portal/LogOutCyberiaPortal.js +2 -2
  165. package/src/client/components/cyberia-portal/MenuCyberiaPortal.js +104 -9
  166. package/src/client/components/cyberia-portal/RoutesCyberiaPortal.js +5 -0
  167. package/src/client/components/cyberia-portal/SocketIoCyberiaPortal.js +3 -49
  168. package/src/client/components/cyberia-portal/TranslateCyberiaPortal.js +4 -0
  169. package/src/client/components/default/AppStoreDefault.js +5 -0
  170. package/src/client/components/default/LogInDefault.js +3 -3
  171. package/src/client/components/default/LogOutDefault.js +2 -2
  172. package/src/client/components/default/MenuDefault.js +5 -5
  173. package/src/client/components/default/SocketIoDefault.js +3 -51
  174. package/src/client/components/itemledger/AppStoreItemledger.js +5 -0
  175. package/src/client/components/itemledger/LogInItemledger.js +3 -3
  176. package/src/client/components/itemledger/LogOutItemledger.js +2 -2
  177. package/src/client/components/itemledger/MenuItemledger.js +3 -3
  178. package/src/client/components/itemledger/SocketIoItemledger.js +3 -51
  179. package/src/client/components/underpost/AppStoreUnderpost.js +5 -0
  180. package/src/client/components/underpost/CssUnderpost.js +59 -0
  181. package/src/client/components/underpost/LogInUnderpost.js +6 -3
  182. package/src/client/components/underpost/LogOutUnderpost.js +4 -2
  183. package/src/client/components/underpost/MenuUnderpost.js +104 -18
  184. package/src/client/components/underpost/RoutesUnderpost.js +2 -0
  185. package/src/client/components/underpost/SocketIoUnderpost.js +3 -51
  186. package/src/client/public/cryptokoyn/assets/logo/base-icon.png +0 -0
  187. package/src/client/public/cryptokoyn/browserconfig.xml +12 -0
  188. package/src/client/public/cryptokoyn/microdata.json +85 -0
  189. package/src/client/public/cryptokoyn/site.webmanifest +57 -0
  190. package/src/client/public/cryptokoyn/sitemap +3 -3
  191. package/src/client/public/default/sitemap +3 -3
  192. package/src/client/public/itemledger/browserconfig.xml +2 -2
  193. package/src/client/public/itemledger/manifest.webmanifest +4 -4
  194. package/src/client/public/itemledger/microdata.json +71 -0
  195. package/src/client/public/itemledger/sitemap +3 -3
  196. package/src/client/public/itemledger/yandex-browser-manifest.json +2 -2
  197. package/src/client/public/test/sitemap +3 -3
  198. package/src/client/services/core/core.service.js +20 -8
  199. package/src/client/services/cyberia-dialogue/cyberia-dialogue.service.js +105 -0
  200. package/src/client/services/cyberia-entity/cyberia-entity.management.js +57 -0
  201. package/src/client/services/cyberia-entity/cyberia-entity.service.js +105 -0
  202. package/src/client/services/cyberia-instance/cyberia-instance.management.js +194 -0
  203. package/src/client/services/cyberia-instance/cyberia-instance.service.js +122 -0
  204. package/src/client/services/cyberia-instance-conf/cyberia-instance-conf.service.js +105 -0
  205. package/src/client/services/cyberia-map/cyberia-map.management.js +193 -0
  206. package/src/client/services/cyberia-map/cyberia-map.service.js +126 -0
  207. package/src/client/services/instance/instance.management.js +2 -2
  208. package/src/client/services/ipfs/ipfs.service.js +3 -23
  209. package/src/client/services/object-layer/object-layer.management.js +3 -3
  210. package/src/client/services/object-layer/object-layer.service.js +21 -0
  211. package/src/client/services/user/user.management.js +2 -2
  212. package/src/client/ssr/body/404.js +15 -11
  213. package/src/client/ssr/body/500.js +15 -11
  214. package/src/client/ssr/body/SwaggerDarkMode.js +285 -0
  215. package/src/client/ssr/head/PwaItemledger.js +60 -0
  216. package/src/client/ssr/offline/NoNetworkConnection.js +11 -10
  217. package/src/client/ssr/pages/CyberiaServerMetrics.js +1 -1
  218. package/src/client/ssr/pages/Test.js +11 -10
  219. package/src/client.build.js +0 -3
  220. package/src/client.dev.js +0 -3
  221. package/src/db/DataBaseProvider.js +17 -2
  222. package/src/db/mariadb/MariaDB.js +14 -9
  223. package/src/db/mongo/MongooseDB.js +17 -1
  224. package/src/grpc/cyberia/OFF_CHAIN_ECONOMY.md +305 -0
  225. package/src/grpc/cyberia/README.md +326 -0
  226. package/src/grpc/cyberia/grpc-server.js +530 -0
  227. package/src/index.js +24 -1
  228. package/src/proxy.js +0 -3
  229. package/src/runtime/express/Dockerfile +4 -0
  230. package/src/runtime/express/Express.js +33 -10
  231. package/src/runtime/lampp/Dockerfile +13 -2
  232. package/src/runtime/lampp/Lampp.js +33 -17
  233. package/src/runtime/wp/Dockerfile +68 -0
  234. package/src/runtime/wp/Wp.js +639 -0
  235. package/src/server/auth.js +36 -15
  236. package/src/server/backup.js +39 -12
  237. package/src/server/besu-genesis-generator.js +1630 -0
  238. package/src/server/client-build-docs.js +133 -17
  239. package/src/server/client-build-live.js +9 -18
  240. package/src/server/client-build.js +229 -101
  241. package/src/server/client-dev-server.js +14 -13
  242. package/src/server/client-formatted.js +109 -57
  243. package/src/server/conf.js +391 -164
  244. package/src/server/cron.js +27 -24
  245. package/src/server/dns.js +29 -12
  246. package/src/server/downloader.js +0 -2
  247. package/src/server/ipfs-client.js +24 -1
  248. package/src/server/logger.js +27 -9
  249. package/src/server/object-layer.js +217 -103
  250. package/src/server/peer.js +8 -2
  251. package/src/server/process.js +1 -50
  252. package/src/server/proxy.js +4 -8
  253. package/src/server/runtime.js +30 -9
  254. package/src/server/semantic-layer-generator-floor.js +359 -0
  255. package/src/server/semantic-layer-generator-skin.js +1294 -0
  256. package/src/server/semantic-layer-generator.js +116 -555
  257. package/src/server/ssr.js +0 -3
  258. package/src/server/start.js +19 -12
  259. package/src/server/tls.js +0 -2
  260. package/src/server.js +0 -4
  261. package/src/ws/IoInterface.js +1 -10
  262. package/src/ws/IoServer.js +14 -33
  263. package/src/ws/core/channels/core.ws.chat.js +65 -20
  264. package/src/ws/core/channels/core.ws.mailer.js +113 -32
  265. package/src/ws/core/channels/core.ws.stream.js +90 -31
  266. package/src/ws/core/core.ws.connection.js +12 -33
  267. package/src/ws/core/core.ws.emit.js +10 -26
  268. package/src/ws/core/core.ws.server.js +25 -58
  269. package/src/ws/default/channels/default.ws.main.js +53 -12
  270. package/src/ws/default/default.ws.connection.js +26 -13
  271. package/src/ws/default/default.ws.server.js +30 -12
  272. package/.env.development +0 -43
  273. package/.env.test +0 -43
  274. package/hardhat/contracts/CryptoKoyn.sol +0 -59
  275. package/hardhat/contracts/ItemLedger.sol +0 -73
  276. package/hardhat/contracts/Lock.sol +0 -34
  277. package/hardhat/hardhat.config.cjs +0 -45
  278. package/hardhat/ignition/modules/Lock.js +0 -18
  279. package/hardhat/networks/cryptokoyn-itemledger.network.json +0 -29
  280. package/hardhat/scripts/deployCryptokoyn.cjs +0 -25
  281. package/hardhat/scripts/deployItemledger.cjs +0 -25
  282. package/hardhat/test/Lock.js +0 -126
  283. package/hardhat/white-paper.md +0 -581
  284. package/src/client/components/cryptokoyn/CommonCryptokoyn.js +0 -29
  285. package/src/client/components/cryptokoyn/ElementsCryptokoyn.js +0 -38
  286. package/src/client/components/cyberia-portal/ElementsCyberiaPortal.js +0 -38
  287. package/src/client/components/default/ElementsDefault.js +0 -38
  288. package/src/client/components/itemledger/CommonItemledger.js +0 -29
  289. package/src/client/components/itemledger/ElementsItemledger.js +0 -38
  290. package/src/client/components/underpost/CommonUnderpost.js +0 -29
  291. package/src/client/components/underpost/ElementsUnderpost.js +0 -38
  292. package/src/ws/core/management/core.ws.chat.js +0 -8
  293. package/src/ws/core/management/core.ws.mailer.js +0 -16
  294. package/src/ws/core/management/core.ws.stream.js +0 -8
  295. package/src/ws/default/management/default.ws.main.js +0 -8
  296. package/white-paper.md +0 -581
@@ -1,7 +1,7 @@
1
1
  DEPLOY_ID=dd-default
2
2
  NODE_ENV=production
3
3
  PORT=3000
4
- JWT_SECRET=test
4
+ JWT_SECRET=changethis
5
5
  REFRESH_EXPIRE_MINUTES=5
6
6
  ACCESS_EXPIRE_MINUTES=1440
7
7
  NODE_OPTIONS=--max-old-space-size=8192
@@ -15,8 +15,25 @@ DEFAULT_DEPLOY_ID=dd-default
15
15
  DEFAULT_DEPLOY_HOST=default.net
16
16
  DEFAULT_DEPLOY_PATH=/
17
17
  MARIADB_HOST=changethis
18
+ MARIADB_PORT=3306
18
19
  MARIADB_USER=changethis
19
20
  MARIADB_PASSWORD=changethis
21
+ DB_PROVIDER=mongoose
22
+ DB_HOST=mongodb://127.0.0.1:27017
23
+ DB_NAME=default
24
+ SMTP_HOST=changethis
25
+ SMTP_PORT=465
26
+ SMTP_SECURE=true
27
+ SMTP_AUTH_USER=changethis
28
+ SMTP_AUTH_PASS=changethis
29
+ MAILER_SENDER_EMAIL=noreply@default.net
30
+ MAILER_SENDER_NAME=Default
31
+ DDNS_HOST=changethis
32
+ DDNS_PROVIDER=dondominio
33
+ DDNS_API_KEY=changethis
34
+ DDNS_USER=changethis
35
+ VALKEY_HOST=127.0.0.1
36
+ VALKEY_PORT=6379
20
37
  WIFI_PASSWORD=changethis
21
38
  CLOUDINARY_CLOUD_NAME=changethis
22
39
  CLOUDINARY_API_KEY=changethis
@@ -51,6 +68,5 @@ POSTMAN_PASSWORD=changethis
51
68
  DEFAULT_SSH_PORT=22
52
69
  ENABLE_FILE_LOGS=false
53
70
  BASE_API=api
54
- CERTBOT_LIVE_PATH=changethis
55
- CERTBOT_LIVE_PATH_WINDOWS=changethis
56
- DEV_PROXY_PORT_OFFSET=200
71
+ DEV_PROXY_PORT_OFFSET=200
72
+ DOTENV_CONFIG_QUIET=true
@@ -1,5 +1,16 @@
1
1
  name: CD | Engine cyberia | remote ssh
2
- on: [push]
2
+ on:
3
+ push:
4
+ workflow_dispatch:
5
+ inputs:
6
+ job:
7
+ description: 'Job to run (deploy, sync-and-deploy, init)'
8
+ required: true
9
+ type: choice
10
+ options:
11
+ - deploy
12
+ - sync-and-deploy
13
+ - init
3
14
  permissions:
4
15
  contents: write
5
16
  packages: write
@@ -7,12 +18,17 @@ permissions:
7
18
 
8
19
  jobs:
9
20
  deploy:
10
- if: github.repository == 'underpostnet/engine' && startsWith(github.event.head_commit.message, 'cd(ssh-engine-cyberia)')
21
+ if: >-
22
+ github.repository == 'underpostnet/engine'
23
+ && (
24
+ startsWith(github.event.head_commit.message, 'cd(ssh-engine-cyberia)')
25
+ || (github.event_name == 'workflow_dispatch' && github.event.inputs.job == 'deploy')
26
+ )
11
27
  name: Remote SSH deployment
12
28
  runs-on: ubuntu-latest
13
29
  steps:
14
30
  - name: Run remote deploy via SSH
15
- uses: appleboy/ssh-action@v1.2.2
31
+ uses: appleboy/ssh-action@v1.2.5
16
32
  with:
17
33
  # Remote host (secret)
18
34
  host: ${{ secrets.SSH_HOST }}
@@ -32,14 +48,20 @@ jobs:
32
48
  echo "Starting remote deploy"
33
49
  cd /home/dd/engine
34
50
  sudo -n -- /bin/bash -lc "node bin run pull"
51
+ sudo -n -- /bin/bash -lc "npm install"
35
52
  sudo -n -- /bin/bash -lc "node bin run deploy dd-cyberia"
36
53
  sync-and-deploy:
37
- if: github.repository == 'underpostnet/engine' && startsWith(github.event.head_commit.message, 'cd(ssh-sync-engine-cyberia)')
54
+ if: >-
55
+ github.repository == 'underpostnet/engine'
56
+ && (
57
+ startsWith(github.event.head_commit.message, 'cd(ssh-sync-engine-cyberia)')
58
+ || (github.event_name == 'workflow_dispatch' && github.event.inputs.job == 'sync-and-deploy')
59
+ )
38
60
  name: Remote SSH sync and deploy
39
61
  runs-on: ubuntu-latest
40
62
  steps:
41
63
  - name: Run remote deploy via SSH
42
- uses: appleboy/ssh-action@v1.2.2
64
+ uses: appleboy/ssh-action@v1.2.5
43
65
  with:
44
66
  # Remote host (secret)
45
67
  host: ${{ secrets.SSH_HOST }}
@@ -59,15 +81,25 @@ jobs:
59
81
  echo "Starting remote sync and deploy"
60
82
  cd /home/dd/engine
61
83
  sudo -n -- /bin/bash -lc "node bin run pull"
84
+ sudo -n -- /bin/bash -lc "npm install"
85
+ sudo -n -- /bin/bash -lc "node bin run clean src/client/public/cyberia"
86
+ sudo -n -- /bin/bash -lc "node bin fs src/client/public/cyberia --git --pull --recursive --deploy-id dd-cyberia"
87
+ sudo -n -- /bin/bash -lc "node bin run clean src/client/public/underpost"
88
+ sudo -n -- /bin/bash -lc "node bin fs src/client/public/underpost --git --pull --recursive --deploy-id dd-cyberia --storage-file-path './engine-private/conf/dd-cyberia/storage.underpost.json'"
62
89
  sudo -n -- /bin/bash -lc "npm run test"
63
- sudo -n -- /bin/bash -lc "node bin run sync --kubeadm --deploy-id-cron-jobs none --timeout-response 300000ms dd-cyberia,1,,localhost/rockylinux9-underpost:v2.98.3 --cmd 'npm install -g npm@11.2.0,npm install -g underpost,underpost secret underpost --create-from-file /etc/config/.env.production,underpost start --build --run dd-cyberia production'"
90
+ sudo -n -- /bin/bash -lc "node bin run sync --kubeadm --deploy-id-cron-jobs none --timeout-response 300000ms dd-cyberia,1,,localhost/rockylinux9-underpost:v2.98.3 --cmd 'npm install -g npm@11.2.0,npm install -g underpost,underpost secret underpost --create-from-env,underpost start --build --run dd-cyberia production'"
64
91
  init:
65
- if: github.repository == 'underpostnet/engine' && startsWith(github.event.head_commit.message, 'cd(ssh-init-engine-cyberia)')
92
+ if: >-
93
+ github.repository == 'underpostnet/engine'
94
+ && (
95
+ startsWith(github.event.head_commit.message, 'cd(ssh-init-engine-cyberia)')
96
+ || (github.event_name == 'workflow_dispatch' && github.event.inputs.job == 'init')
97
+ )
66
98
  name: Remote SSH init deployment
67
99
  runs-on: ubuntu-latest
68
100
  steps:
69
101
  - name: Run remote deploy via SSH
70
- uses: appleboy/ssh-action@v1.2.2
102
+ uses: appleboy/ssh-action@v1.2.5
71
103
  with:
72
104
  # Remote host (secret)
73
105
  host: ${{ secrets.SSH_HOST }}
@@ -87,6 +119,7 @@ jobs:
87
119
  echo "Starting init deploy"
88
120
  cd /home/dd/engine
89
121
  sudo -n -- /bin/bash -lc "node bin run pull"
90
- sudo -n -- /bin/bash -lc "node bin deploy dd-cyberia production --kubeadm --sync --build-manifest --image 'localhost/rockylinux9-underpost:v2.98.3' --timeout-response 300000ms --versions green --replicas 1 --cmd 'npm install -g npm@11.2.0,npm install -g underpost,underpost secret underpost --create-from-file /etc/config/.env.production,underpost start --build --run dd-cyberia production'"
91
- sudo -n -- /bin/bash -lc "node bin deploy dd-cyberia production --kubeadm --disable-update-proxy"
122
+ sudo -n -- /bin/bash -lc "npm install"
123
+ sudo -n -- /bin/bash -lc "node bin deploy dd-cyberia production --kubeadm --sync --build-manifest --image 'localhost/rockylinux9-underpost:v2.98.3' --timeout-response 300000ms --versions green --replicas 1 --cmd 'npm install -g npm@11.2.0,npm install -g underpost,underpost secret underpost --create-from-env,underpost start --build --run dd-cyberia production'"
124
+ sudo -n -- /bin/bash -lc "node bin deploy dd-cyberia production --kubeadm --disable-update-proxy --git-clean"
92
125
  sudo -n -- /bin/bash -lc "node bin monitor dd-cyberia production --ready-deployment --promote --timeout-response 300000ms --versions green --replicas 1"
@@ -1,9 +1,27 @@
1
1
  name: CI | Engine cyberia | github repository
2
2
  on:
3
- workflow_run:
4
- workflows: ['CI | Publish npm repository package']
5
- types:
6
- - completed
3
+ workflow_dispatch:
4
+ inputs:
5
+ sync:
6
+ description: 'Trigger sync-and-deploy CD after build'
7
+ required: false
8
+ default: 'false'
9
+ type: choice
10
+ options:
11
+ - 'true'
12
+ - 'false'
13
+ message:
14
+ description: 'Commit message for the build'
15
+ required: false
16
+ default: ''
17
+ deploy_type:
18
+ description: 'CD job type to dispatch (sync-and-deploy or init)'
19
+ required: false
20
+ default: 'sync-and-deploy'
21
+ type: choice
22
+ options:
23
+ - sync-and-deploy
24
+ - init
7
25
  permissions:
8
26
  contents: write
9
27
  packages: write
@@ -11,8 +29,6 @@ permissions:
11
29
  jobs:
12
30
  pwa-microservices-template:
13
31
  name: Update github repo package Jobs
14
- env:
15
- SYNC: ${{ startsWith(github.event.workflow_run.head_commit.message, 'ci(package-pwa-microservices-template-sync-engine-cyberia)') }}
16
32
  runs-on: ubuntu-latest
17
33
  container:
18
34
  image: quay.io/rockylinux/rockylinux:9
@@ -21,7 +37,7 @@ jobs:
21
37
  packages: write
22
38
  id-token: write
23
39
  steps:
24
- - uses: actions/checkout@v3
40
+ - uses: actions/checkout@v6
25
41
 
26
42
  - name: Install required packages
27
43
  run: |
@@ -34,10 +50,7 @@ jobs:
34
50
  dnf install nodejs -y
35
51
 
36
52
  - name: Install dependencies
37
- run: |
38
- npm install -g underpost
39
- npm install
40
- underpost config set GITHUB_TOKEN ${{ secrets.GIT_AUTH_TOKEN }}
53
+ run: npm install
41
54
 
42
55
  - name: Set git global credentials
43
56
  run: |
@@ -46,15 +59,24 @@ jobs:
46
59
  git config --global user.email 'development@underpost.net'
47
60
 
48
61
  - name: Build repository
62
+ env:
63
+ GITHUB_TOKEN: ${{ secrets.GIT_AUTH_TOKEN }}
49
64
  run: |
50
- cd .. && underpost clone underpostnet/pwa-microservices-template
51
- FULL_MSG=$(cd pwa-microservices-template && git log -1 --pretty=%B 2>/dev/null || echo "")
52
- LAST_COMMIT_MESSAGE=$(echo "$FULL_MSG" | sed '1d')
65
+ cd .. && node engine/bin clone underpostnet/pwa-microservices-template
66
+ if [ -n "${{ github.event.inputs.message }}" ]; then
67
+ LAST_COMMIT_MESSAGE="${{ github.event.inputs.message }}"
68
+ else
69
+ FULL_MSG=$(cd pwa-microservices-template && git log -1 --pretty=%B 2>/dev/null || echo "")
70
+ LAST_COMMIT_MESSAGE=$(echo "$FULL_MSG" | sed '1s/^[^:]*: [^ ]* //')
71
+ fi
72
+ SHOULD_CD="${{ github.event.inputs.sync }}"
73
+ DEPLOY_TYPE="${{ github.event.inputs.deploy_type }}"
53
74
  if [ -z "$LAST_COMMIT_MESSAGE" ]; then
54
75
  LAST_COMMIT_MESSAGE="Update engine cyberia repository"
55
76
  fi
56
77
  echo "[INFO] Captured commit message: $LAST_COMMIT_MESSAGE"
57
- underpost clone --bare underpostnet/engine-cyberia
78
+ echo "[INFO] Should CD: $SHOULD_CD, Deploy type: $DEPLOY_TYPE"
79
+ node engine/bin clone --bare underpostnet/engine-cyberia
58
80
  cd engine
59
81
  node bin/build dd-cyberia development
60
82
  cd ../pwa-microservices-template
@@ -65,17 +87,17 @@ jobs:
65
87
  git config user.email 'development@underpost.net'
66
88
  git add .
67
89
  git commit -m "$LAST_COMMIT_MESSAGE"
68
- underpost push . underpostnet/engine-cyberia
69
- if [ "${SYNC}" = "true" ]; then
70
- echo "[INFO] Init engine-cyberia deployment"
71
- underpost config set GITHUB_USERNAME underpostnet
72
- mkdir -p /home/dd
73
- sudo rm -rf /home/dd/engine
74
- cd /home/dd
75
- underpost clone underpostnet/engine
76
- cd engine
77
- npm install
78
- node bin run ssh-deploy sync-engine-cyberia
90
+ node ../engine/bin push . underpostnet/engine-cyberia
91
+ if [ "$SHOULD_CD" = "true" ]; then
92
+ if [ -z "$DEPLOY_TYPE" ]; then
93
+ DEPLOY_TYPE="sync-and-deploy"
94
+ fi
95
+ echo "[INFO] Dispatching engine-cyberia CD ${DEPLOY_TYPE}"
96
+ curl -s -X POST \
97
+ -H "Accept: application/vnd.github.v3+json" \
98
+ -H "Authorization: token ${{ secrets.GIT_AUTH_TOKEN }}" \
99
+ "https://api.github.com/repos/underpostnet/engine/actions/workflows/engine-cyberia.cd.yml/dispatches" \
100
+ -d "{\"ref\":\"master\",\"inputs\":{\"job\":\"${DEPLOY_TYPE}\"}}"
79
101
  else
80
102
  echo "[INFO] Deployment skipped"
81
103
  fi
@@ -20,7 +20,7 @@ jobs:
20
20
  packages: write
21
21
  id-token: write
22
22
  steps:
23
- - uses: actions/checkout@v3
23
+ - uses: actions/checkout@v6
24
24
 
25
25
  - name: Install required packages
26
26
  run: |
@@ -43,8 +43,6 @@ jobs:
43
43
 
44
44
  - name: Install dependencies and set repo configuration
45
45
  run: |
46
- npm install -g underpost
47
- underpost config set GITHUB_TOKEN ${{ secrets.GIT_AUTH_TOKEN }}
48
46
  npm install
49
47
  node ./bin/deploy rename-package @underpostnet/underpost
50
48
  node ./bin/deploy set-repo underpostnet/pwa-microservices-template-ghpkg
@@ -57,8 +55,10 @@ jobs:
57
55
  git config --global user.email 'fcoverdugoa@underpost.net'
58
56
 
59
57
  - name: Clone and Push to github package repository
58
+ env:
59
+ GITHUB_TOKEN: ${{ secrets.GIT_AUTH_TOKEN }}
60
60
  run: |
61
- underpost clone --bare underpostnet/pwa-microservices-template-ghpkg
61
+ node bin clone --bare underpostnet/pwa-microservices-template-ghpkg
62
62
  rm -rf ./.git
63
63
  mv ./pwa-microservices-template-ghpkg.git ./.git
64
64
  pwd
@@ -69,4 +69,4 @@ jobs:
69
69
  git add .
70
70
  git status
71
71
  git commit -m "$LAST_COMMIT_MESSAGE"
72
- underpost push . underpostnet/pwa-microservices-template-ghpkg
72
+ node bin push . underpostnet/pwa-microservices-template-ghpkg
@@ -6,7 +6,7 @@ jobs:
6
6
  name: Update gitlab repo package Jobs
7
7
  runs-on: ubuntu-latest
8
8
  steps:
9
- - uses: actions/checkout@v4
9
+ - uses: actions/checkout@v6
10
10
  with:
11
11
  fetch-depth: 0
12
12
  lfs: true
@@ -0,0 +1,82 @@
1
+ # ─────────────────────────────────────────────────────────────────────────────
2
+ # CI | Hardhat – Compile, Test, Audit
3
+ # ─────────────────────────────────────────────────────────────────────────────
4
+ name: CI | Hardhat
5
+
6
+ on:
7
+ push:
8
+ paths:
9
+ - 'hardhat/**'
10
+ - '.github/workflows/hardhat.ci.yml'
11
+ pull_request:
12
+ paths:
13
+ - 'hardhat/**'
14
+ - '.github/workflows/hardhat.ci.yml'
15
+ workflow_dispatch:
16
+
17
+ permissions:
18
+ contents: read
19
+
20
+ jobs:
21
+ build-and-test:
22
+ name: Compile, Test & Audit
23
+ runs-on: ubuntu-latest
24
+ defaults:
25
+ run:
26
+ working-directory: hardhat
27
+
28
+ strategy:
29
+ matrix:
30
+ node-version: ['24']
31
+
32
+ steps:
33
+ - name: Checkout repository
34
+ uses: actions/checkout@v6
35
+
36
+ - name: Setup Node.js ${{ matrix.node-version }}
37
+ uses: actions/setup-node@v6
38
+ with:
39
+ node-version: ${{ matrix.node-version }}
40
+ cache: 'npm'
41
+ cache-dependency-path: hardhat/package-lock.json
42
+
43
+ # ── Install ──────────────────────────────────────────────────────────
44
+ # Use `npm ci` for reproducible installs from the lockfile.
45
+ # Never install packages globally in CI.
46
+ - name: Install dependencies (npm ci)
47
+ run: npm ci
48
+
49
+ # ── Security Audit ───────────────────────────────────────────────────
50
+ # Production deps are what ships on-chain – fail on any moderate+ vuln.
51
+ - name: npm audit – production deps (moderate+)
52
+ run: npm audit --audit-level=moderate --omit=dev
53
+
54
+ # Dev/toolchain deps (hardhat, solidity-coverage, etc.) carry known
55
+ # transitive vulnerabilities that upstream hasn't patched yet.
56
+ # Log them for visibility but don't block the pipeline.
57
+ - name: npm audit – dev deps (informational)
58
+ run: npm audit --audit-level=moderate || true
59
+
60
+ # ── Compile ──────────────────────────────────────────────────────────
61
+ - name: Compile Solidity contracts
62
+ run: npx hardhat compile
63
+
64
+ # ── Test ─────────────────────────────────────────────────────────────
65
+ - name: Run tests
66
+ run: npx hardhat test
67
+ env:
68
+ REPORT_GAS: 'true'
69
+
70
+ # ── Coverage (optional, only on primary Node version) ────────────────
71
+ - name: Solidity coverage
72
+ if: matrix.node-version == '20'
73
+ run: npx hardhat coverage
74
+
75
+ # ── Lockfile integrity check ─────────────────────────────────────────
76
+ # Fail if package-lock.json is out of sync with package.json
77
+ - name: Verify lockfile is up to date
78
+ run: |
79
+ git diff --exit-code package-lock.json || {
80
+ echo "::error::package-lock.json is out of sync with package.json. Run 'npm install' locally and commit the lockfile."
81
+ exit 1
82
+ }
@@ -4,6 +4,20 @@ on:
4
4
  branches: ['master']
5
5
  pull_request:
6
6
  branches: ['master']
7
+ workflow_dispatch:
8
+ inputs:
9
+ message:
10
+ description: 'Changelog message for the build'
11
+ required: false
12
+ default: ''
13
+ deploy_conf_id:
14
+ description: 'Engine conf ID to dispatch after build (e.g., engine-core, engine-cyberia)'
15
+ required: false
16
+ default: ''
17
+ deploy_type:
18
+ description: 'Deployment type for the engine conf CD (sync-and-deploy or init)'
19
+ required: false
20
+ default: ''
7
21
  permissions:
8
22
  contents: write
9
23
  packages: write
@@ -12,7 +26,10 @@ jobs:
12
26
  pwa-microservices-template:
13
27
  if: |
14
28
  github.repository == 'underpostnet/engine'
15
- && startsWith(github.event.head_commit.message, 'ci(package-pwa-microservices-template')
29
+ && (
30
+ startsWith(github.event.head_commit.message, 'ci(package-pwa-microservices-template')
31
+ || github.event_name == 'workflow_dispatch'
32
+ )
16
33
  name: Update npm repo package Jobs
17
34
  runs-on: ubuntu-latest
18
35
  container:
@@ -22,7 +39,7 @@ jobs:
22
39
  packages: write
23
40
  id-token: write
24
41
  steps:
25
- - uses: actions/checkout@v3
42
+ - uses: actions/checkout@v6
26
43
 
27
44
  - name: Install required packages
28
45
  run: |
@@ -36,20 +53,23 @@ jobs:
36
53
 
37
54
  - name: Capture commit message
38
55
  run: |
39
- FULL_MSG="${{ github.event.head_commit.message }}"
40
- REST="$(echo "$FULL_MSG" | tail -n +2 | awk 'NR==1{first=$0; has_first=1; next} NR==2{print first " " $0; has_first=0; next} {print} END{if(has_first) print first}')"
41
- LAST_COMMIT_MESSAGE="${REST:-$FULL_MSG}"
56
+ if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
57
+ LAST_COMMIT_MESSAGE="${{ github.event.inputs.message }}"
58
+ if [ -z "$LAST_COMMIT_MESSAGE" ]; then
59
+ LAST_COMMIT_MESSAGE="Update repository"
60
+ fi
61
+ else
62
+ FULL_MSG="${{ github.event.head_commit.message }}"
63
+ REST="$(echo "$FULL_MSG" | tail -n +2 | awk 'NR==1{first=$0; has_first=1; next} NR==2{print first " " $0; has_first=0; next} {print} END{if(has_first) print first}')"
64
+ LAST_COMMIT_MESSAGE="${REST:-$FULL_MSG}"
65
+ fi
42
66
  echo "LAST_COMMIT_MESSAGE<<EOF" >> $GITHUB_ENV
43
67
  echo "$LAST_COMMIT_MESSAGE" >> $GITHUB_ENV
44
68
  echo "EOF" >> $GITHUB_ENV
45
- echo "[INFO] Full commit message: $FULL_MSG"
46
69
  echo "[INFO] Extracted payload: $LAST_COMMIT_MESSAGE"
47
70
 
48
71
  - name: Install dependencies
49
- run: |
50
- npm install -g underpost
51
- underpost config set GITHUB_TOKEN ${{ secrets.GIT_AUTH_TOKEN }}
52
- npm install
72
+ run: npm install
53
73
 
54
74
  - name: Set git global credentials
55
75
  run: |
@@ -59,14 +79,40 @@ jobs:
59
79
  git config --global user.email 'fcoverdugoa@underpost.net'
60
80
 
61
81
  - name: Clone github package repository
82
+ env:
83
+ GITHUB_TOKEN: ${{ secrets.GIT_AUTH_TOKEN }}
62
84
  run: |
63
- cd .. && underpost clone underpostnet/pwa-microservices-template
85
+ cd .. && node engine/bin clone underpostnet/pwa-microservices-template
64
86
  cd engine
65
- npm run update-template
87
+ npm run update:template
66
88
  cd ../pwa-microservices-template
67
89
  git remote set-url origin git@github.com:underpostnet/pwa-microservices-template.git
68
90
  git add .
69
91
  git config user.name 'underpostnet'
70
92
  git config user.email 'fcoverdugoa@underpost.net'
71
- underpost cmt . ci package-pwa-microservices-template-ghpkg "$LAST_COMMIT_MESSAGE"
72
- underpost push . underpostnet/pwa-microservices-template
93
+ node ../engine/bin cmt . ci package-pwa-microservices-template-ghpkg "$LAST_COMMIT_MESSAGE"
94
+ node ../engine/bin push . underpostnet/pwa-microservices-template
95
+
96
+ - name: Dispatch all engine CIs
97
+ run: |
98
+ DEPLOY_CONF_ID="${{ github.event.inputs.deploy_conf_id }}"
99
+ DEPLOY_TYPE="${{ github.event.inputs.deploy_type }}"
100
+ for ENGINE in engine-core engine-cyberia engine-lampp engine-test; do
101
+ SYNC="false"
102
+ DT=""
103
+ if [ "$ENGINE" = "$DEPLOY_CONF_ID" ]; then
104
+ SYNC="true"
105
+ DT="$DEPLOY_TYPE"
106
+ fi
107
+ echo "[INFO] Dispatching ${ENGINE}.ci.yml (sync=$SYNC, deploy_type=$DT)"
108
+ INPUTS="{\"sync\":\"${SYNC}\""
109
+ if [ -n "$DT" ]; then
110
+ INPUTS="${INPUTS},\"deploy_type\":\"${DT}\""
111
+ fi
112
+ INPUTS="${INPUTS}}"
113
+ curl -s -X POST \
114
+ -H "Accept: application/vnd.github.v3+json" \
115
+ -H "Authorization: token ${{ secrets.GIT_AUTH_TOKEN }}" \
116
+ "https://api.github.com/repos/underpostnet/engine/actions/workflows/${ENGINE}.ci.yml/dispatches" \
117
+ -d "{\"ref\":\"master\",\"inputs\":${INPUTS}}"
118
+ done
@@ -3,18 +3,28 @@ on:
3
3
  push:
4
4
  tags:
5
5
  - 'v*'
6
+ permissions:
7
+ contents: write
8
+ packages: write
9
+ id-token: write
6
10
  jobs:
7
11
  build-and-publish:
8
12
  # prevents this action from running on forks
9
13
  if: github.repository == 'underpostnet/pwa-microservices-template'
10
14
  runs-on: ubuntu-latest
11
15
  permissions:
12
- contents: read
16
+ contents: write
17
+ packages: write
13
18
  id-token: write
14
19
  steps:
15
- - uses: actions/checkout@v4
20
+ - uses: actions/checkout@v6
16
21
 
17
- - uses: actions/setup-node@v4
22
+ - name: Install required packages
23
+ run: |
24
+ sudo apt-get update -y
25
+ sudo apt-get install -y sudo tar gzip bzip2 git curl
26
+
27
+ - uses: actions/setup-node@v6
18
28
  with:
19
29
  node-version: '24.x'
20
30
  registry-url: 'https://registry.npmjs.org'
@@ -27,17 +37,26 @@ jobs:
27
37
  NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
28
38
  run: npm publish --provenance --access public
29
39
 
40
+ - name: Dispatch release CD
41
+ run: |
42
+ curl -s -f -X POST \
43
+ -H "Accept: application/vnd.github.v3+json" \
44
+ -H "Authorization: token ${{ secrets.GIT_AUTH_TOKEN }}" \
45
+ "https://api.github.com/repos/underpostnet/pwa-microservices-template/actions/workflows/release.cd.yml/dispatches" \
46
+ -d '{"ref":"master"}'
47
+
30
48
  build-and-publish-ghpkg:
31
49
  # prevents this action from running on forks
32
50
  if: github.repository == 'underpostnet/pwa-microservices-template-ghpkg'
33
51
  runs-on: ubuntu-latest
34
52
  permissions:
35
- contents: read
53
+ contents: write
54
+ packages: write
36
55
  id-token: write
37
56
  steps:
38
- - uses: actions/checkout@v4
57
+ - uses: actions/checkout@v6
39
58
 
40
- - uses: actions/setup-node@v4
59
+ - uses: actions/setup-node@v6
41
60
  with:
42
61
  node-version: '24.x'
43
62
  registry-url: 'https://registry.npmjs.org'
@@ -52,7 +71,7 @@ jobs:
52
71
  run: npm publish --provenance --access public
53
72
 
54
73
  - name: Setup node to publish to GitHub Packages
55
- uses: actions/setup-node@v4
74
+ uses: actions/setup-node@v6
56
75
  with:
57
76
  node-version: '24.x'
58
77
  registry-url: 'https://npm.pkg.github.com'
@@ -12,9 +12,9 @@ jobs:
12
12
  contents: read
13
13
  id-token: write
14
14
  steps:
15
- - uses: actions/checkout@v4
15
+ - uses: actions/checkout@v6
16
16
 
17
- - uses: actions/setup-node@v4
17
+ - uses: actions/setup-node@v6
18
18
  with:
19
19
  node-version: '24.x'
20
20
  registry-url: 'https://registry.npmjs.org'
@@ -35,9 +35,9 @@ jobs:
35
35
  contents: read
36
36
  id-token: write
37
37
  steps:
38
- - uses: actions/checkout@v4
38
+ - uses: actions/checkout@v6
39
39
 
40
- - uses: actions/setup-node@v4
40
+ - uses: actions/setup-node@v6
41
41
  with:
42
42
  node-version: '24.x'
43
43
  registry-url: 'https://registry.npmjs.org'
@@ -52,7 +52,7 @@ jobs:
52
52
  run: npm publish --provenance --access public
53
53
 
54
54
  - name: Setup node to publish to GitHub Packages
55
- uses: actions/setup-node@v4
55
+ uses: actions/setup-node@v6
56
56
  with:
57
57
  node-version: '24.x'
58
58
  registry-url: 'https://npm.pkg.github.com'
@@ -33,7 +33,7 @@ jobs:
33
33
  image: quay.io/rockylinux/rockylinux:9
34
34
  steps:
35
35
  - name: Checkout
36
- uses: actions/checkout@v4
36
+ uses: actions/checkout@v6
37
37
  # with:
38
38
  # lfs: true
39
39
  # - name: Checkout LFS objects
@@ -51,23 +51,22 @@ jobs:
51
51
 
52
52
  - name: Build the site
53
53
  run: |
54
- npm install -g underpost
55
54
  npm install
56
55
  node bin new --default-conf --conf-workflow-id dd-github-pages
57
56
  node bin new --deploy-id dd-github-pages
58
- underpost env dd-github-pages production
59
- env-cmd -f .env.production node bin/deploy build-full-client dd-github-pages underpostnet.github.io /pwa-microservices-template-ghpkg
57
+ node bin env dd-github-pages production
58
+ NODE_ENV=production node bin client dd-github-pages '' underpostnet.github.io /pwa-microservices-template-ghpkg
60
59
  # git lfs install
61
60
  # git lfs track
62
61
  # git lfs ls-files
63
62
  # git lfs pull
64
63
  - name: Setup Pages
65
- uses: actions/configure-pages@v5
64
+ uses: actions/configure-pages@v6
66
65
  - name: Upload artifact
67
- uses: actions/upload-pages-artifact@v3
66
+ uses: actions/upload-pages-artifact@v5
68
67
  with:
69
68
  # Upload entire repository
70
69
  path: './public/underpostnet.github.io/pwa-microservices-template-ghpkg/'
71
70
  - name: Deploy to GitHub Pages
72
71
  id: deployment
73
- uses: actions/deploy-pages@v4
72
+ uses: actions/deploy-pages@v5
@@ -11,7 +11,7 @@ jobs:
11
11
  options: --entrypoint /bin/bash
12
12
  steps:
13
13
  - name: Clone repository
14
- uses: actions/checkout@v3
14
+ uses: actions/checkout@v6
15
15
 
16
16
  - name: Install required packages
17
17
  run: |
@@ -26,8 +26,8 @@ jobs:
26
26
  - name: Get npm root
27
27
  run: npm root -g
28
28
 
29
- - name: Install underpost CLI
30
- run: npm install -g underpost
29
+ - name: Install dependencies
30
+ run: npm install
31
31
 
32
32
  - name: Run test
33
- run: underpost test
33
+ run: node bin test