From 8279c22c7aa2459f62d3209d878b99f98efea944 Mon Sep 17 00:00:00 2001 From: Mikhail Ryzhov Date: Fri, 17 Jan 2025 15:15:40 +0100 Subject: [PATCH 1/8] save openvino_js_package --- .github/workflows/job_build_linux.yml | 1 + .github/workflows/job_build_windows.yml | 1 + 2 files changed, 2 insertions(+) diff --git a/.github/workflows/job_build_linux.yml b/.github/workflows/job_build_linux.yml index c56de5872cc2df..15d1c57a8c9818 100644 --- a/.github/workflows/job_build_linux.yml +++ b/.github/workflows/job_build_linux.yml @@ -329,6 +329,7 @@ jobs: with: artifacts: | ${{ env.BUILD_DIR }}/openvino_package.tar.gz + ${{ env.BUILD_DIR }}/openvino_js_package.tar.gz ${{ env.BUILD_DIR }}/openvino_developer_package.tar.gz ${{ env.BUILD_DIR }}/openvino_tests.tar.gz ${{ env.BUILD_DIR }}/deb diff --git a/.github/workflows/job_build_windows.yml b/.github/workflows/job_build_windows.yml index d5d42ffcfea8d2..1517236982ccd4 100644 --- a/.github/workflows/job_build_windows.yml +++ b/.github/workflows/job_build_windows.yml @@ -307,6 +307,7 @@ jobs: with: artifacts: | ${{ env.BUILD_DIR }}/openvino_package.zip + ${{ env.BUILD_DIR }}/openvino_js_package.zip ${{ env.BUILD_DIR }}/openvino_tests.zip ${{ env.MANIFEST_PATH }} ${{ env.STORE_WHEELS == 'true' && format('{0}/wheels', env.INSTALL_WHEELS_DIR) || '' }} From 21c318b8e577a629ed6bf34400b2af7eb8e5c5a7 Mon Sep 17 00:00:00 2001 From: Mikhail Ryzhov Date: Sun, 19 Jan 2025 19:40:45 +0100 Subject: [PATCH 2/8] compress js artifacts --- .github/workflows/job_build_linux.yml | 10 ++++++++-- .github/workflows/job_build_windows.yml | 16 ++++++++++++++-- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/.github/workflows/job_build_linux.yml b/.github/workflows/job_build_linux.yml index 15d1c57a8c9818..c8e1f84ec8db5b 100644 --- a/.github/workflows/job_build_linux.yml +++ b/.github/workflows/job_build_linux.yml @@ -234,6 +234,11 @@ jobs: -DENABLE_WHEEL=OFF cmake --build ${BUILD_DIR} --parallel $(nproc) cmake --install ${BUILD_DIR} --prefix ${INSTALL_DIR_JS} + + - name: Pack openvino_js_package + if: ${{ fromJSON(inputs.affected-components).JS_API && inputs.build-js }} + run: tar -cvf - * | pigz > ${BUILD_DIR}/openvino_js_package.tar.gz + working-directory: ${{ env.INSTALL_DIR_JS }} - name: Build RPM packages if: ${{ inputs.build-rpm-packages }} @@ -279,7 +284,7 @@ jobs: uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3 with: name: openvino_js_package - path: ${{ env.INSTALL_DIR_JS }} + path: ${{ env.BUILD_DIR }}/openvino_js_package.tar.gz if-no-files-found: 'error' - name: Upload openvino developer package @@ -329,13 +334,14 @@ jobs: with: artifacts: | ${{ env.BUILD_DIR }}/openvino_package.tar.gz - ${{ env.BUILD_DIR }}/openvino_js_package.tar.gz ${{ env.BUILD_DIR }}/openvino_developer_package.tar.gz ${{ env.BUILD_DIR }}/openvino_tests.tar.gz ${{ env.BUILD_DIR }}/deb ${{ env.MANIFEST_PATH }} + ${{ env.STORE_JS == 'true' && env.BUILD_DIR/openvino_js_package.tar.gz || '' }} ${{ env.STORE_WHEELS == 'true' && format('{0}/wheels', env.INSTALL_WHEELS_DIR) || '' }} storage_dir: ${{ env.PRODUCT_TYPE }} storage_root: ${{ env.ARTIFACTS_SHARE }} env: STORE_WHEELS: ${{ inputs.os != 'debian_10' && inputs.arch != 'arm' }} + STORE_JS: ${{ fromJSON(inputs.affected-components).JS_API && inputs.build-js }} diff --git a/.github/workflows/job_build_windows.yml b/.github/workflows/job_build_windows.yml index 1517236982ccd4..c3276ed1ba6851 100644 --- a/.github/workflows/job_build_windows.yml +++ b/.github/workflows/job_build_windows.yml @@ -265,6 +265,17 @@ jobs: -DENABLE_WHEEL=OFF cmake --build ${{ env.BUILD_DIR }} --parallel $ENV:NUMBER_OF_PROCESSORS cmake --install ${{ env.BUILD_DIR }} --config ${{ env.CMAKE_BUILD_TYPE }} --prefix ${{ env.INSTALL_DIR_JS }} + + - name: Pack JS Artifacts + if: ${{ fromJSON(inputs.affected-components).JS_API }} + run: | + $file = Get-ChildItem -Path "${{ env.INSTALL_DIR }}" + $compress = @{ + Path = $file + CompressionLevel = "Optimal" + DestinationPath = "${{ env.BUILD_DIR }}/openvino_js_package.zip" + } + Compress-Archive @compress # # Upload build artifacts and logs @@ -297,7 +308,7 @@ jobs: uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3 with: name: openvino_js_package - path: ${{ env.INSTALL_DIR_JS }} + path: ${{ env.BUILD_DIR }}/openvino_js_package.zip if-no-files-found: 'error' - name: Store artifacts to a shared drive @@ -307,11 +318,12 @@ jobs: with: artifacts: | ${{ env.BUILD_DIR }}/openvino_package.zip - ${{ env.BUILD_DIR }}/openvino_js_package.zip ${{ env.BUILD_DIR }}/openvino_tests.zip ${{ env.MANIFEST_PATH }} + ${{ env.STORE_JS == 'true' && env.BUILD_DIR/openvino_js_package.zip || '' }} ${{ env.STORE_WHEELS == 'true' && format('{0}/wheels', env.INSTALL_WHEELS_DIR) || '' }} storage_dir: ${{ env.PRODUCT_TYPE }} storage_root: ${{ env.ARTIFACTS_SHARE }} env: STORE_WHEELS: ${{ inputs.build-type != 'Debug' }} + STORE_JS: ${{ fromJSON(inputs.affected-components).JS_API && inputs.build-js }} From 87c29afb1054fc75387b023d558132bdcfa5973c Mon Sep 17 00:00:00 2001 From: Mikhail Ryzhov Date: Mon, 20 Jan 2025 10:12:41 +0100 Subject: [PATCH 3/8] fixed format --- .github/workflows/job_build_linux.yml | 2 +- .github/workflows/job_build_windows.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/job_build_linux.yml b/.github/workflows/job_build_linux.yml index c8e1f84ec8db5b..d1dfd0504ae194 100644 --- a/.github/workflows/job_build_linux.yml +++ b/.github/workflows/job_build_linux.yml @@ -338,7 +338,7 @@ jobs: ${{ env.BUILD_DIR }}/openvino_tests.tar.gz ${{ env.BUILD_DIR }}/deb ${{ env.MANIFEST_PATH }} - ${{ env.STORE_JS == 'true' && env.BUILD_DIR/openvino_js_package.tar.gz || '' }} + ${{ env.STORE_JS == 'true' && format('{0}/openvino_js_package.tar.gz', env.BUILD_DIR) || '' }} ${{ env.STORE_WHEELS == 'true' && format('{0}/wheels', env.INSTALL_WHEELS_DIR) || '' }} storage_dir: ${{ env.PRODUCT_TYPE }} storage_root: ${{ env.ARTIFACTS_SHARE }} diff --git a/.github/workflows/job_build_windows.yml b/.github/workflows/job_build_windows.yml index c3276ed1ba6851..17dc828abe2a3c 100644 --- a/.github/workflows/job_build_windows.yml +++ b/.github/workflows/job_build_windows.yml @@ -320,7 +320,7 @@ jobs: ${{ env.BUILD_DIR }}/openvino_package.zip ${{ env.BUILD_DIR }}/openvino_tests.zip ${{ env.MANIFEST_PATH }} - ${{ env.STORE_JS == 'true' && env.BUILD_DIR/openvino_js_package.zip || '' }} + ${{ env.STORE_JS == 'true' && format('{0}/openvino_js_package.zip', env.BUILD_DIR) || '' }} ${{ env.STORE_WHEELS == 'true' && format('{0}/wheels', env.INSTALL_WHEELS_DIR) || '' }} storage_dir: ${{ env.PRODUCT_TYPE }} storage_root: ${{ env.ARTIFACTS_SHARE }} From 9ee2f98b9e8b8165173591569f8c9c6ce6b5f9ab Mon Sep 17 00:00:00 2001 From: Mikhail Ryzhov Date: Mon, 20 Jan 2025 10:55:04 +0100 Subject: [PATCH 4/8] fixed test pipelines --- .github/workflows/job_openvino_js.yml | 9 +++++++-- .github/workflows/windows_vs2019_release.yml | 11 ++++++++--- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/.github/workflows/job_openvino_js.yml b/.github/workflows/job_openvino_js.yml index fd04d8842daae7..5d0ed5f7320ee3 100644 --- a/.github/workflows/job_openvino_js.yml +++ b/.github/workflows/job_openvino_js.yml @@ -45,11 +45,16 @@ jobs: echo "OPENVINO_JS_DIR=$GITHUB_WORKSPACE/openvino/src/bindings/js" >> "$GITHUB_ENV" echo "OPENVINO_JS_LIBS_DIR=$GITHUB_WORKSPACE/openvino/src/bindings/js/node/bin" >> "$GITHUB_ENV" - - name: Download OpenVINO JS package + - name: Download OpenVINO artifacts (JS) uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 with: - name: openvino_js_package + pattern: openvino_[js]* path: ${{ env.OPENVINO_JS_LIBS_DIR }} + merge-multiple: true + + - name: Extract OpenVINO packages + run: Expand-Archive openvino_js_package.zip -DestinationPath . + working-directory: ${{ env.OPENVINO_JS_LIBS_DIR }} - name: Setup Node ${{ env.NODE_VERSION }} if: runner.os != 'Linux' # Node is already installed in the Docker image diff --git a/.github/workflows/windows_vs2019_release.yml b/.github/workflows/windows_vs2019_release.yml index 5708b529f25acc..92d826de1d8394 100644 --- a/.github/workflows/windows_vs2019_release.yml +++ b/.github/workflows/windows_vs2019_release.yml @@ -192,12 +192,17 @@ jobs: sparse-checkout: | src/bindings/js path: 'openvino' - - - name: Download OpenVINO js package + + - name: Download OpenVINO artifacts (JS) uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 with: - name: openvino_js_package + pattern: openvino_[js]* path: ${{ env.OPENVINO_JS_LIBS_DIR }} + merge-multiple: true + + - name: Extract OpenVINO packages + run: Expand-Archive openvino_js_package.zip -DestinationPath . + working-directory: ${{ env.OPENVINO_JS_LIBS_DIR }} - name: Setup Node ${{ env.NODE_VERSION }} uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 From 127a795f4dfffe6ace33e0ee0ff2ac8614a028c8 Mon Sep 17 00:00:00 2001 From: Mikhail Ryzhov Date: Mon, 20 Jan 2025 12:01:06 +0100 Subject: [PATCH 5/8] fixed extract dir --- .github/workflows/job_openvino_js.yml | 4 ++-- .github/workflows/windows_vs2019_release.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/job_openvino_js.yml b/.github/workflows/job_openvino_js.yml index 5d0ed5f7320ee3..8ae213f122a30a 100644 --- a/.github/workflows/job_openvino_js.yml +++ b/.github/workflows/job_openvino_js.yml @@ -49,12 +49,12 @@ jobs: uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 with: pattern: openvino_[js]* - path: ${{ env.OPENVINO_JS_LIBS_DIR }} + path: ${{ env.OPENVINO_JS_DIR }} merge-multiple: true - name: Extract OpenVINO packages run: Expand-Archive openvino_js_package.zip -DestinationPath . - working-directory: ${{ env.OPENVINO_JS_LIBS_DIR }} + working-directory: ${{ env.OPENVINO_JS_DIR }} - name: Setup Node ${{ env.NODE_VERSION }} if: runner.os != 'Linux' # Node is already installed in the Docker image diff --git a/.github/workflows/windows_vs2019_release.yml b/.github/workflows/windows_vs2019_release.yml index 92d826de1d8394..4d7677e36778b3 100644 --- a/.github/workflows/windows_vs2019_release.yml +++ b/.github/workflows/windows_vs2019_release.yml @@ -197,12 +197,12 @@ jobs: uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 with: pattern: openvino_[js]* - path: ${{ env.OPENVINO_JS_LIBS_DIR }} + path: ${{ env.OPENVINO_JS_DIR }} merge-multiple: true - name: Extract OpenVINO packages run: Expand-Archive openvino_js_package.zip -DestinationPath . - working-directory: ${{ env.OPENVINO_JS_LIBS_DIR }} + working-directory: ${{ env.OPENVINO_JS_DIR }} - name: Setup Node ${{ env.NODE_VERSION }} uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 From 4b393098ccae1e1cbc48b271755b8d95945c6621 Mon Sep 17 00:00:00 2001 From: Mikhail Ryzhov Date: Mon, 20 Jan 2025 12:58:32 +0100 Subject: [PATCH 6/8] fixed lin pipeline --- .github/workflows/job_openvino_js.yml | 6 +++--- .github/workflows/windows_vs2019_release.yml | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/job_openvino_js.yml b/.github/workflows/job_openvino_js.yml index 8ae213f122a30a..f0a4c40b0b1c59 100644 --- a/.github/workflows/job_openvino_js.yml +++ b/.github/workflows/job_openvino_js.yml @@ -49,12 +49,12 @@ jobs: uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 with: pattern: openvino_[js]* - path: ${{ env.OPENVINO_JS_DIR }} + path: ${{ env.OPENVINO_JS_LIBS_DIR }} merge-multiple: true - name: Extract OpenVINO packages - run: Expand-Archive openvino_js_package.zip -DestinationPath . - working-directory: ${{ env.OPENVINO_JS_DIR }} + run: pigz -dc openvino_js_package.tar.gz | tar -xf - -C ${OPENVINO_JS_DIR} + working-directory: ${{ env.OPENVINO_JS_LIBS_DIR }} - name: Setup Node ${{ env.NODE_VERSION }} if: runner.os != 'Linux' # Node is already installed in the Docker image diff --git a/.github/workflows/windows_vs2019_release.yml b/.github/workflows/windows_vs2019_release.yml index 4d7677e36778b3..92d826de1d8394 100644 --- a/.github/workflows/windows_vs2019_release.yml +++ b/.github/workflows/windows_vs2019_release.yml @@ -197,12 +197,12 @@ jobs: uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 with: pattern: openvino_[js]* - path: ${{ env.OPENVINO_JS_DIR }} + path: ${{ env.OPENVINO_JS_LIBS_DIR }} merge-multiple: true - name: Extract OpenVINO packages run: Expand-Archive openvino_js_package.zip -DestinationPath . - working-directory: ${{ env.OPENVINO_JS_DIR }} + working-directory: ${{ env.OPENVINO_JS_LIBS_DIR }} - name: Setup Node ${{ env.NODE_VERSION }} uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 From d0496f0ba47d8bd6a82e194d0dd8fbea9711be1f Mon Sep 17 00:00:00 2001 From: Mikhail Ryzhov Date: Mon, 20 Jan 2025 13:46:59 +0100 Subject: [PATCH 7/8] change extract lin dir --- .github/workflows/job_openvino_js.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/job_openvino_js.yml b/.github/workflows/job_openvino_js.yml index f0a4c40b0b1c59..dbee8511c4187b 100644 --- a/.github/workflows/job_openvino_js.yml +++ b/.github/workflows/job_openvino_js.yml @@ -53,7 +53,7 @@ jobs: merge-multiple: true - name: Extract OpenVINO packages - run: pigz -dc openvino_js_package.tar.gz | tar -xf - -C ${OPENVINO_JS_DIR} + run: pigz -dc openvino_js_package.tar.gz | tar -xf - -C ${OPENVINO_JS_LIBS_DIR} working-directory: ${{ env.OPENVINO_JS_LIBS_DIR }} - name: Setup Node ${{ env.NODE_VERSION }} From 17c51695d6c426b756c5bc98ea75816184106104 Mon Sep 17 00:00:00 2001 From: Mikhail Ryzhov Date: Mon, 20 Jan 2025 17:17:31 +0100 Subject: [PATCH 8/8] Update .github/workflows/job_build_windows.yml --- .github/workflows/job_build_windows.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/job_build_windows.yml b/.github/workflows/job_build_windows.yml index 17dc828abe2a3c..f0c150c4ac4db4 100644 --- a/.github/workflows/job_build_windows.yml +++ b/.github/workflows/job_build_windows.yml @@ -269,7 +269,7 @@ jobs: - name: Pack JS Artifacts if: ${{ fromJSON(inputs.affected-components).JS_API }} run: | - $file = Get-ChildItem -Path "${{ env.INSTALL_DIR }}" + $file = Get-ChildItem -Path "${{ env.INSTALL_DIR_JS }}" $compress = @{ Path = $file CompressionLevel = "Optimal"