Manylinux 2_28 #185
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Manylinux 2_28 | |
| on: | |
| workflow_dispatch: | |
| pull_request: | |
| merge_group: | |
| push: | |
| branches: | |
| - master | |
| - 'releases/**' | |
| permissions: read-all # Required by https://github.com/ossf/scorecard/blob/e23b8ad91fd6a64a0a971ca4fc0a4d1650725615/docs/checks.md#token-permissions | |
| concurrency: | |
| # github.ref is not unique in post-commit | |
| group: ${{ github.event_name == 'push' && github.run_id || github.ref }}-manylinux-2-28 | |
| cancel-in-progress: true | |
| env: | |
| PYTHON_VERSION: '3.11' | |
| OV_BRANCH: ${{ github.base_ref || github.event.merge_group.base_ref || github.ref }} | |
| CMAKE_CXX_COMPILER_LAUNCHER: sccache | |
| CMAKE_C_COMPILER_LAUNCHER: sccache | |
| SCCACHE_IGNORE_SERVER_IO_ERROR: 1 | |
| SCCACHE_SERVER_PORT: 35555 | |
| SCCACHE_CACHE_SIZE: 30G | |
| SCCACHE_AZURE_KEY_PREFIX: tokenizers/manylinux_2_28 | |
| ARTIFACTS_SHARE: '/mount/build-artifacts' | |
| BASE_PRODUCT_TYPE: public_manylinux_2_28_x86_64 | |
| jobs: | |
| openvino_download: | |
| name: Download prebuilt OpenVINO | |
| outputs: | |
| status: ${{ steps.openvino_download.outcome }} | |
| ov_wheel_source: ${{ steps.openvino_download.outputs.ov_wheel_source }} | |
| ov_version: ${{ steps.openvino_download.outputs.ov_version }} | |
| docker_tag: ${{ steps.get_docker_tag.outputs.docker_tag }} | |
| timeout-minutes: 10 | |
| defaults: | |
| run: | |
| shell: bash | |
| runs-on: aks-linux-medium | |
| container: | |
| image: 'openvinogithubactions.azurecr.io/openvino_provider:0.1.0' | |
| volumes: | |
| - /mount:/mount | |
| - ${{ github.workspace }}:${{ github.workspace }} | |
| steps: | |
| - uses: openvinotoolkit/openvino/.github/actions/openvino_provider@master | |
| id: openvino_download | |
| with: | |
| platform: 'almalinux8' | |
| commit_packages_to_provide: 'wheels,developer_package.tar.gz' | |
| revision: latest_available_commit | |
| - name: Clone docker tag from OpenVINO repo | |
| uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 | |
| with: | |
| repository: 'openvinotoolkit/openvino' | |
| path: 'openvino' | |
| ref: ${{ env.OV_BRANCH }} | |
| sparse-checkout: | | |
| .github/dockerfiles/docker_tag | |
| - name: Save docker tag to output | |
| id: get_docker_tag | |
| run: | | |
| docker_tag=$(cat openvino/.github/dockerfiles/docker_tag) | |
| echo "docker_tag=$docker_tag" >> $GITHUB_OUTPUT | |
| openvino_tokenizers_cpack: | |
| name: OpenVINO tokenizers cpack, BUILD_TYPE=${{ matrix.build_type }} | |
| strategy: | |
| matrix: | |
| build_type: [Release] | |
| needs: [ openvino_download ] | |
| if: | | |
| always() && | |
| (needs.openvino_download.outputs.status == 'success') | |
| timeout-minutes: 45 | |
| defaults: | |
| run: | |
| shell: bash | |
| runs-on: aks-linux-8-cores-16gb | |
| container: | |
| image: openvinogithubactions.azurecr.io/ov_build/manylinux_2_28:${{ needs.openvino_download.outputs.docker_tag }} | |
| volumes: | |
| - /mount:/mount | |
| - ${{ github.workspace }}:${{ github.workspace }} | |
| options: -e SCCACHE_AZURE_BLOB_CONTAINER -e SCCACHE_AZURE_CONNECTION_STRING | |
| env: | |
| CMAKE_GENERATOR: 'Ninja' | |
| OPENVINO_REPO: ${{ github.workspace }}/openvino | |
| INSTALL_DIR: ${{ github.workspace }}/openvino/install | |
| 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 | |
| uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 | |
| 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.BASE_PRODUCT_TYPE }}_${{ matrix.build_type }} | |
| target_arch: 'x86_64' | |
| build_type: ${{ matrix.build_type }} | |
| save_to: ${{ env.MANIFEST_PATH }} | |
| - name: Download OpenVINO package | |
| uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 | |
| with: | |
| name: ${{ needs.openvino_download.outputs.ov_artifact_name }} | |
| path: ${{ env.INSTALL_DIR }} | |
| merge-multiple: true | |
| - name: CMake configure - tokenizers | |
| run: | | |
| source ${INSTALL_DIR}/setupvars.sh | |
| /usr/bin/cmake -DOpenVINODeveloperPackage_DIR=${{ env.INSTALL_DIR }}/developer_package/cmake \ | |
| -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \ | |
| -S ${{ env.OPENVINO_TOKENIZERS_REPO }} \ | |
| -B ${{ env.BUILD_DIR }} | |
| - name: Cmake build - tokenizers | |
| run: /usr/bin/cmake --build ${{ env.BUILD_DIR }} --parallel --config ${{ matrix.build_type }} --verbose | |
| - name: Cmake install - tokenizers | |
| run: /usr/bin/cmake --install ${{ env.BUILD_DIR }} --config=${{ matrix.build_type }} --prefix=${{ env.OV_TOKENIZERS_INSTALL_DIR }}/ov_tokenizers | |
| - name: Pack Artifacts | |
| run: | | |
| pushd ${OV_TOKENIZERS_INSTALL_DIR} | |
| tar -czvf ${BUILD_DIR}/ov_tokenizers.tar.gz * | |
| popd | |
| # | |
| # Upload build artifacts | |
| # | |
| - name: Upload openvino tokenizers package | |
| if: ${{ always() }} | |
| uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 | |
| with: | |
| name: openvino_tokenizers_cpack_${{ matrix.build_type }} | |
| path: ${{ env.BUILD_DIR }}/*.tar.gz | |
| if-no-files-found: 'error' | |
| - name: Upload manifest | |
| if: ${{ always() }} | |
| uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 | |
| with: | |
| name: manifest_${{ matrix.build_type }} | |
| path: ${{ env.MANIFEST_PATH }} | |
| if-no-files-found: 'error' | |
| openvino_tokenizers_wheel: | |
| name: OpenVINO tokenizers extension wheel | |
| needs: [ openvino_download ] | |
| if: | | |
| always() && | |
| (needs.openvino_download.outputs.status == 'success') | |
| timeout-minutes: 25 | |
| defaults: | |
| run: | |
| shell: bash | |
| runs-on: aks-linux-4-cores-16gb | |
| container: | |
| image: openvinogithubactions.azurecr.io/ov_build/manylinux_2_28:${{ needs.openvino_download.outputs.docker_tag }} | |
| volumes: | |
| - /mount:/mount | |
| - ${{ github.workspace }}:${{ github.workspace }} | |
| options: -e SCCACHE_AZURE_BLOB_CONTAINER -e SCCACHE_AZURE_CONNECTION_STRING | |
| env: | |
| OPENVINO_REPO: ${{ github.workspace }}/openvino | |
| INSTALL_DIR: ${{ github.workspace }}/openvino/install | |
| OPENVINO_TOKENIZERS_REPO: ${{ github.workspace }}/openvino_tokenizers | |
| BUILD_DIR: ${{ github.workspace }}/openvino_tokenizers/build | |
| steps: | |
| - name: Clone Openvino tokenizers | |
| uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 | |
| with: | |
| path: ${{ env.OPENVINO_TOKENIZERS_REPO }} | |
| - name: Set CI environment | |
| id: create_manifest | |
| uses: openvinotoolkit/openvino/.github/actions/create_manifest@master | |
| with: | |
| repos: ${{ env.OPENVINO_TOKENIZERS_REPO }} | |
| product_type: ${{ env.BASE_PRODUCT_TYPE }}_Release | |
| target_arch: 'x86_64' | |
| build_type: Release | |
| save_to: ${{ github.workspace }} | |
| - name: Download OpenVINO package | |
| uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 | |
| with: | |
| name: ${{ needs.openvino_download.outputs.ov_artifact_name }} | |
| path: ${{ env.INSTALL_DIR }} | |
| merge-multiple: true | |
| # | |
| # Build | |
| # | |
| - name: Build tokenizers Wheel | |
| run: | | |
| python${{ env.PYTHON_VERSION }} -m pip wheel -v --no-deps --wheel-dir ${BUILD_DIR} \ | |
| --config-settings='override=wheel.build_tag="${{ github.run_number }}"' \ | |
| ${{ needs.openvino_download.outputs.ov_wheel_source }} \ | |
| ${OPENVINO_TOKENIZERS_REPO} | |
| working-directory: ${{ env.INSTALL_DIR }} | |
| env: | |
| CMAKE_GENERATOR: 'Unix Makefiles' | |
| OpenVINODeveloperPackage_DIR: ${{ env.INSTALL_DIR }}/developer_package/cmake | |
| # | |
| # Upload build artifacts | |
| # | |
| - name: Upload openvino tokenizers wheel | |
| if: ${{ always() }} | |
| uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 | |
| with: | |
| name: openvino_tokenizers_wheel | |
| path: ${{ env.BUILD_DIR }}/*.whl | |
| if-no-files-found: 'error' | |
| store_artifacts: | |
| name: Store build artifacts | |
| strategy: | |
| matrix: | |
| build_type: [Release] | |
| needs: [openvino_download, openvino_tokenizers_wheel, openvino_tokenizers_cpack] | |
| timeout-minutes: 10 | |
| defaults: | |
| run: | |
| shell: bash | |
| runs-on: aks-linux-medium | |
| container: | |
| image: openvinogithubactions.azurecr.io/library/python:3.12-slim | |
| volumes: | |
| - /mount:/mount | |
| - ${{ github.workspace }}:${{ github.workspace }} | |
| env: | |
| CPACK_PACKAGE: ${{ github.workspace }}/ov_tokenizers.tar.gz | |
| WHEEL_PACKAGE: ${{ github.workspace }}/wheels | |
| MANIFEST_PATH: ${{ github.workspace }}/manifest.yml | |
| steps: | |
| - name: Download tokenizers package & manifest | |
| uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 | |
| with: | |
| pattern: "{openvino_tokenizers_cpack_${{ matrix.build_type }},manifest_${{ matrix.build_type }}}" | |
| path: ${{ github.workspace }} | |
| merge-multiple: true | |
| - name: Download tokenizers wheels | |
| uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 | |
| with: | |
| name: openvino_tokenizers_wheel | |
| path: ${{ env.WHEEL_PACKAGE }} | |
| - name: Store ${{ matrix.build_type }} 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.BASE_PRODUCT_TYPE }}_${{ matrix.build_type }} | |
| storage_root: ${{ env.ARTIFACTS_SHARE }} | |
| product_name: ${{ github.event.repository.name }} | |
| Overall_Status: | |
| name: ci/gha_overall_status_manylinux_2_28 | |
| needs: [openvino_download, openvino_tokenizers_cpack, store_artifacts, openvino_tokenizers_wheel] | |
| if: ${{ always() }} | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Check status of all jobs | |
| if: >- | |
| ${{ | |
| contains(needs.*.result, 'failure') || | |
| contains(needs.*.result, 'cancelled') | |
| }} | |
| run: exit 1 |