diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index f44a262cbb..5845f2c7ed 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -1,8 +1,7 @@ name: Build and Test on: - workflow_dispatch: - workflow_call: + push: jobs: @@ -40,377 +39,377 @@ jobs: echo "DOCKER_CI_IMAGE $DOCKER_CI_IMAGE" echo "docker-image=$DOCKER_CI_IMAGE" >> "$GITHUB_OUTPUT" - build-ttmlir: - needs: build-image - timeout-minutes: 120 - strategy: - fail-fast: false - matrix: - build: [ - {runs-on: ubuntu-latest, enable_perf: OFF, name: "run", ttrt_flags: ""}, - {runs-on: ubuntu-latest, enable_perf: ON, name: "perf", ttrt_flags: ""}, - ] - - name: Build tt-mlir - runs-on: ${{ matrix.build.runs-on }} - - container: - image: ${{ needs.build-image.outputs.docker-image }} - - steps: - - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Set reusable strings - id: strings - shell: bash - run: | - echo "work-dir=$(pwd)" >> "$GITHUB_OUTPUT" - echo "build-output-dir=$(pwd)/build" >> "$GITHUB_OUTPUT" - echo "install-output-dir=$(pwd)/install" >> "$GITHUB_OUTPUT" - - - name: Git safe dir - run: git config --global --add safe.directory ${{ steps.strings.outputs.work-dir }} - - - name: ccache - uses: hendrikmuhs/ccache-action@v1.2 - with: - create-symlink: true - key: ${{ matrix.build.runs-on }}-run-ON-perf-${{ matrix.build.enable_perf }}-${{ env.SDK_VERSION }} - - # Build project - - - name: Configure CMake - shell: bash - run: | - source env/activate - cmake -G Ninja \ - -B ${{ steps.strings.outputs.build-output-dir }} \ - -DCMAKE_CXX_COMPILER=clang++-17 \ - -DCMAKE_C_COMPILER=clang-17 \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.install-output-dir }} \ - -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ - -DTTMLIR_ENABLE_RUNTIME=ON \ - -DTTMLIR_ENABLE_RUNTIME_TESTS=ON \ - -DTT_RUNTIME_ENABLE_PERF_TRACE=${{ matrix.build.enable_perf }} \ - -DTTMLIR_ENABLE_STABLEHLO=ON \ - -S ${{ steps.strings.outputs.work-dir }} - - - name: Build - shell: bash - run: | - source env/activate - cmake --build ${{ steps.strings.outputs.build-output-dir }} - cmake --install ${{ steps.strings.outputs.build-output-dir }} --component Test - - # - name: Lint - # shell: bash - # if: matrix.build.enable_perf == 'OFF' - # run: | - # source env/activate - # cmake --build ${{ steps.strings.outputs.build-output-dir }} -- clang-tidy - - - name: Run Test - shell: bash - run: | - source env/activate - cmake --build ${{ steps.strings.outputs.build-output-dir }} -- check-ttmlir - - - name: Upload Test Report - uses: actions/upload-artifact@v4 - with: - name: test-reports-${{ matrix.build.runs-on }}-perf-${{ matrix.build.enable_perf }} - path: build/test/report.xml - - - name: Show Test Report - uses: mikepenz/action-junit-report@v4 - if: success() || failure() - with: - report_paths: build/test/report.xml - check_name: MLIR Tests - - # Build and upload ttrt - - - name: Build ttrt - shell: bash - run: | - source env/activate - cmake --build ${{ steps.strings.outputs.build-output-dir }} -- ttrt - - - name: Upload ttrt whl - uses: actions/upload-artifact@v4 - with: - name: ttrt-whl-${{ matrix.build.name }} - path: build/runtime/tools/python/build/ttrt*.whl - - # This is needed to preserve file permissions - # https://github.com/actions/upload-artifact?tab=readme-ov-file#permission-loss - - name: 'Tar install directory' - shell: bash - working-directory: ${{ steps.strings.outputs.install-output-dir }} - run: tar cvf artifact.tar . - - - name: Upload install folder to archive - uses: actions/upload-artifact@v4 - with: - name: install-artifacts-${{ matrix.build.name }} - path: ${{ steps.strings.outputs.install-output-dir }}/artifact.tar - - - name: Get the latest tag - shell: bash - run: | - latest_tag=$(git describe --tags --abbrev=0) - latest_tag=${latest_tag#v} - echo "latest_tag=$latest_tag" >> $GITHUB_ENV - commit_count=$(git rev-list ${{ env.latest_tag }}..HEAD --count) - echo "commit_count=$commit_count" >> $GITHUB_ENV - version="${{ env.latest_tag }}.${{ env.commit_count }}" - echo "version=$version" >> $GITHUB_ENV - echo $version - - - # Run tests on TT hardware - - run-tests: - - timeout-minutes: 30 - needs: - - build-image - - build-ttmlir - strategy: - fail-fast: false - matrix: - build: [ - {runs-on: n150, enable_perf: OFF, name: "run", ttrt_flags: "--non-zero"}, - {runs-on: n150, enable_perf: ON, name: "perf"}, - {runs-on: n300, enable_perf: OFF, name: "run", ttrt_flags: "--non-zero"}, - {runs-on: n300, enable_perf: ON, name: "perf"}, - ] - - runs-on: - - in-service - - ${{ matrix.build.runs-on }} - - container: - image: ${{ needs.build-image.outputs.docker-image }} - options: --device /dev/tenstorrent/0 - volumes: - - /dev/hugepages:/dev/hugepages - - /dev/hugepages-1G:/dev/hugepages-1G - - /etc/udev/rules.d:/etc/udev/rules.d - - /lib/modules:/lib/modules - - /opt/tt_metal_infra/provisioning/provisioning_env:/opt/tt_metal_infra/provisioning/provisioning_env - - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Set reusable strings - id: strings - shell: bash - run: | - echo "work-dir=$(pwd)" >> "$GITHUB_OUTPUT" - echo "build-output-dir=$(pwd)/build" >> "$GITHUB_OUTPUT" - echo "install-output-dir=$(pwd)/install" >> "$GITHUB_OUTPUT" - - - name: Git safe dir - run: git config --global --add safe.directory ${{ steps.strings.outputs.work-dir }} - - - name: Use build artifacts - uses: actions/download-artifact@v4 - with: - name: install-artifacts-${{ matrix.build.name }} - path: ${{ steps.strings.outputs.install-output-dir }} - - # This is needed to preserve file permissions - # https://github.com/actions/upload-artifact?tab=readme-ov-file#permission-loss - - name: 'Untar install directory' - shell: bash - working-directory: ${{ steps.strings.outputs.install-output-dir }} - run: tar xvf artifact.tar - - - name: Remove existing whls files - shell: bash - run: | - rm -f *.whl - - - name: Download ttrt run whls - uses: actions/download-artifact@v4 - with: - name: ttrt-whl-${{ matrix.build.name }} - - - name: Install ttrt run whls - shell: bash - run: | - source env/activate - pip show ttrt && pip uninstall -y ttrt - pip install ttrt-${{ env.version }}*.whl --force-reinstall - - - name: Generate system descriptor - shell: bash - run: | - source env/activate - ttrt query --save-artifacts - - - name: Generate tests - shell: bash - run: | - source env/activate - export LD_LIBRARY_PATH="${TTMLIR_TOOLCHAIN_DIR}/lib:${LD_LIBRARY_PATH}" - export SYSTEM_DESC_PATH="${GITHUB_WORKSPACE}/ttrt-artifacts/system_desc.ttsys" - ln -sf ${{ steps.strings.outputs.install-output-dir }} ${{ steps.strings.outputs.build-output-dir }} - llvm-lit -sv ${{ steps.strings.outputs.build-output-dir }}/test - - - name: Run functional tests - shell: bash - if: matrix.build.enable_perf == 'OFF' - run: | - source env/activate - ttrt ${{ matrix.build.name }} ${{ matrix.build.ttrt_flags }} ${{ steps.strings.outputs.build-output-dir }}/test/ttmlir/Silicon - - - name: Run perf tests - shell: bash - if: matrix.build.enable_perf == 'ON' - run: | - source env/activate - ttrt ${{ matrix.build.name }} ${{ matrix.build.ttrt_flags }} ${{ steps.strings.outputs.build-output-dir }}/test/ttmlir/Silicon/TTNN/perf_unit - - - name: Upload ttrt test report - if: always() - uses: actions/upload-artifact@v4 - with: - name: ${{ matrix.build.runs-on }}_${{ matrix.build.name }}_results.json - path: ${{ matrix.build.name }}_results.json - - - name: Show Test Report - uses: mikepenz/action-junit-report@v4 - if: success() || failure() - with: - report_paths: ttrt_report.xml - check_name: TTRT ${{ matrix.build.runs-on }} ${{ matrix.build.name }} Tests - - run-ttrt-tests: - - timeout-minutes: 30 - needs: - - build-image - - build-ttmlir - strategy: - fail-fast: false - matrix: - build: [ - {runs-on: n150, enable_perf: ON, name: "perf"}, - ] - - runs-on: - - in-service - - ${{ matrix.build.runs-on }} - - container: - image: ${{ needs.build-image.outputs.docker-image }} - options: --device /dev/tenstorrent/0 - volumes: - - /dev/hugepages:/dev/hugepages - - /dev/hugepages-1G:/dev/hugepages-1G - - /etc/udev/rules.d:/etc/udev/rules.d - - /lib/modules:/lib/modules - - /opt/tt_metal_infra/provisioning/provisioning_env:/opt/tt_metal_infra/provisioning/provisioning_env - - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Set reusable strings - id: strings - shell: bash - run: | - echo "work-dir=$(pwd)" >> "$GITHUB_OUTPUT" - echo "build-output-dir=$(pwd)/build" >> "$GITHUB_OUTPUT" - echo "install-output-dir=$(pwd)/install" >> "$GITHUB_OUTPUT" - - - name: Git safe dir - run: git config --global --add safe.directory ${{ steps.strings.outputs.work-dir }} - - - name: Use build artifacts - uses: actions/download-artifact@v4 - with: - name: install-artifacts-${{ matrix.build.name }} - path: ${{ steps.strings.outputs.install-output-dir }} - - # This is needed to preserve file permissions - # https://github.com/actions/upload-artifact?tab=readme-ov-file#permission-loss - - name: 'Untar install directory' - shell: bash - working-directory: ${{ steps.strings.outputs.install-output-dir }} - run: tar xvf artifact.tar - - - name: Remove existing whls files - shell: bash - run: | - rm -f *.whl - - - name: Download ttrt run whls - uses: actions/download-artifact@v4 - with: - name: ttrt-whl-${{ matrix.build.name }} - - - name: Install ttrt run whls - shell: bash - run: | - source env/activate - pip show ttrt && pip uninstall -y ttrt - pip install ttrt-${{ env.version }}*.whl --force-reinstall - pip install pytest - - - name: Generate system descriptor - shell: bash - run: | - source env/activate - ttrt query --save-artifacts - - - name: Generate tests - shell: bash - run: | - source env/activate - export LD_LIBRARY_PATH="${TTMLIR_TOOLCHAIN_DIR}/lib:${LD_LIBRARY_PATH}" - export SYSTEM_DESC_PATH="${GITHUB_WORKSPACE}/ttrt-artifacts/system_desc.ttsys" - ln -sf ${{ steps.strings.outputs.install-output-dir }} ${{ steps.strings.outputs.build-output-dir }} - llvm-lit -sv ${{ steps.strings.outputs.build-output-dir }}/test - - - name: ttrt read tests - shell: bash - run: | - source env/activate - pytest -ssv runtime/tools/python/test/test_read.py - - - name: ttrt query tests - shell: bash - run: | - source env/activate - pytest -ssv runtime/tools/python/test/test_query.py - - - name: ttrt check tests - shell: bash - run: | - source env/activate - pytest -ssv runtime/tools/python/test/test_check.py - - - name: ttrt run tests - shell: bash - run: | - source env/activate - pytest -ssv runtime/tools/python/test/test_run.py - - - name: ttrt perf tests - shell: bash - run: | - source env/activate - pytest -ssv runtime/tools/python/test/test_perf.py + # build-ttmlir: + # needs: build-image + # timeout-minutes: 120 + # strategy: + # fail-fast: false + # matrix: + # build: [ + # {runs-on: ubuntu-latest, enable_perf: OFF, name: "run", ttrt_flags: ""}, + # {runs-on: ubuntu-latest, enable_perf: ON, name: "perf", ttrt_flags: ""}, + # ] + + # name: Build tt-mlir + # runs-on: ${{ matrix.build.runs-on }} + + # container: + # image: ${{ needs.build-image.outputs.docker-image }} + + # steps: + + # - uses: actions/checkout@v4 + # with: + # fetch-depth: 0 + + # - name: Set reusable strings + # id: strings + # shell: bash + # run: | + # echo "work-dir=$(pwd)" >> "$GITHUB_OUTPUT" + # echo "build-output-dir=$(pwd)/build" >> "$GITHUB_OUTPUT" + # echo "install-output-dir=$(pwd)/install" >> "$GITHUB_OUTPUT" + + # - name: Git safe dir + # run: git config --global --add safe.directory ${{ steps.strings.outputs.work-dir }} + + # - name: ccache + # uses: hendrikmuhs/ccache-action@v1.2 + # with: + # create-symlink: true + # key: ${{ matrix.build.runs-on }}-run-ON-perf-${{ matrix.build.enable_perf }}-${{ env.SDK_VERSION }} + + # # Build project + + # - name: Configure CMake + # shell: bash + # run: | + # source env/activate + # cmake -G Ninja \ + # -B ${{ steps.strings.outputs.build-output-dir }} \ + # -DCMAKE_CXX_COMPILER=clang++-17 \ + # -DCMAKE_C_COMPILER=clang-17 \ + # -DCMAKE_BUILD_TYPE=Release \ + # -DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.install-output-dir }} \ + # -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ + # -DTTMLIR_ENABLE_RUNTIME=ON \ + # -DTTMLIR_ENABLE_RUNTIME_TESTS=ON \ + # -DTT_RUNTIME_ENABLE_PERF_TRACE=${{ matrix.build.enable_perf }} \ + # -DTTMLIR_ENABLE_STABLEHLO=ON \ + # -S ${{ steps.strings.outputs.work-dir }} + + # - name: Build + # shell: bash + # run: | + # source env/activate + # cmake --build ${{ steps.strings.outputs.build-output-dir }} + # cmake --install ${{ steps.strings.outputs.build-output-dir }} --component Test + + # # - name: Lint + # # shell: bash + # # if: matrix.build.enable_perf == 'OFF' + # # run: | + # # source env/activate + # # cmake --build ${{ steps.strings.outputs.build-output-dir }} -- clang-tidy + + # - name: Run Test + # shell: bash + # run: | + # source env/activate + # cmake --build ${{ steps.strings.outputs.build-output-dir }} -- check-ttmlir + + # - name: Upload Test Report + # uses: actions/upload-artifact@v4 + # with: + # name: test-reports-${{ matrix.build.runs-on }}-perf-${{ matrix.build.enable_perf }} + # path: build/test/report.xml + + # - name: Show Test Report + # uses: mikepenz/action-junit-report@v4 + # if: success() || failure() + # with: + # report_paths: build/test/report.xml + # check_name: MLIR Tests + + # # Build and upload ttrt + + # - name: Build ttrt + # shell: bash + # run: | + # source env/activate + # cmake --build ${{ steps.strings.outputs.build-output-dir }} -- ttrt + + # - name: Upload ttrt whl + # uses: actions/upload-artifact@v4 + # with: + # name: ttrt-whl-${{ matrix.build.name }} + # path: build/runtime/tools/python/build/ttrt*.whl + + # # This is needed to preserve file permissions + # # https://github.com/actions/upload-artifact?tab=readme-ov-file#permission-loss + # - name: 'Tar install directory' + # shell: bash + # working-directory: ${{ steps.strings.outputs.install-output-dir }} + # run: tar cvf artifact.tar . + + # - name: Upload install folder to archive + # uses: actions/upload-artifact@v4 + # with: + # name: install-artifacts-${{ matrix.build.name }} + # path: ${{ steps.strings.outputs.install-output-dir }}/artifact.tar + + # - name: Get the latest tag + # shell: bash + # run: | + # latest_tag=$(git describe --tags --abbrev=0) + # latest_tag=${latest_tag#v} + # echo "latest_tag=$latest_tag" >> $GITHUB_ENV + # commit_count=$(git rev-list ${{ env.latest_tag }}..HEAD --count) + # echo "commit_count=$commit_count" >> $GITHUB_ENV + # version="${{ env.latest_tag }}.${{ env.commit_count }}" + # echo "version=$version" >> $GITHUB_ENV + # echo $version + + + # # Run tests on TT hardware + + # run-tests: + + # timeout-minutes: 30 + # needs: + # - build-image + # - build-ttmlir + # strategy: + # fail-fast: false + # matrix: + # build: [ + # {runs-on: n150, enable_perf: OFF, name: "run", ttrt_flags: "--non-zero"}, + # {runs-on: n150, enable_perf: ON, name: "perf"}, + # {runs-on: n300, enable_perf: OFF, name: "run", ttrt_flags: "--non-zero"}, + # {runs-on: n300, enable_perf: ON, name: "perf"}, + # ] + + # runs-on: + # - in-service + # - ${{ matrix.build.runs-on }} + + # container: + # image: ${{ needs.build-image.outputs.docker-image }} + # options: --device /dev/tenstorrent/0 + # volumes: + # - /dev/hugepages:/dev/hugepages + # - /dev/hugepages-1G:/dev/hugepages-1G + # - /etc/udev/rules.d:/etc/udev/rules.d + # - /lib/modules:/lib/modules + # - /opt/tt_metal_infra/provisioning/provisioning_env:/opt/tt_metal_infra/provisioning/provisioning_env + + # steps: + # - uses: actions/checkout@v4 + # with: + # fetch-depth: 0 + + # - name: Set reusable strings + # id: strings + # shell: bash + # run: | + # echo "work-dir=$(pwd)" >> "$GITHUB_OUTPUT" + # echo "build-output-dir=$(pwd)/build" >> "$GITHUB_OUTPUT" + # echo "install-output-dir=$(pwd)/install" >> "$GITHUB_OUTPUT" + + # - name: Git safe dir + # run: git config --global --add safe.directory ${{ steps.strings.outputs.work-dir }} + + # - name: Use build artifacts + # uses: actions/download-artifact@v4 + # with: + # name: install-artifacts-${{ matrix.build.name }} + # path: ${{ steps.strings.outputs.install-output-dir }} + + # # This is needed to preserve file permissions + # # https://github.com/actions/upload-artifact?tab=readme-ov-file#permission-loss + # - name: 'Untar install directory' + # shell: bash + # working-directory: ${{ steps.strings.outputs.install-output-dir }} + # run: tar xvf artifact.tar + + # - name: Remove existing whls files + # shell: bash + # run: | + # rm -f *.whl + + # - name: Download ttrt run whls + # uses: actions/download-artifact@v4 + # with: + # name: ttrt-whl-${{ matrix.build.name }} + + # - name: Install ttrt run whls + # shell: bash + # run: | + # source env/activate + # pip show ttrt && pip uninstall -y ttrt + # pip install ttrt-${{ env.version }}*.whl --force-reinstall + + # - name: Generate system descriptor + # shell: bash + # run: | + # source env/activate + # ttrt query --save-artifacts + + # - name: Generate tests + # shell: bash + # run: | + # source env/activate + # export LD_LIBRARY_PATH="${TTMLIR_TOOLCHAIN_DIR}/lib:${LD_LIBRARY_PATH}" + # export SYSTEM_DESC_PATH="${GITHUB_WORKSPACE}/ttrt-artifacts/system_desc.ttsys" + # ln -sf ${{ steps.strings.outputs.install-output-dir }} ${{ steps.strings.outputs.build-output-dir }} + # llvm-lit -sv ${{ steps.strings.outputs.build-output-dir }}/test + + # - name: Run functional tests + # shell: bash + # if: matrix.build.enable_perf == 'OFF' + # run: | + # source env/activate + # ttrt ${{ matrix.build.name }} ${{ matrix.build.ttrt_flags }} ${{ steps.strings.outputs.build-output-dir }}/test/ttmlir/Silicon + + # - name: Run perf tests + # shell: bash + # if: matrix.build.enable_perf == 'ON' + # run: | + # source env/activate + # ttrt ${{ matrix.build.name }} ${{ matrix.build.ttrt_flags }} ${{ steps.strings.outputs.build-output-dir }}/test/ttmlir/Silicon/TTNN/perf_unit + + # - name: Upload ttrt test report + # if: always() + # uses: actions/upload-artifact@v4 + # with: + # name: ${{ matrix.build.runs-on }}_${{ matrix.build.name }}_results.json + # path: ${{ matrix.build.name }}_results.json + + # - name: Show Test Report + # uses: mikepenz/action-junit-report@v4 + # if: success() || failure() + # with: + # report_paths: ttrt_report.xml + # check_name: TTRT ${{ matrix.build.runs-on }} ${{ matrix.build.name }} Tests + + # run-ttrt-tests: + + # timeout-minutes: 30 + # needs: + # - build-image + # - build-ttmlir + # strategy: + # fail-fast: false + # matrix: + # build: [ + # {runs-on: n150, enable_perf: ON, name: "perf"}, + # ] + + # runs-on: + # - in-service + # - ${{ matrix.build.runs-on }} + + # container: + # image: ${{ needs.build-image.outputs.docker-image }} + # options: --device /dev/tenstorrent/0 + # volumes: + # - /dev/hugepages:/dev/hugepages + # - /dev/hugepages-1G:/dev/hugepages-1G + # - /etc/udev/rules.d:/etc/udev/rules.d + # - /lib/modules:/lib/modules + # - /opt/tt_metal_infra/provisioning/provisioning_env:/opt/tt_metal_infra/provisioning/provisioning_env + + # steps: + # - uses: actions/checkout@v4 + # with: + # fetch-depth: 0 + + # - name: Set reusable strings + # id: strings + # shell: bash + # run: | + # echo "work-dir=$(pwd)" >> "$GITHUB_OUTPUT" + # echo "build-output-dir=$(pwd)/build" >> "$GITHUB_OUTPUT" + # echo "install-output-dir=$(pwd)/install" >> "$GITHUB_OUTPUT" + + # - name: Git safe dir + # run: git config --global --add safe.directory ${{ steps.strings.outputs.work-dir }} + + # - name: Use build artifacts + # uses: actions/download-artifact@v4 + # with: + # name: install-artifacts-${{ matrix.build.name }} + # path: ${{ steps.strings.outputs.install-output-dir }} + + # # This is needed to preserve file permissions + # # https://github.com/actions/upload-artifact?tab=readme-ov-file#permission-loss + # - name: 'Untar install directory' + # shell: bash + # working-directory: ${{ steps.strings.outputs.install-output-dir }} + # run: tar xvf artifact.tar + + # - name: Remove existing whls files + # shell: bash + # run: | + # rm -f *.whl + + # - name: Download ttrt run whls + # uses: actions/download-artifact@v4 + # with: + # name: ttrt-whl-${{ matrix.build.name }} + + # - name: Install ttrt run whls + # shell: bash + # run: | + # source env/activate + # pip show ttrt && pip uninstall -y ttrt + # pip install ttrt-${{ env.version }}*.whl --force-reinstall + # pip install pytest + + # - name: Generate system descriptor + # shell: bash + # run: | + # source env/activate + # ttrt query --save-artifacts + + # - name: Generate tests + # shell: bash + # run: | + # source env/activate + # export LD_LIBRARY_PATH="${TTMLIR_TOOLCHAIN_DIR}/lib:${LD_LIBRARY_PATH}" + # export SYSTEM_DESC_PATH="${GITHUB_WORKSPACE}/ttrt-artifacts/system_desc.ttsys" + # ln -sf ${{ steps.strings.outputs.install-output-dir }} ${{ steps.strings.outputs.build-output-dir }} + # llvm-lit -sv ${{ steps.strings.outputs.build-output-dir }}/test + + # - name: ttrt read tests + # shell: bash + # run: | + # source env/activate + # pytest -ssv runtime/tools/python/test/test_read.py + + # - name: ttrt query tests + # shell: bash + # run: | + # source env/activate + # pytest -ssv runtime/tools/python/test/test_query.py + + # - name: ttrt check tests + # shell: bash + # run: | + # source env/activate + # pytest -ssv runtime/tools/python/test/test_check.py + + # - name: ttrt run tests + # shell: bash + # run: | + # source env/activate + # pytest -ssv runtime/tools/python/test/test_run.py + + # - name: ttrt perf tests + # shell: bash + # run: | + # source env/activate + # pytest -ssv runtime/tools/python/test/test_perf.py build-and-test-explorer: needs: build-image diff --git a/tools/explorer/test/run_tests.py b/tools/explorer/test/run_tests.py index b9e79011da..54de5de3e8 100644 --- a/tools/explorer/test/run_tests.py +++ b/tools/explorer/test/run_tests.py @@ -51,7 +51,17 @@ def start_server(request): kwargs={"extensions": ["tt_adapter"], "host": HOST, "port": PORT}, ) server_thread.start() - time.sleep(1) + + # Wait for the server to start + for _ in range(100): # Try for up to 10 seconds + try: + response = requests.get(f"http://{HOST}:{PORT}/check_health") + if response.status_code == 200: + break + except requests.ConnectionError: + time.sleep(0.1) + else: + raise RuntimeError("Server did not start within the expected time") request.addfinalizer(lambda: server_thread.terminate())