From cfc6d96b0ebb88e9b96abf61283d98aa3d13b2b2 Mon Sep 17 00:00:00 2001 From: Alina Kladieva Date: Mon, 17 Feb 2025 20:46:16 +0100 Subject: [PATCH] [GHA] Save linux tokenizers artifacts to cloud --- .github/workflows/linux.yml | 83 +++++++++++++++++++++++++++++++++++-- 1 file changed, 79 insertions(+), 4 deletions(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 49d13863..9c848fb8 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -22,6 +22,8 @@ env: SCCACHE_SERVER_PORT: 35555 SCCACHE_CACHE_SIZE: 30G SCCACHE_AZURE_KEY_PREFIX: tokenizers/ubuntu/22_04/x64 + ARTIFACTS_SHARE: '/mount/build-artifacts' + PRODUCT_TYPE: public_linux_ubuntu_22_04_x86_64_release permissions: read-all @@ -95,6 +97,7 @@ jobs: OV_TOKENIZERS_INSTALL_DIR: ${{ github.workspace }}/openvino_tokenizers/install OPENVINO_TOKENIZERS_REPO: ${{ github.workspace }}/openvino_tokenizers BUILD_DIR: ${{ github.workspace }}/openvino_tokenizers/build + MANIFEST_PATH: ${{ github.workspace }}/manifest.yml steps: - name: Clone Openvino tokenizers @@ -102,6 +105,17 @@ jobs: with: path: ${{ env.OPENVINO_TOKENIZERS_REPO }} + - name: Generate product manifest + id: create_manifest + uses: openvinotoolkit/openvino/.github/actions/create_manifest@master + with: + repos: | + ${{ env.OPENVINO_TOKENIZERS_REPO }} + product_type: ${{ env.PRODUCT_TYPE }} + target_arch: 'x86_64' + build_type: 'release' + save_to: ${{ env.MANIFEST_PATH }} + - name: Download OpenVINO package uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 with: @@ -147,6 +161,14 @@ jobs: path: ${{ env.BUILD_DIR }}/*.tar.gz if-no-files-found: 'error' + - name: Upload manifest + if: ${{ always() }} + uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 + with: + name: manifest + path: ${{ env.MANIFEST_PATH }} + if-no-files-found: 'error' + openvino_tokenizers_wheel: name: OpenVINO tokenizers extension wheel @@ -251,7 +273,6 @@ jobs: path: ${{ env.INSTALL_DIR }} merge-multiple: true - - name: Install OpenVINO Python wheel from pre-built artifacts run: | python3 -m pip install openvino==${{ needs.openvino_download.outputs.ov_version }} ${{ needs.openvino_download.outputs.ov_wheel_source }} @@ -333,7 +354,7 @@ jobs: popd env: PIP_EXTRA_INDEX_URL: "https://download.pytorch.org/whl/cpu" - + - name: Install Tensorflow tests dependencies run: | python3 -m pip install uv @@ -350,7 +371,7 @@ jobs: env: TEST_DEVICE: CPU TEST_PRECISION: FP16 - + - name: Upload Test Results uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 if: ${{ !cancelled() }} @@ -360,7 +381,61 @@ jobs: ${{ env.OPENVINO_REPO }}/TEST*.html ${{ env.OPENVINO_REPO }}/TEST*.xml if-no-files-found: 'warn' - + + + store_artifacts: + name: Store build artifacts + needs: [openvino_tokenizers_wheel, openvino_tokenizers_cpack] + strategy: + matrix: + build_type: [Release] # TODO: Add Debug build when OV provider is ready or use OV package + timeout-minutes: 10 + defaults: + run: + shell: bash + runs-on: aks-linux-2-cores-8gb + container: + image: 'openvinogithubactions.azurecr.io/openvino_provider:0.1.0' + volumes: + - /mount:/mount + - ${{ github.workspace }}:${{ github.workspace }} + env: + CPACK_PACKAGE: ${{ github.workspace }}/openvino_tokenizers_cpack_${{ matrix.build_type }} + WHEEL_PACKAGE: ${{ github.workspace }}/openvino_tokenizers_wheel + MANIFEST_PATH: ${{ github.workspace }}/manifest.yml + + steps: + - name: Download tokenizers package + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 + with: + name: openvino_tokenizers_cpack_${{ matrix.build_type }} + path: ${{ env.CPACK_PACKAGE }} + + - name: Download tokenizers wheels + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 + with: + name: openvino_tokenizers_wheel + path: ${{ env.WHEEL_PACKAGE }} + + - name: Download manifest + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 + with: + name: manifest + path: ${{ env.MANIFEST_PATH }} + + - name: Store artifacts to a shared drive + id: store_artifacts + if: ${{ always() }} + uses: openvinotoolkit/openvino/.github/actions/store_artifacts@master + with: + artifacts: | + ${{ env.CPACK_PACKAGE }} + ${{ env.WHEEL_PACKAGE }} + ${{ env.MANIFEST_PATH }} + storage_dir: ${{ env.PRODUCT_TYPE }} + storage_root: ${{ env.ARTIFACTS_SHARE }} + + Overall_Status: name: ci/gha_overall_status_linux needs: [openvino_download, openvino_tokenizers_cpack, openvino_tokenizers_wheel, openvino_tokenizers_tests, openvino_tf_tests]