From 8395c2a37d8566a31905c48fc007a96eb9a0e778 Mon Sep 17 00:00:00 2001
From: mtyszczak <mateusz.tyszczak@gmail.com>
Date: Thu, 27 Feb 2025 13:49:58 +0100
Subject: [PATCH] Add publishing wax packages

---
 .gitlab-ci.yml | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 20f3487e6..88bd78b77 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -109,6 +109,32 @@ wax_wasm_build_tests:
   tags:
     - public-runner-docker
 
+build_wax_extensions:
+  stage: build
+  extends: .npm_process_built_package_tarball
+  variables:
+    GIT_SUBMODULE_STRATEGY: recursive
+    SOURCE_DIR: "${CI_PROJECT_DIR}/ts"
+    DIST_DIR: "$CI_PROJECT_DIR/ts/wasm/dist"
+    PACKAGE_TGZ_PATH: "${BUILT_PACKAGE_PATH}"
+
+  script:
+    - cd "${SOURCE_DIR}/packages"
+    - pnpm install
+    - pnpm run build
+
+  needs:
+    - job: wax_wasm_proto_tsc_generation
+      artifacts: true
+
+  artifacts:
+    paths:
+      - "${SOURCE_DIR}/packages/*/dist"
+      - "${SOURCE_DIR}/packages/*/package.json"
+
+    when: always
+    expire_in: 1 week
+
 generate_docs:
   stage: build
   extends: .npm_process_built_package_tarball
@@ -346,6 +372,32 @@ deploy_wax_wasm_dev_package:
   tags:
     - public-runner-docker
 
+deploy_wax_wasm_dev_extension_packages:
+  extends: .npm_deploy_multiple_tgz_packages_template
+  stage: deploy
+  variables:
+    SOURCE_DIR: "${CI_PROJECT_DIR}/ts/packages"
+    DIST_DIR: "${SOURCE_DIR}/dist"
+    GIT_SUBMODULE_STRATEGY: "normal"
+    NPM_PACKAGE_SCOPE: "@hiveio"
+    NPM_REGISTRY_URL: "gitlab.syncad.com/api/v4/projects/${CI_PROJECT_ID}/packages/npm/"
+    NPM_PUBLISH_TOKEN: "${CI_JOB_TOKEN}"
+
+  script:
+    - cd "${SOURCE_DIR}"
+    - echo "//${NPM_REGISTRY_URL}:_authToken=\"${NPM_PUBLISH_TOKEN}\"" > "${SOURCE_DIR}/.npmrc"
+    - echo "${NPM_PACKAGE_SCOPE}:registry=https://${NPM_REGISTRY_URL}" >> "${SOURCE_DIR}/.npmrc"
+    - pnpm publish --no-git-checks --access public -r --tag $(jq -r '.version' "${CI_PROJECT_DIR}/ts/package.json")
+
+  needs:
+    - job: deploy_wax_wasm_dev_package
+    - job: wax_wasm_proto_tsc_generation
+      artifacts: true
+    - job: build_wax_extensions
+      artifacts: true
+  tags:
+    - public-runner-docker
+
 deploy_wax_wasm_production_public_npm:
   extends: .registry_npmjs_org_deploy_package_template
   stage: deploy
-- 
GitLab