cyberia 3.2.22 → 3.2.70

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 (185) hide show
  1. package/.env.example +127 -68
  2. package/.github/workflows/cyberia-client.cd.yml +40 -0
  3. package/.github/workflows/cyberia-server.cd.yml +40 -0
  4. package/.github/workflows/docker-image.cyberia-client.ci.yml +49 -0
  5. package/.github/workflows/docker-image.cyberia-client.dev.ci.yml +48 -0
  6. package/.github/workflows/docker-image.cyberia-server.ci.yml +69 -0
  7. package/.github/workflows/docker-image.cyberia-server.dev.ci.yml +69 -0
  8. package/.github/workflows/docker-image.engine-cyberia.ci.yml +52 -0
  9. package/.github/workflows/docker-image.engine-cyberia.dev.ci.yml +52 -0
  10. package/.github/workflows/engine-cyberia.cd.yml +33 -24
  11. package/.github/workflows/engine-cyberia.ci.yml +13 -3
  12. package/.github/workflows/ghpkg.ci.yml +88 -1
  13. package/.github/workflows/gitlab.ci.yml +1 -1
  14. package/.github/workflows/hardhat.ci.yml +1 -1
  15. package/.github/workflows/npmpkg.ci.yml +10 -7
  16. package/.github/workflows/publish.ci.yml +2 -2
  17. package/.github/workflows/publish.cyberia.ci.yml +5 -16
  18. package/.github/workflows/pwa-microservices-template-page.cd.yml +1 -8
  19. package/.github/workflows/pwa-microservices-template-test.ci.yml +1 -1
  20. package/CHANGELOG.md +301 -1
  21. package/CLI-HELP.md +71 -6
  22. package/Dockerfile +141 -43
  23. package/Dockerfile.dev +143 -0
  24. package/Dockerfile.test +165 -0
  25. package/README.md +1 -1
  26. package/baremetal/commission-workflows.json +1 -0
  27. package/bin/build.js +31 -0
  28. package/bin/cyberia.js +1080 -184
  29. package/bin/deploy.js +2 -2
  30. package/bin/index.js +1080 -184
  31. package/bump.config.js +1 -0
  32. package/compose.env +131 -0
  33. package/conf.js +18 -1
  34. package/deployment.yaml +2 -2
  35. package/docker-compose.yml +316 -0
  36. package/hardhat/hardhat.config.js +2 -2
  37. package/hardhat/package-lock.json +620 -2041
  38. package/hardhat/package.json +7 -5
  39. package/hardhat/scripts/deployObjectLayerToken.js +18 -18
  40. package/hardhat/test/ObjectLayerToken.js +378 -274
  41. package/ipfs/configure-ipfs.sh +13 -0
  42. package/manifests/cronjobs/dd-cron/dd-cron-backup.yaml +1 -1
  43. package/manifests/cronjobs/dd-cron/dd-cron-dns.yaml +1 -1
  44. package/manifests/deployment/dd-cyberia-development/deployment.yaml +2 -2
  45. package/manifests/deployment/dd-cyberia-development/grpc-service.yaml +17 -0
  46. package/manifests/deployment/dd-cyberia-development/pv-pvc.yaml +32 -0
  47. package/manifests/deployment/dd-default-development/deployment.yaml +2 -2
  48. package/mongodb/entrypoint.sh +76 -0
  49. package/nginx.conf +87 -0
  50. package/package.json +31 -19
  51. package/pv-pvc.yaml +32 -0
  52. package/scripts/disk-clean.sh +85 -60
  53. package/scripts/kubeadm-node-setup.sh +317 -0
  54. package/scripts/rocky-kickstart.sh +877 -185
  55. package/scripts/rpmfusion-ffmpeg-setup.sh +26 -50
  56. package/scripts/test-monitor.sh +3 -5
  57. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.router.js +43 -7
  58. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.service.js +17 -25
  59. package/src/api/cyberia-action/cyberia-action.controller.js +19 -0
  60. package/src/api/cyberia-action/cyberia-action.model.js +21 -29
  61. package/src/api/cyberia-action/cyberia-action.router.js +42 -7
  62. package/src/api/cyberia-action/cyberia-action.service.js +20 -4
  63. package/src/api/cyberia-client-hints/cyberia-client-hints.model.js +58 -57
  64. package/src/api/cyberia-dialogue/cyberia-dialogue.router.js +37 -6
  65. package/src/api/cyberia-dialogue/cyberia-dialogue.service.js +8 -2
  66. package/src/api/cyberia-entity/cyberia-entity.router.js +39 -7
  67. package/src/api/cyberia-entity-type-default/cyberia-entity-type-default.controller.js +74 -0
  68. package/src/api/cyberia-entity-type-default/cyberia-entity-type-default.model.js +67 -0
  69. package/src/api/cyberia-entity-type-default/cyberia-entity-type-default.router.js +63 -0
  70. package/src/api/cyberia-entity-type-default/cyberia-entity-type-default.service.js +46 -0
  71. package/src/api/cyberia-instance/cyberia-fallback-world.js +62 -10
  72. package/src/api/cyberia-instance/cyberia-instance.model.js +32 -2
  73. package/src/api/cyberia-instance/cyberia-instance.router.js +6 -6
  74. package/src/api/cyberia-instance/cyberia-world-generator.js +116 -3
  75. package/src/api/cyberia-instance-conf/cyberia-instance-conf.model.js +3 -0
  76. package/src/api/cyberia-instance-conf/cyberia-instance-conf.router.js +39 -7
  77. package/src/api/cyberia-map/cyberia-map.router.js +21 -6
  78. package/src/api/cyberia-quest/cyberia-quest.controller.js +38 -0
  79. package/src/api/cyberia-quest/cyberia-quest.router.js +47 -7
  80. package/src/api/cyberia-quest/cyberia-quest.service.js +59 -4
  81. package/src/api/cyberia-saga/cyberia-saga.controller.js +74 -0
  82. package/src/api/cyberia-saga/cyberia-saga.model.js +59 -0
  83. package/src/api/cyberia-saga/cyberia-saga.router.js +63 -0
  84. package/src/api/cyberia-saga/cyberia-saga.service.js +42 -0
  85. package/src/api/cyberia-server-defaults/cyberia-server-defaults.js +551 -129
  86. package/src/api/cyberia-skill/cyberia-skill.controller.js +74 -0
  87. package/src/api/cyberia-skill/cyberia-skill.model.js +50 -0
  88. package/src/api/cyberia-skill/cyberia-skill.router.js +63 -0
  89. package/src/api/cyberia-skill/cyberia-skill.service.js +42 -0
  90. package/src/api/ipfs/ipfs.service.js +28 -15
  91. package/src/api/object-layer/object-layer.router.js +25 -15
  92. package/src/api/object-layer/object-layer.service.js +15 -20
  93. package/src/api/object-layer-render-frames/object-layer-render-frames.router.js +39 -7
  94. package/src/cli/baremetal.js +717 -16
  95. package/src/cli/cluster.js +80 -5
  96. package/src/cli/deploy.js +127 -11
  97. package/src/cli/docker-compose.js +648 -0
  98. package/src/cli/env.js +11 -2
  99. package/src/cli/fs.js +75 -30
  100. package/src/cli/image.js +129 -51
  101. package/src/cli/index.js +110 -6
  102. package/src/cli/kickstart.js +142 -20
  103. package/src/cli/release.js +46 -4
  104. package/src/cli/repository.js +238 -33
  105. package/src/cli/run.js +520 -114
  106. package/src/cli/secrets.js +82 -48
  107. package/src/cli/ssh.js +234 -0
  108. package/src/cli/static.js +2 -2
  109. package/src/client/components/cyberia/ActionEngineCyberia.js +1867 -0
  110. package/src/client/components/cyberia/EntityEngineCyberia.js +585 -0
  111. package/src/client/components/cyberia/InstanceEngineCyberia.js +219 -13
  112. package/src/client/components/cyberia/MapEngineCyberia.js +154 -71
  113. package/src/client/components/cyberia/ObjectLayerEngineModal.js +40 -63
  114. package/src/client/components/cyberia/ObjectLayerEngineViewer.js +34 -20
  115. package/src/client/components/cyberia/SharedDefaultsCyberia.js +195 -4
  116. package/src/client/components/cyberia-portal/AppShellCyberiaPortal.js +66 -0
  117. package/src/client/components/cyberia-portal/RouterCyberiaPortal.js +8 -0
  118. package/src/client/components/cyberia-portal/TranslateCyberiaPortal.js +8 -0
  119. package/src/client/public/cyberia-docs/ACTION-SYSTEM.md +45 -27
  120. package/src/client/public/cyberia-docs/CYBERIA-CLI.md +3 -3
  121. package/src/client/public/cyberia-docs/CYBERIA-CLIENT.md +39 -22
  122. package/src/client/public/cyberia-docs/CYBERIA-LORE.md +88 -0
  123. package/src/client/public/cyberia-docs/CYBERIA-SAGA.md +394 -0
  124. package/src/client/public/cyberia-docs/CYBERIA-SERVER.md +8 -1
  125. package/src/client/public/cyberia-docs/CYBERIA.md +1 -1
  126. package/src/client/public/cyberia-docs/QUEST-SYSTEM.md +5 -5
  127. package/src/client/public/cyberia-docs/ROADMAP.md +1 -1
  128. package/src/client/public/cyberia-docs/WHITE-PAPER.md +1 -1
  129. package/src/client/services/cyberia-entity-type-default/cyberia-entity-type-default.service.js +99 -0
  130. package/src/client/services/cyberia-instance/cyberia-instance.management.js +2 -2
  131. package/src/client/services/cyberia-map/cyberia-map.management.js +2 -2
  132. package/src/client/services/cyberia-saga/cyberia-saga.service.js +99 -0
  133. package/src/client/services/cyberia-skill/cyberia-skill.service.js +99 -0
  134. package/src/client/services/object-layer/object-layer.management.js +6 -6
  135. package/src/{server → client-builder}/client-build-docs.js +15 -5
  136. package/src/{server → client-builder}/client-build-live.js +3 -3
  137. package/src/{server → client-builder}/client-build.js +25 -22
  138. package/src/{server → client-builder}/client-dev-server.js +3 -3
  139. package/src/{server → client-builder}/client-icons.js +2 -2
  140. package/src/{server → client-builder}/ssr.js +5 -5
  141. package/src/client.build.js +1 -3
  142. package/src/client.dev.js +1 -1
  143. package/src/db/mongo/MongoBootstrap.js +12 -12
  144. package/src/grpc/cyberia/grpc-server.js +255 -70
  145. package/src/index.js +12 -1
  146. package/src/mailer/EmailRender.js +1 -1
  147. package/src/{server → projects/cyberia}/atlas-sprite-sheet-generator.js +2 -2
  148. package/src/{server → projects/cyberia}/besu-genesis-generator.js +3 -3
  149. package/src/projects/cyberia/catalog-cyberia.js +81 -0
  150. package/src/projects/cyberia/gemini-client.js +175 -0
  151. package/src/projects/cyberia/generate-saga.js +2107 -0
  152. package/src/{server → projects/cyberia}/ipfs-client.js +2 -2
  153. package/src/{server → projects/cyberia}/object-layer.js +12 -108
  154. package/src/{server → projects/cyberia}/semantic-layer-generator-floor.js +1 -1
  155. package/src/{server → projects/cyberia}/semantic-layer-generator-resource.js +1 -1
  156. package/src/{server → projects/cyberia}/semantic-layer-generator-skin.js +1 -1
  157. package/src/{server → projects/cyberia}/semantic-layer-generator.js +2 -2
  158. package/src/{server → projects/cyberia}/shape-generator.js +2 -2
  159. package/src/{server → projects/underpost}/catalog-underpost.js +1 -2
  160. package/src/runtime/cyberia-client/Dockerfile +27 -61
  161. package/src/runtime/cyberia-client/Dockerfile.dev +20 -12
  162. package/src/runtime/cyberia-server/Dockerfile +21 -20
  163. package/src/runtime/cyberia-server/Dockerfile.dev +17 -8
  164. package/src/runtime/engine-cyberia/Dockerfile +143 -0
  165. package/src/runtime/engine-cyberia/Dockerfile.dev +143 -0
  166. package/src/runtime/engine-cyberia/Dockerfile.test +165 -0
  167. package/src/runtime/engine-cyberia/compose.env +131 -0
  168. package/src/runtime/engine-cyberia/docker-compose.yml +316 -0
  169. package/src/runtime/engine-cyberia/ipfs/configure-ipfs.sh +13 -0
  170. package/src/runtime/engine-cyberia/mongodb/entrypoint.sh +76 -0
  171. package/src/runtime/engine-cyberia/nginx.conf +87 -0
  172. package/src/runtime/express/Express.js +2 -2
  173. package/src/runtime/nginx/Nginx.js +250 -0
  174. package/src/server/catalog.js +9 -14
  175. package/src/server/conf.js +3 -6
  176. package/src/server/runtime-status.js +18 -1
  177. package/src/server/start.js +12 -2
  178. package/src/server.js +6 -2
  179. package/test/cyberia-instance-conf-defaults.test.js +140 -0
  180. package/test/deploy-monitor.test.js +26 -10
  181. package/test/shape-generator.test.js +7 -1
  182. package/typedoc.dd-cyberia.json +3 -1
  183. package/typedoc.json +3 -1
  184. /package/src/client/ssr/{Render.js → RootDocument.js} +0 -0
  185. /package/src/{server → client-builder}/client-formatted.js +0 -0
@@ -1,6 +1,5 @@
1
1
  name: CD | Engine cyberia | remote ssh
2
2
  on:
3
- push:
4
3
  workflow_dispatch:
5
4
  inputs:
6
5
  job:
@@ -18,12 +17,7 @@ permissions:
18
17
 
19
18
  jobs:
20
19
  deploy:
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
- )
20
+ if: github.event.inputs.job == 'deploy'
27
21
  name: Remote SSH deployment
28
22
  runs-on: ubuntu-latest
29
23
  steps:
@@ -53,12 +47,7 @@ jobs:
53
47
  sudo -n -- /bin/bash -lc "node bin run secret"
54
48
  sudo -n -- /bin/bash -lc "node bin run deploy dd-cyberia"
55
49
  sync-and-deploy:
56
- if: >-
57
- github.repository == 'underpostnet/engine'
58
- && (
59
- startsWith(github.event.head_commit.message, 'cd(ssh-sync-engine-cyberia)')
60
- || (github.event_name == 'workflow_dispatch' && github.event.inputs.job == 'sync-and-deploy')
61
- )
50
+ if: github.event.inputs.job == 'sync-and-deploy'
62
51
  name: Remote SSH sync and deploy
63
52
  runs-on: ubuntu-latest
64
53
  steps:
@@ -82,23 +71,43 @@ jobs:
82
71
  set -e
83
72
  set -o pipefail
84
73
  echo "Starting remote sync and deploy"
74
+ TARGET_NODE=localhost.localdomain
85
75
  cd /home/dd/engine
86
76
  sudo -n -- /bin/bash -lc "node bin run pull"
87
77
  sudo -n -- /bin/bash -lc "npm install"
88
78
  sudo -n -- /bin/bash -lc "node bin run secret"
89
- sudo -n -- /bin/bash -lc "node bin run clean src/client/public/cyberia"
90
- sudo -n -- /bin/bash -lc "node bin fs src/client/public/cyberia --git --pull --recursive --deploy-id dd-cyberia"
91
- sudo -n -- /bin/bash -lc "node bin run clean src/client/public/underpost"
92
- 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'"
93
79
  sudo -n -- /bin/bash -lc "npm run test"
94
- sudo -n -- /bin/bash -lc "node bin run sync --kubeadm --deploy-id-cron-jobs none --timeout-response 300000ms dd-cyberia"
80
+ sudo -n -- /bin/bash -lc "node bin run sync 'dd-cyberia,1,,underpost/engine-cyberia:v3.2.70' \
81
+ --kubeadm \
82
+ --deploy-id-cron-jobs none \
83
+ --timeout-response 300000ms \
84
+ --node-name ${TARGET_NODE} \
85
+ --ssh-key-path /home/dd/tmp/897as9dxhaskd9 \
86
+ --image-pull-policy Always \
87
+ --cmd 'cd /home/dd/engine, \
88
+ underpost clone underpostnet/engine-cyberia, \
89
+ mkdir -p /home/dd/engine/src/client/public/itemledger \
90
+ /home/dd/engine/src/client/public/cryptokoyn \
91
+ /home/dd/engine/src/client/components/cryptokoyn \
92
+ /home/dd/engine/src/client/components/itemledger \
93
+ /home/dd/engine/hardhat, \
94
+ cp -a ./engine-cyberia/src/client/public/itemledger/. /home/dd/engine/src/client/public/itemledger/, \
95
+ cp -a ./engine-cyberia/src/client/public/cryptokoyn/. /home/dd/engine/src/client/public/cryptokoyn/, \
96
+ cp -a ./engine-cyberia/src/client/components/cryptokoyn/. /home/dd/engine/src/client/components/cryptokoyn/, \
97
+ cp -a ./engine-cyberia/src/client/components/itemledger/. /home/dd/engine/src/client/components/itemledger/, \
98
+ cp -a ./engine-cyberia/src/client/Itemledger.index.js /home/dd/engine/src/client/Itemledger.index.js, \
99
+ cp -a ./engine-cyberia/src/client/Cryptokoyn.index.js /home/dd/engine/src/client/Cryptokoyn.index.js, \
100
+ rm -rf ./engine-cyberia, \
101
+ sudo rm -rf ./engine-private/, \
102
+ node bin clone underpostnet/engine-cyberia-private, \
103
+ sudo mv ./engine-cyberia-private ./engine-private, \
104
+ node bin env dd-cyberia production, \
105
+ node ./engine-private/itc-scripts/dd-cyberia-0.js, \
106
+ node bin env dd-cyberia production, \
107
+ node bin client dd-cyberia, \
108
+ node bin start dd-cyberia production --run'"
95
109
  init:
96
- if: >-
97
- github.repository == 'underpostnet/engine'
98
- && (
99
- startsWith(github.event.head_commit.message, 'cd(ssh-init-engine-cyberia)')
100
- || (github.event_name == 'workflow_dispatch' && github.event.inputs.job == 'init')
101
- )
110
+ if: github.event.inputs.job == 'init'
102
111
  name: Remote SSH init deployment
103
112
  runs-on: ubuntu-latest
104
113
  steps:
@@ -37,7 +37,7 @@ jobs:
37
37
  packages: write
38
38
  id-token: write
39
39
  steps:
40
- - uses: actions/checkout@v6
40
+ - uses: actions/checkout@v7
41
41
 
42
42
  - name: Install required packages
43
43
  run: |
@@ -67,8 +67,7 @@ jobs:
67
67
  if [ -n "${{ github.event.inputs.message }}" ]; then
68
68
  LAST_COMMIT_MESSAGE="${{ github.event.inputs.message }}"
69
69
  else
70
- FULL_MSG=$(cd pwa-microservices-template && git log -1 --pretty=%B 2>/dev/null || echo "")
71
- LAST_COMMIT_MESSAGE=$(echo "$FULL_MSG" | sed '1s/^[^:]*: [^ ]* //')
70
+ LAST_COMMIT_MESSAGE=$(cd engine && node bin cmt --changelog-msg --from-n-commit 1 --changelog-no-hash 2>/dev/null || echo "")
72
71
  fi
73
72
  SHOULD_CD="${{ github.event.inputs.sync }}"
74
73
  DEPLOY_TYPE="${{ github.event.inputs.deploy_type }}"
@@ -99,6 +98,17 @@ jobs:
99
98
  else
100
99
  git commit -m "$LAST_COMMIT_MESSAGE"
101
100
  node ../engine/bin push . underpostnet/engine-cyberia
101
+ echo "[INFO] Dispatching canonical github package build engine-ghpkg-cyberia"
102
+ GHPKG_PAYLOAD=$(MSG="$LAST_COMMIT_MESSAGE" node -e '
103
+ const i = { conf_id: "cyberia" };
104
+ if (process.env.MSG) i.message = process.env.MSG;
105
+ process.stdout.write(JSON.stringify({ ref: "master", inputs: i }));
106
+ ')
107
+ curl -s -X POST \
108
+ -H "Accept: application/vnd.github.v3+json" \
109
+ -H "Authorization: token ${{ secrets.GIT_AUTH_TOKEN }}" \
110
+ "https://api.github.com/repos/underpostnet/engine/actions/workflows/ghpkg.ci.yml/dispatches" \
111
+ -d "$GHPKG_PAYLOAD"
102
112
  fi
103
113
  if [ "$SHOULD_CD" = "true" ]; then
104
114
  if [ -z "$DEPLOY_TYPE" ]; then
@@ -4,6 +4,16 @@ on:
4
4
  branches: ['master']
5
5
  pull_request:
6
6
  branches: ['master']
7
+ workflow_dispatch:
8
+ inputs:
9
+ conf_id:
10
+ description: 'Conf id of the canonical engine github package repo (engine-ghpkg-<conf_id>)'
11
+ required: false
12
+ default: 'cyberia'
13
+ message:
14
+ description: 'Commit message for the canonical package build'
15
+ required: false
16
+ default: ''
7
17
  permissions:
8
18
  contents: write
9
19
  packages: write
@@ -20,7 +30,7 @@ jobs:
20
30
  packages: write
21
31
  id-token: write
22
32
  steps:
23
- - uses: actions/checkout@v6
33
+ - uses: actions/checkout@v7
24
34
 
25
35
  - name: Install required packages
26
36
  run: |
@@ -71,3 +81,80 @@ jobs:
71
81
  git status
72
82
  git commit -m "$LAST_COMMIT_MESSAGE"
73
83
  node bin push . underpostnet/pwa-microservices-template-ghpkg
84
+
85
+ engine-ghpkg:
86
+ if: github.repository == 'underpostnet/engine' && github.event_name == 'workflow_dispatch'
87
+ name: Build engine ${{ github.event.inputs.conf_id || 'cyberia' }} ghpkg repository
88
+ runs-on: ubuntu-latest
89
+ container:
90
+ image: quay.io/rockylinux/rockylinux:9
91
+ permissions:
92
+ contents: write
93
+ packages: write
94
+ id-token: write
95
+ steps:
96
+ - uses: actions/checkout@v7
97
+
98
+ - name: Install required packages
99
+ run: |
100
+ dnf install -y sudo tar gzip bzip2 git
101
+ dnf install -y curl --allowerasing
102
+
103
+ - name: Install Node.js
104
+ run: |
105
+ curl -fsSL https://rpm.nodesource.com/setup_24.x | bash -
106
+ dnf install nodejs -y
107
+
108
+ - name: Install dependencies
109
+ run: npm install
110
+
111
+ - name: Resolve canonical github package repo
112
+ run: |
113
+ CONF_ID="${{ github.event.inputs.conf_id }}"
114
+ CONF_ID="${CONF_ID:-cyberia}"
115
+ echo "CONF_ID=$CONF_ID" >> $GITHUB_ENV
116
+ echo "GHPKG_REPO=engine-ghpkg-$CONF_ID" >> $GITHUB_ENV
117
+ echo "PACKAGE_NAME=@underpostnet/$CONF_ID" >> $GITHUB_ENV
118
+ echo "[INFO] Canonical github package repo: underpostnet/engine-ghpkg-$CONF_ID"
119
+
120
+ - name: Capture commit message
121
+ run: |
122
+ FULL_MSG="${{ github.event.inputs.message }}"
123
+ if [ -z "$FULL_MSG" ]; then
124
+ FULL_MSG=$(node bin cmt --changelog-msg --from-n-commit 1 --changelog-no-hash 2>/dev/null || echo "")
125
+ fi
126
+ LAST_COMMIT_MESSAGE="${FULL_MSG:-Update canonical github package repo}"
127
+ echo "LAST_COMMIT_MESSAGE<<EOF" >> $GITHUB_ENV
128
+ echo "$LAST_COMMIT_MESSAGE" >> $GITHUB_ENV
129
+ echo "EOF" >> $GITHUB_ENV
130
+ echo "[INFO] Commit message: $LAST_COMMIT_MESSAGE"
131
+
132
+ - name: Set git global credentials
133
+ run: |
134
+ git config --global --add safe.directory '*'
135
+ git config --global credential.helper ""
136
+ git config --global user.name 'underpostnet'
137
+ git config --global user.email 'development@underpost.net'
138
+
139
+ - name: Mirror engine-$CONF_ID and Push to canonical github package repository
140
+ env:
141
+ GITHUB_TOKEN: ${{ secrets.GIT_AUTH_TOKEN }}
142
+ GITHUB_USERNAME: ${{ github.repository_owner }}
143
+ run: |
144
+ cd .. && node engine/bin clone underpostnet/engine-$CONF_ID
145
+ node engine/bin clone --bare underpostnet/$GHPKG_REPO
146
+ cd engine-$CONF_ID
147
+ rm -rf ./.git
148
+ mv ../$GHPKG_REPO.git ./.git
149
+ node ../engine/bin/deploy rename-package "$PACKAGE_NAME"
150
+ node ../engine/bin/deploy set-repo underpostnet/$GHPKG_REPO
151
+ git init
152
+ git config user.name 'underpostnet'
153
+ git config user.email 'development@underpost.net'
154
+ git add .
155
+ if git diff --cached --quiet; then
156
+ echo "[INFO] No changes to publish; skipping commit and push."
157
+ else
158
+ git commit -m "$LAST_COMMIT_MESSAGE"
159
+ node ../engine/bin push . underpostnet/$GHPKG_REPO
160
+ fi
@@ -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@v6
9
+ - uses: actions/checkout@v7
10
10
  with:
11
11
  fetch-depth: 0
12
12
  lfs: true
@@ -31,7 +31,7 @@ jobs:
31
31
 
32
32
  steps:
33
33
  - name: Checkout repository
34
- uses: actions/checkout@v6
34
+ uses: actions/checkout@v7
35
35
 
36
36
  - name: Setup Node.js ${{ matrix.node-version }}
37
37
  uses: actions/setup-node@v6
@@ -39,7 +39,7 @@ jobs:
39
39
  packages: write
40
40
  id-token: write
41
41
  steps:
42
- - uses: actions/checkout@v6
42
+ - uses: actions/checkout@v7
43
43
 
44
44
  - name: Install required packages
45
45
  run: |
@@ -110,14 +110,17 @@ jobs:
110
110
  DT="$DEPLOY_TYPE"
111
111
  fi
112
112
  echo "[INFO] Dispatching ${ENGINE}.ci.yml (sync=$SYNC, deploy_type=$DT)"
113
- INPUTS="{\"sync\":\"${SYNC}\""
114
- if [ -n "$DT" ]; then
115
- INPUTS="${INPUTS},\"deploy_type\":\"${DT}\""
116
- fi
117
- INPUTS="${INPUTS}}"
113
+ # Build the payload with node so the propagated message (may contain quotes/newlines)
114
+ # is JSON-escaped safely, and forward it so every engine-* repo shares one message.
115
+ PAYLOAD=$(SYNC="$SYNC" DT="$DT" MSG="$LAST_COMMIT_MESSAGE" node -e '
116
+ const i = { sync: process.env.SYNC };
117
+ if (process.env.DT) i.deploy_type = process.env.DT;
118
+ if (process.env.MSG) i.message = process.env.MSG;
119
+ process.stdout.write(JSON.stringify({ ref: "master", inputs: i }));
120
+ ')
118
121
  curl -s -X POST \
119
122
  -H "Accept: application/vnd.github.v3+json" \
120
123
  -H "Authorization: token ${{ secrets.GIT_AUTH_TOKEN }}" \
121
124
  "https://api.github.com/repos/underpostnet/engine/actions/workflows/${ENGINE}.ci.yml/dispatches" \
122
- -d "{\"ref\":\"master\",\"inputs\":${INPUTS}}"
125
+ -d "$PAYLOAD"
123
126
  done
@@ -17,7 +17,7 @@ jobs:
17
17
  packages: write
18
18
  id-token: write
19
19
  steps:
20
- - uses: actions/checkout@v6
20
+ - uses: actions/checkout@v7
21
21
 
22
22
  - name: Install required packages
23
23
  run: |
@@ -54,7 +54,7 @@ jobs:
54
54
  packages: write
55
55
  id-token: write
56
56
  steps:
57
- - uses: actions/checkout@v6
57
+ - uses: actions/checkout@v7
58
58
 
59
59
  - uses: actions/setup-node@v6
60
60
  with:
@@ -12,7 +12,7 @@ jobs:
12
12
  contents: read
13
13
  id-token: write
14
14
  steps:
15
- - uses: actions/checkout@v6
15
+ - uses: actions/checkout@v7
16
16
 
17
17
  - uses: actions/setup-node@v6
18
18
  with:
@@ -29,35 +29,24 @@ jobs:
29
29
 
30
30
  build-and-publish-ghpkg:
31
31
  # prevents this action from running on forks
32
- if: github.repository == 'underpostnet/engine-cyberia-ghpkg'
32
+ if: github.repository == 'underpostnet/engine-ghpkg-cyberia'
33
33
  runs-on: ubuntu-latest
34
34
  permissions:
35
35
  contents: read
36
+ packages: write
36
37
  id-token: write
37
38
  steps:
38
- - uses: actions/checkout@v6
39
+ - uses: actions/checkout@v7
39
40
 
40
41
  - uses: actions/setup-node@v6
41
42
  with:
42
43
  node-version: '24.x'
43
- registry-url: 'https://registry.npmjs.org'
44
+ registry-url: 'https://npm.pkg.github.com'
44
45
  scope: '@underpostnet'
45
46
 
46
47
  - name: Install Dependencies
47
48
  run: npm ci
48
49
 
49
- - name: Publish to npm
50
- env:
51
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
52
- run: npm publish --provenance --access public
53
-
54
- - name: Setup node to publish to GitHub Packages
55
- uses: actions/setup-node@v6
56
- with:
57
- node-version: '24.x'
58
- registry-url: 'https://npm.pkg.github.com'
59
- scope: '@underpostnet'
60
-
61
50
  - name: Publish to GitHub Packages
62
51
  run: |
63
52
  npm config set //npm.pkg.github.com/:_authToken=${{ secrets.GIT_AUTH_TOKEN }}
@@ -1,28 +1,21 @@
1
- # Simple workflow for deploying static content to GitHub Pages
2
1
  name: CD | Gihub page | PWA Microservices Template
3
2
 
4
3
  on:
5
- # Runs on pushes targeting the default branch
6
4
  push:
7
5
  branches: ['main']
8
6
 
9
- # Allows you to run this workflow manually from the Actions tab
10
7
  workflow_dispatch:
11
8
 
12
- # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
13
9
  permissions:
14
10
  contents: read
15
11
  pages: write
16
12
  id-token: write
17
13
 
18
- # Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
19
- # However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
20
14
  concurrency:
21
15
  group: 'pages'
22
16
  cancel-in-progress: false
23
17
 
24
18
  jobs:
25
- # Single deploy job since we're just deploying
26
19
  deploy:
27
20
  if: github.repository == 'underpostnet/pwa-microservices-template-ghpkg'
28
21
  environment:
@@ -33,7 +26,7 @@ jobs:
33
26
  image: quay.io/rockylinux/rockylinux:9
34
27
  steps:
35
28
  - name: Checkout
36
- uses: actions/checkout@v6
29
+ uses: actions/checkout@v7
37
30
  # with:
38
31
  # lfs: true
39
32
  # - name: Checkout LFS objects
@@ -11,7 +11,7 @@ jobs:
11
11
  options: --entrypoint /bin/bash
12
12
  steps:
13
13
  - name: Clone repository
14
- uses: actions/checkout@v6
14
+ uses: actions/checkout@v7
15
15
 
16
16
  - name: Install required packages
17
17
  run: |