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.
- package/{.env.production → .env.example} +20 -4
- package/.github/workflows/engine-cyberia.cd.yml +43 -10
- package/.github/workflows/engine-cyberia.ci.yml +48 -26
- package/.github/workflows/ghpkg.ci.yml +5 -5
- package/.github/workflows/gitlab.ci.yml +1 -1
- package/.github/workflows/hardhat.ci.yml +82 -0
- package/.github/workflows/npmpkg.ci.yml +60 -14
- package/.github/workflows/publish.ci.yml +26 -7
- package/.github/workflows/publish.cyberia.ci.yml +5 -5
- package/.github/workflows/pwa-microservices-template-page.cd.yml +6 -7
- package/.github/workflows/pwa-microservices-template-test.ci.yml +4 -4
- package/.github/workflows/release.cd.yml +14 -8
- package/.vscode/extensions.json +9 -8
- package/.vscode/settings.json +3 -2
- package/CHANGELOG.md +643 -1
- package/CLI-HELP.md +132 -57
- package/Dockerfile +4 -2
- package/README.md +347 -22
- package/WHITE-PAPER.md +1540 -0
- package/bin/build.js +21 -12
- package/bin/cyberia.js +2640 -106
- package/bin/deploy.js +258 -372
- package/bin/file.js +5 -1
- package/bin/index.js +2640 -106
- package/bin/vs.js +3 -3
- package/conf.js +169 -105
- package/deployment.yaml +236 -20
- package/hardhat/.env.example +31 -0
- package/hardhat/README.md +531 -0
- package/hardhat/WHITE-PAPER.md +1540 -0
- package/hardhat/contracts/ObjectLayerToken.sol +391 -0
- package/hardhat/deployments/.gitkeep +0 -0
- package/hardhat/deployments/hardhat-ObjectLayerToken.json +11 -0
- package/hardhat/hardhat.config.js +136 -0
- package/hardhat/ignition/modules/ObjectLayerToken.js +21 -0
- package/hardhat/networks/besu-object-layer.network.json +138 -0
- package/hardhat/package-lock.json +4323 -0
- package/hardhat/package.json +36 -0
- package/hardhat/scripts/deployObjectLayerToken.js +98 -0
- package/hardhat/test/ObjectLayerToken.js +592 -0
- package/hardhat/types/ethers-contracts/ObjectLayerToken.ts +690 -0
- package/hardhat/types/ethers-contracts/common.ts +92 -0
- package/hardhat/types/ethers-contracts/factories/ObjectLayerToken__factory.ts +1055 -0
- package/hardhat/types/ethers-contracts/factories/index.ts +4 -0
- package/hardhat/types/ethers-contracts/hardhat.d.ts +47 -0
- package/hardhat/types/ethers-contracts/index.ts +6 -0
- package/jsdoc.dd-cyberia.json +68 -0
- package/jsdoc.json +65 -49
- package/manifests/cronjobs/dd-cron/dd-cron-backup.yaml +5 -4
- package/manifests/cronjobs/dd-cron/dd-cron-dns.yaml +5 -4
- package/manifests/deployment/dd-cyberia-development/deployment.yaml +562 -0
- package/manifests/deployment/dd-cyberia-development/proxy.yaml +297 -0
- package/manifests/deployment/dd-cyberia-development/pv-pvc.yaml +132 -0
- package/manifests/deployment/dd-default-development/deployment.yaml +2 -2
- package/manifests/deployment/dd-test-development/deployment.yaml +88 -74
- package/manifests/deployment/dd-test-development/proxy.yaml +13 -4
- package/manifests/deployment/playwright/deployment.yaml +1 -1
- package/manifests/pv-pvc-dd.yaml +1 -1
- package/nodemon.json +1 -1
- package/package.json +60 -48
- package/proxy.yaml +118 -10
- package/pv-pvc.yaml +132 -0
- package/scripts/k3s-node-setup.sh +1 -1
- package/scripts/ports-ls.sh +2 -0
- package/scripts/rhel-grpc-setup.sh +56 -0
- package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.controller.js +47 -1
- package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.model.js +17 -2
- package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.router.js +5 -0
- package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.service.js +80 -7
- package/src/api/cyberia-dialogue/cyberia-dialogue.controller.js +93 -0
- package/src/api/cyberia-dialogue/cyberia-dialogue.model.js +36 -0
- package/src/api/cyberia-dialogue/cyberia-dialogue.router.js +29 -0
- package/src/api/cyberia-dialogue/cyberia-dialogue.service.js +51 -0
- package/src/api/cyberia-entity/cyberia-entity.controller.js +74 -0
- package/src/api/cyberia-entity/cyberia-entity.model.js +24 -0
- package/src/api/cyberia-entity/cyberia-entity.router.js +27 -0
- package/src/api/cyberia-entity/cyberia-entity.service.js +42 -0
- package/src/api/cyberia-instance/cyberia-fallback-world.js +368 -0
- package/src/api/cyberia-instance/cyberia-instance.controller.js +92 -0
- package/src/api/cyberia-instance/cyberia-instance.model.js +84 -0
- package/src/api/cyberia-instance/cyberia-instance.router.js +63 -0
- package/src/api/cyberia-instance/cyberia-instance.service.js +191 -0
- package/src/api/cyberia-instance/cyberia-portal-connector.js +486 -0
- package/src/api/cyberia-instance-conf/cyberia-instance-conf.controller.js +74 -0
- package/src/api/cyberia-instance-conf/cyberia-instance-conf.defaults.js +413 -0
- package/src/api/cyberia-instance-conf/cyberia-instance-conf.model.js +228 -0
- package/src/api/cyberia-instance-conf/cyberia-instance-conf.router.js +27 -0
- package/src/api/cyberia-instance-conf/cyberia-instance-conf.service.js +42 -0
- package/src/api/cyberia-map/cyberia-map.controller.js +79 -0
- package/src/api/cyberia-map/cyberia-map.model.js +30 -0
- package/src/api/cyberia-map/cyberia-map.router.js +40 -0
- package/src/api/cyberia-map/cyberia-map.service.js +74 -0
- package/src/api/document/document.service.js +1 -1
- package/src/api/file/file.controller.js +3 -1
- package/src/api/file/file.ref.json +18 -0
- package/src/api/file/file.service.js +28 -5
- package/src/api/ipfs/ipfs.controller.js +4 -25
- package/src/api/ipfs/ipfs.model.js +43 -34
- package/src/api/ipfs/ipfs.router.js +8 -13
- package/src/api/ipfs/ipfs.service.js +56 -104
- package/src/api/object-layer/README.md +347 -22
- package/src/api/object-layer/object-layer.controller.js +6 -2
- package/src/api/object-layer/object-layer.model.js +12 -8
- package/src/api/object-layer/object-layer.router.js +698 -42
- package/src/api/object-layer/object-layer.service.js +119 -37
- package/src/api/object-layer-render-frames/object-layer-render-frames.model.js +1 -2
- package/src/api/user/user.router.js +10 -5
- package/src/api/user/user.service.js +15 -14
- package/src/cli/baremetal.js +6 -10
- package/src/cli/cloud-init.js +0 -3
- package/src/cli/cluster.js +7 -7
- package/src/cli/db.js +723 -857
- package/src/cli/deploy.js +215 -105
- package/src/cli/env.js +34 -5
- package/src/cli/fs.js +5 -4
- package/src/cli/image.js +0 -3
- package/src/cli/index.js +83 -15
- package/src/cli/kubectl.js +211 -0
- package/src/cli/monitor.js +5 -6
- package/src/cli/release.js +284 -0
- package/src/cli/repository.js +708 -62
- package/src/cli/run.js +371 -151
- package/src/cli/secrets.js +73 -2
- package/src/cli/ssh.js +1 -1
- package/src/cli/test.js +3 -3
- package/src/client/Cryptokoyn.index.js +3 -4
- package/src/client/CyberiaPortal.index.js +3 -4
- package/src/client/Default.index.js +3 -4
- package/src/client/Itemledger.index.js +4 -963
- package/src/client/Underpost.index.js +3 -4
- package/src/client/components/core/AgGrid.js +20 -5
- package/src/client/components/core/Alert.js +2 -2
- package/src/client/components/core/AppStore.js +69 -0
- package/src/client/components/core/CalendarCore.js +2 -2
- package/src/client/components/core/Content.js +22 -3
- package/src/client/components/core/Docs.js +30 -6
- package/src/client/components/core/DropDown.js +137 -17
- package/src/client/components/core/FileExplorer.js +71 -4
- package/src/client/components/core/Input.js +1 -1
- package/src/client/components/core/Keyboard.js +2 -2
- package/src/client/components/core/LogIn.js +2 -2
- package/src/client/components/core/LogOut.js +2 -2
- package/src/client/components/core/Modal.js +20 -7
- package/src/client/components/core/Panel.js +0 -1
- package/src/client/components/core/PanelForm.js +19 -19
- package/src/client/components/core/RichText.js +1 -2
- package/src/client/components/core/SocketIo.js +82 -29
- package/src/client/components/core/SocketIoHandler.js +75 -0
- package/src/client/components/core/Stream.js +143 -95
- package/src/client/components/core/Webhook.js +40 -7
- package/src/client/components/cryptokoyn/AppStoreCryptokoyn.js +5 -0
- package/src/client/components/cryptokoyn/LogInCryptokoyn.js +3 -3
- package/src/client/components/cryptokoyn/LogOutCryptokoyn.js +2 -2
- package/src/client/components/cryptokoyn/MenuCryptokoyn.js +3 -3
- package/src/client/components/cryptokoyn/SocketIoCryptokoyn.js +3 -51
- package/src/client/components/cyberia/InstanceEngineCyberia.js +700 -0
- package/src/client/components/cyberia/MapEngineCyberia.js +1359 -2
- package/src/client/components/cyberia/ObjectLayerEngineModal.js +17 -6
- package/src/client/components/cyberia/ObjectLayerEngineViewer.js +92 -54
- package/src/client/components/cyberia-portal/AppStoreCyberiaPortal.js +5 -0
- package/src/client/components/cyberia-portal/CommonCyberiaPortal.js +217 -30
- package/src/client/components/cyberia-portal/CssCyberiaPortal.js +44 -2
- package/src/client/components/cyberia-portal/LogInCyberiaPortal.js +3 -4
- package/src/client/components/cyberia-portal/LogOutCyberiaPortal.js +2 -2
- package/src/client/components/cyberia-portal/MenuCyberiaPortal.js +104 -9
- package/src/client/components/cyberia-portal/RoutesCyberiaPortal.js +5 -0
- package/src/client/components/cyberia-portal/SocketIoCyberiaPortal.js +3 -49
- package/src/client/components/cyberia-portal/TranslateCyberiaPortal.js +4 -0
- package/src/client/components/default/AppStoreDefault.js +5 -0
- package/src/client/components/default/LogInDefault.js +3 -3
- package/src/client/components/default/LogOutDefault.js +2 -2
- package/src/client/components/default/MenuDefault.js +5 -5
- package/src/client/components/default/SocketIoDefault.js +3 -51
- package/src/client/components/itemledger/AppStoreItemledger.js +5 -0
- package/src/client/components/itemledger/LogInItemledger.js +3 -3
- package/src/client/components/itemledger/LogOutItemledger.js +2 -2
- package/src/client/components/itemledger/MenuItemledger.js +3 -3
- package/src/client/components/itemledger/SocketIoItemledger.js +3 -51
- package/src/client/components/underpost/AppStoreUnderpost.js +5 -0
- package/src/client/components/underpost/CssUnderpost.js +59 -0
- package/src/client/components/underpost/LogInUnderpost.js +6 -3
- package/src/client/components/underpost/LogOutUnderpost.js +4 -2
- package/src/client/components/underpost/MenuUnderpost.js +104 -18
- package/src/client/components/underpost/RoutesUnderpost.js +2 -0
- package/src/client/components/underpost/SocketIoUnderpost.js +3 -51
- package/src/client/public/cryptokoyn/assets/logo/base-icon.png +0 -0
- package/src/client/public/cryptokoyn/browserconfig.xml +12 -0
- package/src/client/public/cryptokoyn/microdata.json +85 -0
- package/src/client/public/cryptokoyn/site.webmanifest +57 -0
- package/src/client/public/cryptokoyn/sitemap +3 -3
- package/src/client/public/default/sitemap +3 -3
- package/src/client/public/itemledger/browserconfig.xml +2 -2
- package/src/client/public/itemledger/manifest.webmanifest +4 -4
- package/src/client/public/itemledger/microdata.json +71 -0
- package/src/client/public/itemledger/sitemap +3 -3
- package/src/client/public/itemledger/yandex-browser-manifest.json +2 -2
- package/src/client/public/test/sitemap +3 -3
- package/src/client/services/core/core.service.js +20 -8
- package/src/client/services/cyberia-dialogue/cyberia-dialogue.service.js +105 -0
- package/src/client/services/cyberia-entity/cyberia-entity.management.js +57 -0
- package/src/client/services/cyberia-entity/cyberia-entity.service.js +105 -0
- package/src/client/services/cyberia-instance/cyberia-instance.management.js +194 -0
- package/src/client/services/cyberia-instance/cyberia-instance.service.js +122 -0
- package/src/client/services/cyberia-instance-conf/cyberia-instance-conf.service.js +105 -0
- package/src/client/services/cyberia-map/cyberia-map.management.js +193 -0
- package/src/client/services/cyberia-map/cyberia-map.service.js +126 -0
- package/src/client/services/instance/instance.management.js +2 -2
- package/src/client/services/ipfs/ipfs.service.js +3 -23
- package/src/client/services/object-layer/object-layer.management.js +3 -3
- package/src/client/services/object-layer/object-layer.service.js +21 -0
- package/src/client/services/user/user.management.js +2 -2
- package/src/client/ssr/body/404.js +15 -11
- package/src/client/ssr/body/500.js +15 -11
- package/src/client/ssr/body/SwaggerDarkMode.js +285 -0
- package/src/client/ssr/head/PwaItemledger.js +60 -0
- package/src/client/ssr/offline/NoNetworkConnection.js +11 -10
- package/src/client/ssr/pages/CyberiaServerMetrics.js +1 -1
- package/src/client/ssr/pages/Test.js +11 -10
- package/src/client.build.js +0 -3
- package/src/client.dev.js +0 -3
- package/src/db/DataBaseProvider.js +17 -2
- package/src/db/mariadb/MariaDB.js +14 -9
- package/src/db/mongo/MongooseDB.js +17 -1
- package/src/grpc/cyberia/OFF_CHAIN_ECONOMY.md +305 -0
- package/src/grpc/cyberia/README.md +326 -0
- package/src/grpc/cyberia/grpc-server.js +530 -0
- package/src/index.js +24 -1
- package/src/proxy.js +0 -3
- package/src/runtime/express/Dockerfile +4 -0
- package/src/runtime/express/Express.js +33 -10
- package/src/runtime/lampp/Dockerfile +13 -2
- package/src/runtime/lampp/Lampp.js +33 -17
- package/src/runtime/wp/Dockerfile +68 -0
- package/src/runtime/wp/Wp.js +639 -0
- package/src/server/auth.js +36 -15
- package/src/server/backup.js +39 -12
- package/src/server/besu-genesis-generator.js +1630 -0
- package/src/server/client-build-docs.js +133 -17
- package/src/server/client-build-live.js +9 -18
- package/src/server/client-build.js +229 -101
- package/src/server/client-dev-server.js +14 -13
- package/src/server/client-formatted.js +109 -57
- package/src/server/conf.js +391 -164
- package/src/server/cron.js +27 -24
- package/src/server/dns.js +29 -12
- package/src/server/downloader.js +0 -2
- package/src/server/ipfs-client.js +24 -1
- package/src/server/logger.js +27 -9
- package/src/server/object-layer.js +217 -103
- package/src/server/peer.js +8 -2
- package/src/server/process.js +1 -50
- package/src/server/proxy.js +4 -8
- package/src/server/runtime.js +30 -9
- package/src/server/semantic-layer-generator-floor.js +359 -0
- package/src/server/semantic-layer-generator-skin.js +1294 -0
- package/src/server/semantic-layer-generator.js +116 -555
- package/src/server/ssr.js +0 -3
- package/src/server/start.js +19 -12
- package/src/server/tls.js +0 -2
- package/src/server.js +0 -4
- package/src/ws/IoInterface.js +1 -10
- package/src/ws/IoServer.js +14 -33
- package/src/ws/core/channels/core.ws.chat.js +65 -20
- package/src/ws/core/channels/core.ws.mailer.js +113 -32
- package/src/ws/core/channels/core.ws.stream.js +90 -31
- package/src/ws/core/core.ws.connection.js +12 -33
- package/src/ws/core/core.ws.emit.js +10 -26
- package/src/ws/core/core.ws.server.js +25 -58
- package/src/ws/default/channels/default.ws.main.js +53 -12
- package/src/ws/default/default.ws.connection.js +26 -13
- package/src/ws/default/default.ws.server.js +30 -12
- package/.env.development +0 -43
- package/.env.test +0 -43
- package/hardhat/contracts/CryptoKoyn.sol +0 -59
- package/hardhat/contracts/ItemLedger.sol +0 -73
- package/hardhat/contracts/Lock.sol +0 -34
- package/hardhat/hardhat.config.cjs +0 -45
- package/hardhat/ignition/modules/Lock.js +0 -18
- package/hardhat/networks/cryptokoyn-itemledger.network.json +0 -29
- package/hardhat/scripts/deployCryptokoyn.cjs +0 -25
- package/hardhat/scripts/deployItemledger.cjs +0 -25
- package/hardhat/test/Lock.js +0 -126
- package/hardhat/white-paper.md +0 -581
- package/src/client/components/cryptokoyn/CommonCryptokoyn.js +0 -29
- package/src/client/components/cryptokoyn/ElementsCryptokoyn.js +0 -38
- package/src/client/components/cyberia-portal/ElementsCyberiaPortal.js +0 -38
- package/src/client/components/default/ElementsDefault.js +0 -38
- package/src/client/components/itemledger/CommonItemledger.js +0 -29
- package/src/client/components/itemledger/ElementsItemledger.js +0 -38
- package/src/client/components/underpost/CommonUnderpost.js +0 -29
- package/src/client/components/underpost/ElementsUnderpost.js +0 -38
- package/src/ws/core/management/core.ws.chat.js +0 -8
- package/src/ws/core/management/core.ws.mailer.js +0 -16
- package/src/ws/core/management/core.ws.stream.js +0 -8
- package/src/ws/default/management/default.ws.main.js +0 -8
- 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=
|
|
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
|
-
|
|
55
|
-
|
|
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:
|
|
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:
|
|
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.
|
|
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:
|
|
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.
|
|
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-
|
|
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:
|
|
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.
|
|
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 "
|
|
91
|
-
sudo -n -- /bin/bash -lc "node bin deploy dd-cyberia production --kubeadm --
|
|
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
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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@
|
|
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 .. &&
|
|
51
|
-
|
|
52
|
-
|
|
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
|
-
|
|
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
|
-
|
|
69
|
-
if [ "$
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
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@
|
|
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
|
-
|
|
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
|
-
|
|
72
|
+
node bin push . underpostnet/pwa-microservices-template-ghpkg
|
|
@@ -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
|
-
&&
|
|
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@
|
|
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
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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 .. &&
|
|
85
|
+
cd .. && node engine/bin clone underpostnet/pwa-microservices-template
|
|
64
86
|
cd engine
|
|
65
|
-
npm run update
|
|
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
|
-
|
|
72
|
-
|
|
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:
|
|
16
|
+
contents: write
|
|
17
|
+
packages: write
|
|
13
18
|
id-token: write
|
|
14
19
|
steps:
|
|
15
|
-
- uses: actions/checkout@
|
|
20
|
+
- uses: actions/checkout@v6
|
|
16
21
|
|
|
17
|
-
-
|
|
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:
|
|
53
|
+
contents: write
|
|
54
|
+
packages: write
|
|
36
55
|
id-token: write
|
|
37
56
|
steps:
|
|
38
|
-
- uses: actions/checkout@
|
|
57
|
+
- uses: actions/checkout@v6
|
|
39
58
|
|
|
40
|
-
- uses: actions/setup-node@
|
|
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@
|
|
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@
|
|
15
|
+
- uses: actions/checkout@v6
|
|
16
16
|
|
|
17
|
-
- uses: actions/setup-node@
|
|
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@
|
|
38
|
+
- uses: actions/checkout@v6
|
|
39
39
|
|
|
40
|
-
- uses: actions/setup-node@
|
|
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@
|
|
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@
|
|
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
|
-
|
|
59
|
-
|
|
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@
|
|
64
|
+
uses: actions/configure-pages@v6
|
|
66
65
|
- name: Upload artifact
|
|
67
|
-
uses: actions/upload-pages-artifact@
|
|
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@
|
|
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@
|
|
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
|
|
30
|
-
run: npm install
|
|
29
|
+
- name: Install dependencies
|
|
30
|
+
run: npm install
|
|
31
31
|
|
|
32
32
|
- name: Run test
|
|
33
|
-
run:
|
|
33
|
+
run: node bin test
|