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.
- package/.env.example +127 -68
- package/.github/workflows/cyberia-client.cd.yml +40 -0
- package/.github/workflows/cyberia-server.cd.yml +40 -0
- package/.github/workflows/docker-image.cyberia-client.ci.yml +49 -0
- package/.github/workflows/docker-image.cyberia-client.dev.ci.yml +48 -0
- package/.github/workflows/docker-image.cyberia-server.ci.yml +69 -0
- package/.github/workflows/docker-image.cyberia-server.dev.ci.yml +69 -0
- package/.github/workflows/docker-image.engine-cyberia.ci.yml +52 -0
- package/.github/workflows/docker-image.engine-cyberia.dev.ci.yml +52 -0
- package/.github/workflows/engine-cyberia.cd.yml +33 -24
- package/.github/workflows/engine-cyberia.ci.yml +13 -3
- package/.github/workflows/ghpkg.ci.yml +88 -1
- package/.github/workflows/gitlab.ci.yml +1 -1
- package/.github/workflows/hardhat.ci.yml +1 -1
- package/.github/workflows/npmpkg.ci.yml +10 -7
- package/.github/workflows/publish.ci.yml +2 -2
- package/.github/workflows/publish.cyberia.ci.yml +5 -16
- package/.github/workflows/pwa-microservices-template-page.cd.yml +1 -8
- package/.github/workflows/pwa-microservices-template-test.ci.yml +1 -1
- package/CHANGELOG.md +301 -1
- package/CLI-HELP.md +71 -6
- package/Dockerfile +141 -43
- package/Dockerfile.dev +143 -0
- package/Dockerfile.test +165 -0
- package/README.md +1 -1
- package/baremetal/commission-workflows.json +1 -0
- package/bin/build.js +31 -0
- package/bin/cyberia.js +1080 -184
- package/bin/deploy.js +2 -2
- package/bin/index.js +1080 -184
- package/bump.config.js +1 -0
- package/compose.env +131 -0
- package/conf.js +18 -1
- package/deployment.yaml +2 -2
- package/docker-compose.yml +316 -0
- package/hardhat/hardhat.config.js +2 -2
- package/hardhat/package-lock.json +620 -2041
- package/hardhat/package.json +7 -5
- package/hardhat/scripts/deployObjectLayerToken.js +18 -18
- package/hardhat/test/ObjectLayerToken.js +378 -274
- package/ipfs/configure-ipfs.sh +13 -0
- package/manifests/cronjobs/dd-cron/dd-cron-backup.yaml +1 -1
- package/manifests/cronjobs/dd-cron/dd-cron-dns.yaml +1 -1
- package/manifests/deployment/dd-cyberia-development/deployment.yaml +2 -2
- package/manifests/deployment/dd-cyberia-development/grpc-service.yaml +17 -0
- package/manifests/deployment/dd-cyberia-development/pv-pvc.yaml +32 -0
- package/manifests/deployment/dd-default-development/deployment.yaml +2 -2
- package/mongodb/entrypoint.sh +76 -0
- package/nginx.conf +87 -0
- package/package.json +31 -19
- package/pv-pvc.yaml +32 -0
- package/scripts/disk-clean.sh +85 -60
- package/scripts/kubeadm-node-setup.sh +317 -0
- package/scripts/rocky-kickstart.sh +877 -185
- package/scripts/rpmfusion-ffmpeg-setup.sh +26 -50
- package/scripts/test-monitor.sh +3 -5
- package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.router.js +43 -7
- package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.service.js +17 -25
- package/src/api/cyberia-action/cyberia-action.controller.js +19 -0
- package/src/api/cyberia-action/cyberia-action.model.js +21 -29
- package/src/api/cyberia-action/cyberia-action.router.js +42 -7
- package/src/api/cyberia-action/cyberia-action.service.js +20 -4
- package/src/api/cyberia-client-hints/cyberia-client-hints.model.js +58 -57
- package/src/api/cyberia-dialogue/cyberia-dialogue.router.js +37 -6
- package/src/api/cyberia-dialogue/cyberia-dialogue.service.js +8 -2
- package/src/api/cyberia-entity/cyberia-entity.router.js +39 -7
- package/src/api/cyberia-entity-type-default/cyberia-entity-type-default.controller.js +74 -0
- package/src/api/cyberia-entity-type-default/cyberia-entity-type-default.model.js +67 -0
- package/src/api/cyberia-entity-type-default/cyberia-entity-type-default.router.js +63 -0
- package/src/api/cyberia-entity-type-default/cyberia-entity-type-default.service.js +46 -0
- package/src/api/cyberia-instance/cyberia-fallback-world.js +62 -10
- package/src/api/cyberia-instance/cyberia-instance.model.js +32 -2
- package/src/api/cyberia-instance/cyberia-instance.router.js +6 -6
- package/src/api/cyberia-instance/cyberia-world-generator.js +116 -3
- package/src/api/cyberia-instance-conf/cyberia-instance-conf.model.js +3 -0
- package/src/api/cyberia-instance-conf/cyberia-instance-conf.router.js +39 -7
- package/src/api/cyberia-map/cyberia-map.router.js +21 -6
- package/src/api/cyberia-quest/cyberia-quest.controller.js +38 -0
- package/src/api/cyberia-quest/cyberia-quest.router.js +47 -7
- package/src/api/cyberia-quest/cyberia-quest.service.js +59 -4
- package/src/api/cyberia-saga/cyberia-saga.controller.js +74 -0
- package/src/api/cyberia-saga/cyberia-saga.model.js +59 -0
- package/src/api/cyberia-saga/cyberia-saga.router.js +63 -0
- package/src/api/cyberia-saga/cyberia-saga.service.js +42 -0
- package/src/api/cyberia-server-defaults/cyberia-server-defaults.js +551 -129
- package/src/api/cyberia-skill/cyberia-skill.controller.js +74 -0
- package/src/api/cyberia-skill/cyberia-skill.model.js +50 -0
- package/src/api/cyberia-skill/cyberia-skill.router.js +63 -0
- package/src/api/cyberia-skill/cyberia-skill.service.js +42 -0
- package/src/api/ipfs/ipfs.service.js +28 -15
- package/src/api/object-layer/object-layer.router.js +25 -15
- package/src/api/object-layer/object-layer.service.js +15 -20
- package/src/api/object-layer-render-frames/object-layer-render-frames.router.js +39 -7
- package/src/cli/baremetal.js +717 -16
- package/src/cli/cluster.js +80 -5
- package/src/cli/deploy.js +127 -11
- package/src/cli/docker-compose.js +648 -0
- package/src/cli/env.js +11 -2
- package/src/cli/fs.js +75 -30
- package/src/cli/image.js +129 -51
- package/src/cli/index.js +110 -6
- package/src/cli/kickstart.js +142 -20
- package/src/cli/release.js +46 -4
- package/src/cli/repository.js +238 -33
- package/src/cli/run.js +520 -114
- package/src/cli/secrets.js +82 -48
- package/src/cli/ssh.js +234 -0
- package/src/cli/static.js +2 -2
- package/src/client/components/cyberia/ActionEngineCyberia.js +1867 -0
- package/src/client/components/cyberia/EntityEngineCyberia.js +585 -0
- package/src/client/components/cyberia/InstanceEngineCyberia.js +219 -13
- package/src/client/components/cyberia/MapEngineCyberia.js +154 -71
- package/src/client/components/cyberia/ObjectLayerEngineModal.js +40 -63
- package/src/client/components/cyberia/ObjectLayerEngineViewer.js +34 -20
- package/src/client/components/cyberia/SharedDefaultsCyberia.js +195 -4
- package/src/client/components/cyberia-portal/AppShellCyberiaPortal.js +66 -0
- package/src/client/components/cyberia-portal/RouterCyberiaPortal.js +8 -0
- package/src/client/components/cyberia-portal/TranslateCyberiaPortal.js +8 -0
- package/src/client/public/cyberia-docs/ACTION-SYSTEM.md +45 -27
- package/src/client/public/cyberia-docs/CYBERIA-CLI.md +3 -3
- package/src/client/public/cyberia-docs/CYBERIA-CLIENT.md +39 -22
- package/src/client/public/cyberia-docs/CYBERIA-LORE.md +88 -0
- package/src/client/public/cyberia-docs/CYBERIA-SAGA.md +394 -0
- package/src/client/public/cyberia-docs/CYBERIA-SERVER.md +8 -1
- package/src/client/public/cyberia-docs/CYBERIA.md +1 -1
- package/src/client/public/cyberia-docs/QUEST-SYSTEM.md +5 -5
- package/src/client/public/cyberia-docs/ROADMAP.md +1 -1
- package/src/client/public/cyberia-docs/WHITE-PAPER.md +1 -1
- package/src/client/services/cyberia-entity-type-default/cyberia-entity-type-default.service.js +99 -0
- package/src/client/services/cyberia-instance/cyberia-instance.management.js +2 -2
- package/src/client/services/cyberia-map/cyberia-map.management.js +2 -2
- package/src/client/services/cyberia-saga/cyberia-saga.service.js +99 -0
- package/src/client/services/cyberia-skill/cyberia-skill.service.js +99 -0
- package/src/client/services/object-layer/object-layer.management.js +6 -6
- package/src/{server → client-builder}/client-build-docs.js +15 -5
- package/src/{server → client-builder}/client-build-live.js +3 -3
- package/src/{server → client-builder}/client-build.js +25 -22
- package/src/{server → client-builder}/client-dev-server.js +3 -3
- package/src/{server → client-builder}/client-icons.js +2 -2
- package/src/{server → client-builder}/ssr.js +5 -5
- package/src/client.build.js +1 -3
- package/src/client.dev.js +1 -1
- package/src/db/mongo/MongoBootstrap.js +12 -12
- package/src/grpc/cyberia/grpc-server.js +255 -70
- package/src/index.js +12 -1
- package/src/mailer/EmailRender.js +1 -1
- package/src/{server → projects/cyberia}/atlas-sprite-sheet-generator.js +2 -2
- package/src/{server → projects/cyberia}/besu-genesis-generator.js +3 -3
- package/src/projects/cyberia/catalog-cyberia.js +81 -0
- package/src/projects/cyberia/gemini-client.js +175 -0
- package/src/projects/cyberia/generate-saga.js +2107 -0
- package/src/{server → projects/cyberia}/ipfs-client.js +2 -2
- package/src/{server → projects/cyberia}/object-layer.js +12 -108
- package/src/{server → projects/cyberia}/semantic-layer-generator-floor.js +1 -1
- package/src/{server → projects/cyberia}/semantic-layer-generator-resource.js +1 -1
- package/src/{server → projects/cyberia}/semantic-layer-generator-skin.js +1 -1
- package/src/{server → projects/cyberia}/semantic-layer-generator.js +2 -2
- package/src/{server → projects/cyberia}/shape-generator.js +2 -2
- package/src/{server → projects/underpost}/catalog-underpost.js +1 -2
- package/src/runtime/cyberia-client/Dockerfile +27 -61
- package/src/runtime/cyberia-client/Dockerfile.dev +20 -12
- package/src/runtime/cyberia-server/Dockerfile +21 -20
- package/src/runtime/cyberia-server/Dockerfile.dev +17 -8
- package/src/runtime/engine-cyberia/Dockerfile +143 -0
- package/src/runtime/engine-cyberia/Dockerfile.dev +143 -0
- package/src/runtime/engine-cyberia/Dockerfile.test +165 -0
- package/src/runtime/engine-cyberia/compose.env +131 -0
- package/src/runtime/engine-cyberia/docker-compose.yml +316 -0
- package/src/runtime/engine-cyberia/ipfs/configure-ipfs.sh +13 -0
- package/src/runtime/engine-cyberia/mongodb/entrypoint.sh +76 -0
- package/src/runtime/engine-cyberia/nginx.conf +87 -0
- package/src/runtime/express/Express.js +2 -2
- package/src/runtime/nginx/Nginx.js +250 -0
- package/src/server/catalog.js +9 -14
- package/src/server/conf.js +3 -6
- package/src/server/runtime-status.js +18 -1
- package/src/server/start.js +12 -2
- package/src/server.js +6 -2
- package/test/cyberia-instance-conf-defaults.test.js +140 -0
- package/test/deploy-monitor.test.js +26 -10
- package/test/shape-generator.test.js +7 -1
- package/typedoc.dd-cyberia.json +3 -1
- package/typedoc.json +3 -1
- /package/src/client/ssr/{Render.js → RootDocument.js} +0 -0
- /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
|
|
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@
|
|
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
|
-
|
|
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@
|
|
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
|
|
@@ -39,7 +39,7 @@ jobs:
|
|
|
39
39
|
packages: write
|
|
40
40
|
id-token: write
|
|
41
41
|
steps:
|
|
42
|
-
- uses: actions/checkout@
|
|
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
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
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 "
|
|
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@
|
|
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@
|
|
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@
|
|
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
|
|
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@
|
|
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://
|
|
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@
|
|
29
|
+
uses: actions/checkout@v7
|
|
37
30
|
# with:
|
|
38
31
|
# lfs: true
|
|
39
32
|
# - name: Checkout LFS objects
|