[Core][Ref] PagedAttention reference implementation #81559
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: Webassembly | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| target-branch: | |
| description: 'Target branch for the build; taken from event context by default' | |
| type: string | |
| required: false | |
| pull_request: | |
| types: | |
| - opened | |
| - synchronize | |
| - reopened | |
| - ready_for_review | |
| merge_group: | |
| push: | |
| branches: | |
| # - master | |
| - 'releases/**' | |
| concurrency: | |
| # github.ref is not unique in post-commit | |
| group: ${{ github.event_name == 'push' && github.run_id || github.ref }}-webassembly | |
| cancel-in-progress: true | |
| permissions: read-all | |
| jobs: | |
| Smart_CI: | |
| runs-on: ubuntu-latest | |
| if: github.event.pull_request.draft == false || github.run_attempt > 1 | |
| outputs: | |
| affected_components: "${{ steps.smart_ci.outputs.affected_components }}" | |
| changed_components: "${{ steps.smart_ci.outputs.changed_components }}" | |
| skip_workflow: "${{ steps.smart_ci.outputs.skip_workflow }}" | |
| steps: | |
| - name: checkout action | |
| uses: ababushk/checkout@9bec46a94a83db82acd4303e7627d88db71402a5 # cherry_pick_retries | |
| timeout-minutes: 15 | |
| with: | |
| sparse-checkout: .github/actions/smart-ci | |
| - name: Get affected components | |
| id: smart_ci | |
| uses: ./.github/actions/smart-ci | |
| with: | |
| repository: ${{ github.repository }} | |
| pr: ${{ github.event.number }} | |
| commit_sha: ${{ github.sha }} | |
| ref_name: ${{ github.ref_name }} | |
| component_pattern: "category: (.*)" | |
| repo_token: ${{ secrets.GITHUB_TOKEN }} | |
| skip_when_only_listed_labels_set: 'docs' | |
| skip_when_only_listed_files_changed: '*.md,*.rst,*.png,*.jpg,*.svg,*/layer_tests_summary/*,*/conformance/*' | |
| - name: Show affected components | |
| run: | | |
| echo "${{ toJSON(steps.smart_ci.outputs.affected_components) }}" | |
| shell: bash | |
| Docker: | |
| needs: Smart_CI | |
| runs-on: aks-linux-4-cores-16gb-docker-build | |
| container: | |
| image: openvinogithubactions.azurecr.io/docker_build:0.2 | |
| volumes: | |
| - /mount:/mount | |
| outputs: | |
| images: "${{ steps.handle_docker.outputs.images && steps.handle_docker.outputs.images || steps.mock_image.outputs.images }}" | |
| steps: | |
| - name: Set mock output images if pipeline should be skipped | |
| if: ${{ needs.smart_ci.outputs.skip_workflow == 'True' }} | |
| id: mock_image | |
| run: echo "images={\"ov_build\":{\"webassembly\":\"mock\"}}" >> "$GITHUB_OUTPUT" | |
| - name: Checkout | |
| if: ${{ needs.smart_ci.outputs.skip_workflow != 'True' }} | |
| uses: ababushk/checkout@9bec46a94a83db82acd4303e7627d88db71402a5 # cherry_pick_retries | |
| timeout-minutes: 15 | |
| - uses: ./.github/actions/handle_docker | |
| if: ${{ needs.smart_ci.outputs.skip_workflow != 'True' }} | |
| id: handle_docker | |
| with: | |
| images: | | |
| ov_build/webassembly | |
| registry: 'openvinogithubactions.azurecr.io' | |
| dockerfiles_root_dir: '.github/dockerfiles' | |
| changed_components: ${{ needs.smart_ci.outputs.changed_components }} | |
| Build: | |
| needs: [Docker, Smart_CI] | |
| if: "!needs.smart_ci.outputs.skip_workflow" | |
| defaults: | |
| run: | |
| shell: bash | |
| runs-on: aks-linux-16-cores-32gb | |
| container: | |
| image: ${{ fromJSON(needs.docker.outputs.images).ov_build.webassembly }} | |
| volumes: | |
| - /mount:/mount | |
| - /home/runner/secrets/:/secrets:ro | |
| options: -e SCCACHE_AZURE_BLOB_CONTAINER | |
| env: | |
| CMAKE_BUILD_TYPE: 'Release' | |
| CMAKE_CXX_COMPILER_LAUNCHER: sccache | |
| CMAKE_C_COMPILER_LAUNCHER: sccache | |
| SCCACHE_IGNORE_SERVER_IO_ERROR: 1 | |
| SCCACHE_SERVER_PORT: 35555 | |
| OPENVINO_REPO: /__w/openvino/openvino/openvino | |
| OPENVINO_BUILD_DIR: /__w/openvino/openvino/openvino_build | |
| SCCACHE_AZURE_KEY_PREFIX: webassembly_Release | |
| steps: | |
| - name: Append the environment variable - load SCCACHE_AZURE_CONNECTION_STRING from file | |
| shell: bash | |
| run: | | |
| SCCACHE_AZURE_CONNECTION_STRING="$(cat /secrets/sccache/connection-string)" | |
| echo "::add-mask::${SCCACHE_AZURE_CONNECTION_STRING}" | |
| echo "SCCACHE_AZURE_CONNECTION_STRING=${SCCACHE_AZURE_CONNECTION_STRING}" >> $GITHUB_ENV | |
| echo "✓ Connection string loaded and masked" | |
| - name: Clone OpenVINO | |
| uses: ababushk/checkout@9bec46a94a83db82acd4303e7627d88db71402a5 # cherry_pick_retries | |
| timeout-minutes: 15 | |
| with: | |
| path: 'openvino' | |
| submodules: 'true' | |
| - name: emcmake cmake - configure | |
| run: | | |
| emcmake cmake \ | |
| -DCMAKE_CXX_FLAGS="-Wno-deprecated-declarations" \ | |
| -DCMAKE_C_FLAGS="-Wno-deprecated-declarations" \ | |
| -DCMAKE_COMPILE_WARNING_AS_ERROR=ON \ | |
| -DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CMAKE_CXX_COMPILER_LAUNCHER }} \ | |
| -DCMAKE_C_COMPILER_LAUNCHER=${{ env.CMAKE_C_COMPILER_LAUNCHER }} \ | |
| -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \ | |
| -DTHREADING=SEQ \ | |
| -S ${OPENVINO_REPO} \ | |
| -B ${OPENVINO_BUILD_DIR} | |
| - name: emmake make - build | |
| run: emmake make -j$(nproc) hello_query_device -C ${OPENVINO_BUILD_DIR} | |
| - name: Show ccache stats | |
| run: ${SCCACHE_PATH} --show-stats | |
| Overall_Status: | |
| name: ci/gha_overall_status_webassembly | |
| needs: [Smart_CI, Build] | |
| 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 |