diff --git a/.github/workflows/build-test-all.yml b/.github/workflows/build-test-all.yml new file mode 100644 index 0000000000..892ef9f24d --- /dev/null +++ b/.github/workflows/build-test-all.yml @@ -0,0 +1,72 @@ +name: Lan test workflow main + +on: + pull_request: + push: + branches: + - main + - nightly + - release/* + tags: + # NOTE: Binary build pipelines should only get triggered on release candidate builds + # Release candidate tags look like: v1.11.0-rc1 + - v[0-9]+.[0-9]+.[0-9]+-rc[0-9]+ + workflow_dispatch: + +permissions: + id-token: write + contents: read + packages: write + +jobs: + trigger-fail-fast-test: + strategy: + fail-fast: false + permissions: + id-token: write + contents: read + packages: write + uses: ./.github/workflows/build-test-linux-x86_64.yml + with: + run-fail-fast-test-set: true + + trigger-linux-test: + needs: [trigger-fail-fast-test] + strategy: + fail-fast: false + name: build-test on linux-x86_64 + permissions: + id-token: write + contents: read + packages: write + uses: ./.github/workflows/build-test-linux-x86_64.yml + with: + run-fail-fast-test-set: false + job-name: trigger-linux-test + + trigger-windows-test: + needs: [trigger-fail-fast-test] + strategy: + fail-fast: false + name: build-test on windows + permissions: + id-token: write + contents: read + packages: write + uses: ./.github/workflows/build-test-windows.yml + with: + job-name: trigger-windows-test + + wait-all-jobs: + needs: [trigger-linux-test, trigger-windows-test] + runs-on: ubuntu-latest + strategy: + fail-fast: false + steps: + - name: Wait for all jobs to complete + run: | + echo "Waiting for all jobs to complete..." + +concurrency: + group: ${{ github.workflow }}-all-${{ github.event.pull_request.number || github.ref_name }}-${{ inputs.repository }}-${{ github.event_name == 'workflow_dispatch' }}-${{ inputs.job-name }} + cancel-in-progress: true \ No newline at end of file diff --git a/.github/workflows/build-test-linux-aarch64-jetpack.yml b/.github/workflows/build-test-linux-aarch64-jetpack.yml index 29b6fea881..8dac98f731 100644 --- a/.github/workflows/build-test-linux-aarch64-jetpack.yml +++ b/.github/workflows/build-test-linux-aarch64-jetpack.yml @@ -19,7 +19,7 @@ on: jobs: generate-matrix: - if: ${{ github.event.workflow_run.conclusion == 'success' }} + #if: ${{ github.event.workflow_run.conclusion == 'success' }} uses: pytorch/test-infra/.github/workflows/generate_binary_build_matrix.yml@main with: package-type: wheel @@ -46,7 +46,8 @@ jobs: env: LIMIT_PR_BUILDS: ${{ github.event_name == 'pull_request' && !contains(github.event.pull_request.labels.*.name, 'ciflow/binaries/all') }} run: | - set -eou pipefail + set -x + echo '${{ github.event.workflow_run.conclusion }}' echo "LIMIT_PR_BUILDS=${LIMIT_PR_BUILDS}" echo '${{ github.event_name }}' echo '${{ github.event.ref}}' diff --git a/.github/workflows/build-test-linux-aarch64.yml b/.github/workflows/build-test-linux-aarch64.yml index 4ffbe31b66..e58af13ae7 100644 --- a/.github/workflows/build-test-linux-aarch64.yml +++ b/.github/workflows/build-test-linux-aarch64.yml @@ -2,10 +2,6 @@ name: Build and test Linux aarch64 wheels on: #pull_request: - workflow_run: - workflows: ["Build and test Linux x86_64 wheels"] - types: - - completed push: branches: - main diff --git a/.github/workflows/build-test-linux-x86_64.yml b/.github/workflows/build-test-linux-x86_64.yml index b04dce73a2..6c6186a013 100644 --- a/.github/workflows/build-test-linux-x86_64.yml +++ b/.github/workflows/build-test-linux-x86_64.yml @@ -1,7 +1,19 @@ -name: Build and test Linux x86_64 wheels +name: Lan test workflow x86_64 wheels on: - pull_request: + #pull_request: + workflow_call: + inputs: + run-fail-fast-test-set: + description: "Fail fast test set flag" + required: false + type: boolean + default: false + job-name: + description: "Job name" + required: false + type: string + default: "build-test-linux-x86_64" push: branches: - main @@ -14,7 +26,7 @@ on: workflow_dispatch: jobs: - generate-matrix: + generate-linux-x86_64-matrix: uses: pytorch/test-infra/.github/workflows/generate_binary_build_matrix.yml@main with: package-type: wheel @@ -25,7 +37,7 @@ jobs: with-cpu: false filter-matrix: - needs: [generate-matrix] + needs: [generate-linux-x86_64-matrix] outputs: matrix: ${{ steps.generate.outputs.matrix }} runs-on: ubuntu-latest @@ -40,9 +52,10 @@ jobs: id: generate run: | set -eou pipefail - MATRIX_BLOB=${{ toJSON(needs.generate-matrix.outputs.matrix) }} + MATRIX_BLOB=${{ toJSON(needs.generate-linux-x86_64-matrix.outputs.matrix) }} MATRIX_BLOB="$(python3 .github/scripts/filter-matrix.py --matrix "${MATRIX_BLOB}")" echo "${MATRIX_BLOB}" + echo "${{ github.workflow }}-linux-x86_64-${{ github.event.pull_request.number || github.ref_name }}-${{ inputs.repository }}-${{ github.event_name == 'workflow_dispatch' }}-${{ inputs.job-name }}" echo "matrix=${MATRIX_BLOB}" >> "${GITHUB_OUTPUT}" build: @@ -77,6 +90,7 @@ jobs: tests-py-fail-fast: name: Test fail fast [Python] + if: ${{ inputs.run-fail-fast-test-set == true }} needs: [filter-matrix, build] strategy: fail-fast: false @@ -97,40 +111,42 @@ jobs: build-matrix: ${{ needs.filter-matrix.outputs.matrix }} pre-script: ${{ matrix.pre-script }} script: | - export USE_HOST_DEPS=1 - export CI_BUILD=1 - export LD_LIBRARY_PATH=/usr/lib64:$LD_LIBRARY_PATH - pushd . - python -m pip install -r tests/py/requirements.txt - cov_param="--cov=torch_tensorrt --cov-report= --cov-config=pyproject.toml" + echo "test" + # export USE_HOST_DEPS=1 + # export CI_BUILD=1 + # export LD_LIBRARY_PATH=/usr/lib64:$LD_LIBRARY_PATH + # pushd . + # python -m pip install -r tests/py/requirements.txt + # cov_param="--cov=torch_tensorrt --cov-report= --cov-config=pyproject.toml" - # test dynamo backend - python -m pytest -m critical ${cov_param} -n 4 tests/py/dynamo/backend/ + # # test dynamo backend + # python -m pytest -m critical ${cov_param} -n 4 tests/py/dynamo/backend/ - # test dynamo models - python -m pytest -m critical ${cov_param} -ra --cov-append --ir dynamo tests/py/dynamo/models/ + # # test dynamo models + # python -m pytest -m critical ${cov_param} -ra --cov-append --ir dynamo tests/py/dynamo/models/ - # test dynamo automatic plugin - python -m pytest -m critical ${cov_param} --cov-append tests/py/dynamo/automatic_plugin/ + # # test dynamo automatic plugin + # python -m pytest -m critical ${cov_param} --cov-append tests/py/dynamo/automatic_plugin/ - # test dynamo partitioning - python -m pytest -m critical ${cov_param} --cov-append tests/py/dynamo/partitioning/ + # # test dynamo partitioning + # python -m pytest -m critical ${cov_param} --cov-append tests/py/dynamo/partitioning/ - # test dynamo lowering - python -m pytest -m critical ${cov_param} --cov-append tests/py/dynamo/lowering/ + # # test dynamo lowering + # python -m pytest -m critical ${cov_param} --cov-append tests/py/dynamo/lowering/ - # test dynamo runtime - python -m pytest ${cov_param} --cov-append tests/py/dynamo/runtime/test_000_* - python -m pytest -m critical ${cov_param} --cov-append --ignore tests/py/dynamo/runtime/test_000_* tests/py/dynamo/runtime/ + # # test dynamo runtime + # python -m pytest ${cov_param} --cov-append tests/py/dynamo/runtime/test_000_* + # python -m pytest -m critical ${cov_param} --cov-append --ignore tests/py/dynamo/runtime/test_000_* tests/py/dynamo/runtime/ - # test core - python -m pytest -m critical ${cov_param} --cov-append tests/py/core/ + # # test core + # python -m pytest -m critical ${cov_param} --cov-append tests/py/core/ - coverage report --fail-under=20 + # coverage report --fail-under=20 tests-py-torchscript-fe: name: Test torchscript frontend [Python] - needs: [filter-matrix, build, tests-py-fail-fast] + needs: [filter-matrix, build] + if: ${{ inputs.run-fail-fast-test-set == false }} strategy: fail-fast: false matrix: @@ -150,19 +166,20 @@ jobs: build-matrix: ${{ needs.filter-matrix.outputs.matrix }} pre-script: ${{ matrix.pre-script }} script: | - export USE_HOST_DEPS=1 - export CI_BUILD=1 - export LD_LIBRARY_PATH=/usr/lib64:$LD_LIBRARY_PATH - pushd . - cd tests/modules - python hub.py - popd - pushd . - cd tests/py/ts - python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/ts_api_test_results.xml api/ - python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/ts_models_test_results.xml models/ - python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/ts_integrations_test_results.xml integrations/ - popd + echo "test" + # export USE_HOST_DEPS=1 + # export CI_BUILD=1 + # export LD_LIBRARY_PATH=/usr/lib64:$LD_LIBRARY_PATH + # pushd . + # cd tests/modules + # python hub.py + # popd + # pushd . + # cd tests/py/ts + # python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/ts_api_test_results.xml api/ + # python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/ts_models_test_results.xml models/ + # python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/ts_integrations_test_results.xml integrations/ + # popd tests-py-dynamo-converters: name: Test dynamo converters [Python] @@ -186,17 +203,18 @@ jobs: build-matrix: ${{ needs.filter-matrix.outputs.matrix }} pre-script: ${{ matrix.pre-script }} script: | - export USE_HOST_DEPS=1 - export CI_BUILD=1 - pushd . - cd tests/py - python -m pip install -r requirements.txt - cd dynamo - python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/dynamo_converters_test_results.xml -n 4 conversion/ - python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/dynamo_converters_test_results.xml automatic_plugin/test_automatic_plugin.py - python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/dynamo_converters_test_results.xml automatic_plugin/test_automatic_plugin_with_attrs.py - python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/dynamo_converters_test_results.xml automatic_plugin/test_flashinfer_rmsnorm.py - popd + echo "test" + # export USE_HOST_DEPS=1 + # export CI_BUILD=1 + # pushd . + # cd tests/py + # python -m pip install -r requirements.txt + # cd dynamo + # python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/dynamo_converters_test_results.xml -n 4 conversion/ + # python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/dynamo_converters_test_results.xml automatic_plugin/test_automatic_plugin.py + # python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/dynamo_converters_test_results.xml automatic_plugin/test_automatic_plugin_with_attrs.py + # python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/dynamo_converters_test_results.xml automatic_plugin/test_flashinfer_rmsnorm.py + # popd tests-py-dynamo-fe: name: Test dynamo frontend [Python] @@ -220,14 +238,15 @@ jobs: build-matrix: ${{ needs.filter-matrix.outputs.matrix }} pre-script: ${{ matrix.pre-script }} script: | - export USE_HOST_DEPS=1 - export CI_BUILD=1 - pushd . - cd tests/py - python -m pip install -r requirements.txt - cd dynamo - python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/dyn_models_export.xml --ir dynamo models/ - popd + echo "test" + # export USE_HOST_DEPS=1 + # export CI_BUILD=1 + # pushd . + # cd tests/py + # python -m pip install -r requirements.txt + # cd dynamo + # python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/dyn_models_export.xml --ir dynamo models/ + # popd tests-py-dynamo-serde: name: Test dynamo export serde [Python] @@ -251,15 +270,16 @@ jobs: build-matrix: ${{ needs.filter-matrix.outputs.matrix }} pre-script: ${{ matrix.pre-script }} script: | - export USE_HOST_DEPS=1 - export CI_BUILD=1 - pushd . - cd tests/py - python -m pip install -r requirements.txt - cd dynamo - python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/export_serde_test_results.xml --ir dynamo models/test_export_serde.py - python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/reexport_test_results.xml --ir dynamo models/test_reexport.py - popd + echo "test" + # export USE_HOST_DEPS=1 + # export CI_BUILD=1 + # pushd . + # cd tests/py + # python -m pip install -r requirements.txt + # cd dynamo + # python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/export_serde_test_results.xml --ir dynamo models/test_export_serde.py + # python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/reexport_test_results.xml --ir dynamo models/test_reexport.py + # popd tests-py-torch-compile-be: name: Test torch compile backend [Python] @@ -283,16 +303,17 @@ jobs: build-matrix: ${{ needs.filter-matrix.outputs.matrix }} pre-script: ${{ matrix.pre-script }} script: | - export USE_HOST_DEPS=1 - export CI_BUILD=1 - pushd . - cd tests/py - python -m pip install -r requirements.txt - cd dynamo - python -m pytest -ra -n 10 --junitxml=${RUNNER_TEST_RESULTS_DIR}/torch_compile_be_test_results.xml backend/ - python -m pytest -ra -n 4 --junitxml=${RUNNER_TEST_RESULTS_DIR}/torch_complete_be_e2e_test_results.xml --ir torch_compile models/test_models.py - python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/torch_compile_dyn_models_export.xml --ir torch_compile models/test_dyn_models.py - popd + echo "test" + # export USE_HOST_DEPS=1 + # export CI_BUILD=1 + # pushd . + # cd tests/py + # python -m pip install -r requirements.txt + # cd dynamo + # python -m pytest -ra -n 10 --junitxml=${RUNNER_TEST_RESULTS_DIR}/torch_compile_be_test_results.xml backend/ + # python -m pytest -ra -n 4 --junitxml=${RUNNER_TEST_RESULTS_DIR}/torch_complete_be_e2e_test_results.xml --ir torch_compile models/test_models.py + # python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/torch_compile_dyn_models_export.xml --ir torch_compile models/test_dyn_models.py + # popd tests-py-dynamo-core: name: Test dynamo core [Python] @@ -316,16 +337,17 @@ jobs: build-matrix: ${{ needs.filter-matrix.outputs.matrix }} pre-script: ${{ matrix.pre-script }} script: | - export USE_HOST_DEPS=1 - export CI_BUILD=1 - pushd . - cd tests/py - python -m pip install -r requirements.txt - cd dynamo - python -m pytest -ra -n 4 --junitxml=${RUNNER_TEST_RESULTS_DIR}/tests_py_dynamo_core_runtime_test_results.xml --ignore runtime/test_002_cudagraphs_py.py --ignore runtime/test_002_cudagraphs_cpp.py runtime/ - python -m pytest -ra -n 4 --junitxml=${RUNNER_TEST_RESULTS_DIR}/tests_py_dynamo_core_partitioning_test_results.xml partitioning/ - python -m pytest -ra -n 4 --junitxml=${RUNNER_TEST_RESULTS_DIR}/tests_py_dynamo_core_lowering_test_results.xml lowering/ - popd + echo "test" + # export USE_HOST_DEPS=1 + # export CI_BUILD=1 + # pushd . + # cd tests/py + # python -m pip install -r requirements.txt + # cd dynamo + # python -m pytest -ra -n 4 --junitxml=${RUNNER_TEST_RESULTS_DIR}/tests_py_dynamo_core_runtime_test_results.xml --ignore runtime/test_002_cudagraphs_py.py --ignore runtime/test_002_cudagraphs_cpp.py runtime/ + # python -m pytest -ra -n 4 --junitxml=${RUNNER_TEST_RESULTS_DIR}/tests_py_dynamo_core_partitioning_test_results.xml partitioning/ + # python -m pytest -ra -n 4 --junitxml=${RUNNER_TEST_RESULTS_DIR}/tests_py_dynamo_core_lowering_test_results.xml lowering/ + # popd tests-py-dynamo-cudagraphs: name: Test dynamo cudagraphs [Python] @@ -349,16 +371,17 @@ jobs: build-matrix: ${{ needs.filter-matrix.outputs.matrix }} pre-script: ${{ matrix.pre-script }} script: | - export USE_HOST_DEPS=1 - export CI_BUILD=1 - pushd . - cd tests/py - python -m pip install -r requirements.txt - cd dynamo - nvidia-smi - python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/tests_py_dynamo_core_runtime_cudagraphs_cpp_test_results.xml runtime/test_002_cudagraphs_cpp.py || true - python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/tests_py_dynamo_core_runtime_cudagraphs_py_test_results.xml runtime/test_002_cudagraphs_py.py || true - popd + echo "test" + # export USE_HOST_DEPS=1 + # export CI_BUILD=1 + # pushd . + # cd tests/py + # python -m pip install -r requirements.txt + # cd dynamo + # nvidia-smi + # python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/tests_py_dynamo_core_runtime_cudagraphs_cpp_test_results.xml runtime/test_002_cudagraphs_cpp.py || true + # python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/tests_py_dynamo_core_runtime_cudagraphs_py_test_results.xml runtime/test_002_cudagraphs_py.py || true + # popd tests-py-core: name: Test core [Python] @@ -382,13 +405,14 @@ jobs: build-matrix: ${{ needs.filter-matrix.outputs.matrix }} pre-script: ${{ matrix.pre-script }} script: | - export USE_HOST_DEPS=1 - export CI_BUILD=1 - pushd . - cd tests/py/core - python -m pytest -ra -n 4 --junitxml=${RUNNER_TEST_RESULTS_DIR}/tests_py_core_test_results.xml . - popd + echo "test" + # export USE_HOST_DEPS=1 + # export CI_BUILD=1 + # pushd . + # cd tests/py/core + # python -m pytest -ra -n 4 --junitxml=${RUNNER_TEST_RESULTS_DIR}/tests_py_core_test_results.xml . + # popd concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref_name }}-${{ inputs.repository }}-${{ github.event_name == 'workflow_dispatch' }}-${{ inputs.job-name }} + group: ${{ github.workflow }}-linux-x86_64-${{ github.event.pull_request.number || github.ref_name }}-${{ inputs.repository }}-${{ github.event_name == 'workflow_dispatch' }}-${{ inputs.job-name }} cancel-in-progress: true diff --git a/.github/workflows/build-test-windows.yml b/.github/workflows/build-test-windows.yml index b7cb143a50..4496e04208 100644 --- a/.github/workflows/build-test-windows.yml +++ b/.github/workflows/build-test-windows.yml @@ -1,11 +1,14 @@ -name: Build and test Windows wheels +name: Lan test Windows wheels on: #pull_request: - workflow_run: - workflows: ["Build and test Linux x86_64 wheels"] - types: - - completed + workflow_call: + inputs: + job-name: + description: "Job name" + required: false + type: string + default: "build-test-windows" push: branches: - main @@ -18,8 +21,8 @@ on: workflow_dispatch: jobs: - generate-matrix: - if: ${{ github.event.workflow_run.conclusion == 'success' }} + generate-windows-matrix: + name: generate-windows-matrix uses: pytorch/test-infra/.github/workflows/generate_binary_build_matrix.yml@main with: package-type: wheel @@ -30,7 +33,7 @@ jobs: with-cpu: false filter-matrix: - needs: [generate-matrix] + needs: [generate-windows-matrix] outputs: matrix: ${{ steps.generate.outputs.matrix }} runs-on: ubuntu-latest @@ -45,7 +48,8 @@ jobs: id: generate run: | set -eou pipefail - MATRIX_BLOB=${{ toJSON(needs.generate-matrix.outputs.matrix) }} + echo "${{ github.workflow }}-windows-${{ github.event.pull_request.number || github.ref_name }}-${{ inputs.repository }}-${{ github.event_name == 'workflow_dispatch' }}-${{ inputs.job-name }}" + MATRIX_BLOB=${{ toJSON(needs.generate-windows-matrix.outputs.matrix) }} MATRIX_BLOB="$(python3 .github/scripts/filter-matrix.py --matrix "${MATRIX_BLOB}")" echo "${MATRIX_BLOB}" echo "matrix=${MATRIX_BLOB}" >> "${GITHUB_OUTPUT}" @@ -109,18 +113,19 @@ jobs: build-matrix: ${{ needs.substitute-runner.outputs.matrix }} pre-script: packaging/driver_upgrade.bat script: | - export USE_HOST_DEPS=1 - export CI_BUILD=1 - pushd . - cd tests/modules - python hub.py - popd - pushd . - cd tests/py/ts - python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/ts_api_test_results.xml api/ - python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/ts_models_test_results.xml models/ - python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/ts_integrations_test_results.xml integrations/ - popd + echo "test" + # export USE_HOST_DEPS=1 + # export CI_BUILD=1 + # pushd . + # cd tests/modules + # python hub.py + # popd + # pushd . + # cd tests/py/ts + # python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/ts_api_test_results.xml api/ + # python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/ts_models_test_results.xml models/ + # python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/ts_integrations_test_results.xml integrations/ + # popd tests-py-dynamo-converters: name: Test dynamo converters [Python] @@ -141,14 +146,15 @@ jobs: build-matrix: ${{ needs.substitute-runner.outputs.matrix }} pre-script: packaging/driver_upgrade.bat script: | - export USE_HOST_DEPS=1 - export CI_BUILD=1 - pushd . - cd tests/py - python -m pip install -r requirements.txt - cd dynamo - python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/dynamo_converters_test_results.xml -n 4 conversion/ - popd + echo "test" + # export USE_HOST_DEPS=1 + # export CI_BUILD=1 + # pushd . + # cd tests/py + # python -m pip install -r requirements.txt + # cd dynamo + # python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/dynamo_converters_test_results.xml -n 4 conversion/ + # popd tests-py-dynamo-fe: name: Test dynamo frontend [Python] @@ -169,14 +175,15 @@ jobs: build-matrix: ${{ needs.substitute-runner.outputs.matrix }} pre-script: packaging/driver_upgrade.bat script: | - export USE_HOST_DEPS=1 - export CI_BUILD=1 - pushd . - cd tests/py - python -m pip install -r requirements.txt - cd dynamo - python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/dyn_models_export.xml --ir dynamo models/ - popd + echo "test" + # export USE_HOST_DEPS=1 + # export CI_BUILD=1 + # pushd . + # cd tests/py + # python -m pip install -r requirements.txt + # cd dynamo + # python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/dyn_models_export.xml --ir dynamo models/ + # popd tests-py-dynamo-serde: name: Test dynamo export serde [Python] @@ -197,15 +204,16 @@ jobs: build-matrix: ${{ needs.substitute-runner.outputs.matrix }} pre-script: packaging/driver_upgrade.bat script: | - export USE_HOST_DEPS=1 - export CI_BUILD=1 - pushd . - cd tests/py - python -m pip install -r requirements.txt - cd dynamo - python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/export_serde_test_results.xml --ir dynamo models/test_export_serde.py - python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/reexport_test_results.xml --ir dynamo models/test_reexport.py - popd + echo "test" + # export USE_HOST_DEPS=1 + # export CI_BUILD=1 + # pushd . + # cd tests/py + # python -m pip install -r requirements.txt + # cd dynamo + # python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/export_serde_test_results.xml --ir dynamo models/test_export_serde.py + # python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/reexport_test_results.xml --ir dynamo models/test_reexport.py + # popd tests-py-torch-compile-be: name: Test torch compile backend [Python] @@ -226,16 +234,17 @@ jobs: build-matrix: ${{ needs.substitute-runner.outputs.matrix }} pre-script: packaging/driver_upgrade.bat script: | - export USE_HOST_DEPS=1 - export CI_BUILD=1 - pushd . - cd tests/py - python -m pip install -r requirements.txt - cd dynamo - python -m pytest -ra -n 10 --junitxml=${RUNNER_TEST_RESULTS_DIR}/torch_compile_be_test_results.xml backend/ - python -m pytest -ra -n 4 --junitxml=${RUNNER_TEST_RESULTS_DIR}/torch_complete_be_e2e_test_results.xml --ir torch_compile models/test_models.py - python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/torch_compile_dyn_models_export.xml --ir torch_compile models/test_dyn_models.py - popd + echo "test" + # export USE_HOST_DEPS=1 + # export CI_BUILD=1 + # pushd . + # cd tests/py + # python -m pip install -r requirements.txt + # cd dynamo + # python -m pytest -ra -n 10 --junitxml=${RUNNER_TEST_RESULTS_DIR}/torch_compile_be_test_results.xml backend/ + # python -m pytest -ra -n 4 --junitxml=${RUNNER_TEST_RESULTS_DIR}/torch_complete_be_e2e_test_results.xml --ir torch_compile models/test_models.py + # python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/torch_compile_dyn_models_export.xml --ir torch_compile models/test_dyn_models.py + # popd tests-py-dynamo-core: name: Test dynamo core [Python] @@ -256,16 +265,17 @@ jobs: build-matrix: ${{ needs.substitute-runner.outputs.matrix }} pre-script: packaging/driver_upgrade.bat script: | - export USE_HOST_DEPS=1 - export CI_BUILD=1 - pushd . - cd tests/py - python -m pip install -r requirements.txt - cd dynamo - python -m pytest -ra -n 4 --junitxml=${RUNNER_TEST_RESULTS_DIR}/tests_py_dynamo_core_runtime_test_results.xml --ignore runtime/test_002_cudagraphs_py.py --ignore runtime/test_002_cudagraphs_cpp.py runtime/ - python -m pytest -ra -n 4 --junitxml=${RUNNER_TEST_RESULTS_DIR}/tests_py_dynamo_core_partitioning_test_results.xml partitioning/ - python -m pytest -ra -n 4 --junitxml=${RUNNER_TEST_RESULTS_DIR}/tests_py_dynamo_core_lowering_test_results.xml lowering/ - popd + echo "test" + # export USE_HOST_DEPS=1 + # export CI_BUILD=1 + # pushd . + # cd tests/py + # python -m pip install -r requirements.txt + # cd dynamo + # python -m pytest -ra -n 4 --junitxml=${RUNNER_TEST_RESULTS_DIR}/tests_py_dynamo_core_runtime_test_results.xml --ignore runtime/test_002_cudagraphs_py.py --ignore runtime/test_002_cudagraphs_cpp.py runtime/ + # python -m pytest -ra -n 4 --junitxml=${RUNNER_TEST_RESULTS_DIR}/tests_py_dynamo_core_partitioning_test_results.xml partitioning/ + # python -m pytest -ra -n 4 --junitxml=${RUNNER_TEST_RESULTS_DIR}/tests_py_dynamo_core_lowering_test_results.xml lowering/ + # popd tests-py-dynamo-cudagraphs: name: Test dynamo cudagraphs [Python] @@ -286,15 +296,16 @@ jobs: build-matrix: ${{ needs.substitute-runner.outputs.matrix }} pre-script: packaging/driver_upgrade.bat script: | - export USE_HOST_DEPS=1 - export CI_BUILD=1 - pushd . - cd tests/py - python -m pip install -r requirements.txt - cd dynamo - python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/tests_py_dynamo_core_runtime_cudagraphs_cpp_test_results.xml runtime/test_002_cudagraphs_cpp.py - python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/tests_py_dynamo_core_runtime_cudagraphs_py_test_results.xml runtime/test_002_cudagraphs_py.py - popd + echo "test" + # export USE_HOST_DEPS=1 + # export CI_BUILD=1 + # pushd . + # cd tests/py + # python -m pip install -r requirements.txt + # cd dynamo + # python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/tests_py_dynamo_core_runtime_cudagraphs_cpp_test_results.xml runtime/test_002_cudagraphs_cpp.py + # python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/tests_py_dynamo_core_runtime_cudagraphs_py_test_results.xml runtime/test_002_cudagraphs_py.py + # popd tests-py-core: name: Test core [Python] @@ -315,13 +326,14 @@ jobs: build-matrix: ${{ needs.substitute-runner.outputs.matrix }} pre-script: packaging/driver_upgrade.bat script: | - export USE_HOST_DEPS=1 - export CI_BUILD=1 - pushd . - cd tests/py/core - python -m pytest -ra -n 4 --junitxml=${RUNNER_TEST_RESULTS_DIR}/tests_py_core_test_results.xml . - popd + echo "test" + # export USE_HOST_DEPS=1 + # export CI_BUILD=1 + # pushd . + # cd tests/py/core + # python -m pytest -ra -n 4 --junitxml=${RUNNER_TEST_RESULTS_DIR}/tests_py_core_test_results.xml . + # popd concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref_name }}-${{ inputs.repository }}-${{ github.event_name == 'workflow_dispatch' }}-${{ inputs.job-name }} + group: ${{ github.workflow }}-windows-${{ github.event.pull_request.number || github.ref_name }}-${{ inputs.repository }}-${{ github.event_name == 'workflow_dispatch' }}-${{ inputs.job-name }} cancel-in-progress: true diff --git a/.github/workflows/test_a.yml b/.github/workflows/test_a.yml new file mode 100644 index 0000000000..53eea80af3 --- /dev/null +++ b/.github/workflows/test_a.yml @@ -0,0 +1,34 @@ +name: Lan test a + +on: + #pull_request: + +jobs: + pre-test: + runs-on: ubuntu-latest + steps: + - name: Pre-test + run: | + echo "Pre-test" + echo "${{ github.workflow }}-a-${{ github.event.pull_request.number || github.ref_name }}-${{ inputs.repository }}-${{ github.event_name == 'workflow_dispatch' }}-${{ inputs.job-name }}" + + call-linux-x86_64: + needs: pre-test + uses: ./.github/workflows/test_b.yml + + call-windows: + needs: pre-test + uses: ./.github/workflows/test_c.yml + + wait-all-jobs: + needs: [call-linux-x86_64, call-windows] + runs-on: ubuntu-latest + steps: + - name: Wait for all jobs to complete + run: | + echo "Waiting for all jobs to complete... ${{ github.workflow }} " + +concurrency: + group: ${{ github.workflow }}-a-${{ github.event.pull_request.number || github.ref_name }}-${{ inputs.repository }}-${{ github.event_name == 'workflow_dispatch' }}-${{ inputs.job-name }} + cancel-in-progress: true + diff --git a/.github/workflows/test_b.yml b/.github/workflows/test_b.yml new file mode 100644 index 0000000000..b0e6b89299 --- /dev/null +++ b/.github/workflows/test_b.yml @@ -0,0 +1,16 @@ +name: Lan test b + +on: + workflow_call: + +jobs: + test: + runs-on: ubuntu-latest + steps: + - name: Test b + run: | + echo "Test b ${{ github.workflow }}" + +concurrency: + group: ${{ github.workflow }}-b-${{ github.event.pull_request.number || github.ref_name }}-${{ inputs.repository }}-${{ github.event_name == 'workflow_dispatch' }}-${{ inputs.job-name }} + cancel-in-progress: true \ No newline at end of file diff --git a/.github/workflows/test_c.yml b/.github/workflows/test_c.yml new file mode 100644 index 0000000000..27998b2ebf --- /dev/null +++ b/.github/workflows/test_c.yml @@ -0,0 +1,21 @@ +name: Lan test c + +on: + workflow_call: + inputs: + job-name: + required: false + type: string + default: "test-c" + +jobs: + test: + runs-on: ubuntu-latest + steps: + - name: Test c + run: | + echo "Test c ${{ github.workflow }} " + +concurrency: + group: ${{ github.workflow }}-c-${{ github.event.pull_request.number || github.ref_name }}-${{ inputs.repository }}-${{ github.event_name == 'workflow_dispatch' }}-${{ inputs.job-name }} + cancel-in-progress: true diff --git a/.github/workflows/test_d.yml b/.github/workflows/test_d.yml new file mode 100644 index 0000000000..ddb2e5137a --- /dev/null +++ b/.github/workflows/test_d.yml @@ -0,0 +1,20 @@ +name: Lan test d + +on: + workflow_run: + workflows: ["Lan test a"] + types: + - completed + +jobs: + test: + runs-on: ubuntu-latest + steps: + - name: Test c + run: | + echo "Test c ${{ github.workflow }} " + echo "Test a github.event.workflow_run.conclusion ${{ github.event.workflow_run.conclusion }}" + +concurrency: + group: ${{ github.workflow }}-c-${{ github.event.pull_request.number || github.ref_name }}-${{ inputs.repository }}-${{ github.event_name == 'workflow_dispatch' }}-${{ inputs.job-name }} + cancel-in-progress: true