diff --git a/.github/workflows/aipu-build-and-test.yml b/.github/workflows/aipu-build-and-test.yml index 23f04957c..d09acf5c2 100644 --- a/.github/workflows/aipu-build-and-test.yml +++ b/.github/workflows/aipu-build-and-test.yml @@ -6,86 +6,6 @@ on: pull_request: branches: [ "triton_v3.3.x" ] -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: true - jobs: aipu-build-and-test: - runs-on: aipu - if: ${{ github.repository == 'FlagTree/flagtree' || github.repository == 'flagos-ai/flagtree' }} - steps: - - name: Setup environment - shell: bash - run: | - source ~/env.sh - env | grep -E '^(http_proxy|https_proxy|all_proxy|no_proxy)=' >> $GITHUB_ENV || true - - - name: Checkout code (attempt 1) - id: checkout1 - uses: actions/checkout@v5 - continue-on-error: true - - - name: Sleep before checkout2 - if: steps.checkout1.outcome == 'failure' - run: | - echo "First checkout attempt failed. Sleeping for 120 seconds before retry..." - sleep 120 - - - name: Checkout code (attempt 2) - id: checkout2 - if: steps.checkout1.outcome == 'failure' - uses: actions/checkout@v5 - continue-on-error: true - - - name: Sleep before final checkout - if: steps.checkout1.outcome == 'failure' && steps.checkout2.outcome == 'failure' - run: | - echo "Second checkout attempt failed. Sleeping for 180 seconds before final retry..." - sleep 180 - - - name: Checkout code (final attempt) - if: steps.checkout1.outcome == 'failure' && steps.checkout2.outcome == 'failure' - uses: actions/checkout@v5 - - - name: Verify checkout success - if: success() - run: echo "Checkout completed successfully" - - - name: FlagTree Build on AIPU - shell: bash - run: | - set -x - pip uninstall -y triton - source ~/env_setup.sh - export FLAGTREE_BACKEND=aipu - cd python - MAX_JOBS=32 python3.10 -m pip install . --no-build-isolation -v - - - name: FlagTree Test on AIPU - shell: bash - run: | - set -x - source ~/env_setup.sh - python3.10 third_party/aipu/python/test/test_01_vector_add.py - python3.10 third_party/aipu/python/test/test_01_vector_add_shared_memory.py - python3.10 third_party/aipu/python/test/test_01_vector_add_dma.py - python3.10 third_party/aipu/python/test/test_02_fused_softmax.py - python3.10 third_party/aipu/python/test/test_02_fused_softmax_shared_memory.py - python3.10 third_party/aipu/python/test/test_02_fused_softmax_dma.py - python3.10 third_party/aipu/python/test/test_libdevice_fmod.py - python3.10 third_party/aipu/python/test/test_libdevice_fmod_shared_memory.py - python3.10 third_party/aipu/python/test/test_libdevice_fmod_dma.py - python3.10 third_party/aipu/python/test/test_libdevice_pow.py - python3.10 third_party/aipu/python/test/test_libdevice_pow_shared_memory.py - python3.10 third_party/aipu/python/test/test_libdevice_pow_dma.py - python3.10 third_party/aipu/python/test/test_codegen_dma.py - python3.10 third_party/aipu/python/test/test_01_vector_add_structured_1d.py - python3.10 third_party/aipu/python/test/test_01_vector_add_structured_1d_shared_memory.py - python3.10 third_party/aipu/python/test/test_01_vector_add_structured_1d_dma.py - python3.10 third_party/aipu/python/test/min.py - python3.10 third_party/aipu/python/test/min_shared_memory.py - #python3.10 third_party/aipu/python/test/min_dma.py - python3.10 third_party/aipu/python/test/var_mean.py - python3.10 third_party/aipu/python/test/var_mean_shared_memory.py - #python3.10 third_party/aipu/python/test/var_mean_dma.py + uses: flagos-ai/flagtree/.github/workflows/aipu-build-and-test.yml@workflow_unifiy diff --git a/.github/workflows/ascend-build-and-test.yml b/.github/workflows/ascend-build-and-test.yml index 50dad4678..6f64835c2 100644 --- a/.github/workflows/ascend-build-and-test.yml +++ b/.github/workflows/ascend-build-and-test.yml @@ -6,103 +6,6 @@ on: pull_request: branches: [ "triton_v3.2.x" ] -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: true - jobs: ascend-build-and-test: - runs-on: ascend - steps: - - name: Checkout code (attempt 1) - id: checkout1 - uses: actions/checkout@v6 - with: - fetch-depth: 0 - continue-on-error: true - - - name: Sleep before checkout2 - if: steps.checkout1.outcome == 'failure' - run: | - echo "First checkout attempt failed. Sleeping for 120 seconds before retry..." - sleep 120 - - - name: Checkout code (attempt 2) - id: checkout2 - if: steps.checkout1.outcome == 'failure' - uses: actions/checkout@v6 - with: - fetch-depth: 0 - continue-on-error: true - - - name: Sleep before final checkout - if: steps.checkout1.outcome == 'failure' && steps.checkout2.outcome == 'failure' - run: | - echo "Second checkout attempt failed. Sleeping for 180 seconds before final retry..." - sleep 180 - - - name: Checkout code (final attempt) - if: steps.checkout1.outcome == 'failure' && steps.checkout2.outcome == 'failure' - uses: actions/checkout@v6 - with: - fetch-depth: 0 - - - name: Verify checkout success - if: success() - run: echo "Checkout completed successfully" - - - name: Check if only docs files changed - id: check_files - uses: ./.github/actions/check-docs-only - - - name: FlagTree Build on Ascend - if: steps.check_files.outputs.only_docs_changed != 'true' - shell: bash - run: | - set -x - pip uninstall -y triton - export FLAGTREE_BACKEND=ascend - source ~/env.sh - cd python - MAX_JOBS=32 python3 -m pip install . --no-build-isolation - - - name: FlagTree Test on Ascend - if: steps.check_files.outputs.only_docs_changed != 'true' - shell: bash - run: | - set -x - source /usr/local/Ascend/ascend-toolkit/set_env.sh - python3 third_party/tests/ascend/vector-add.py - python3 third_party/ascend/examples/tutorials/01-vector-add.py - python3 third_party/ascend/examples/tutorials/02-fused-softmax.py - python3 third_party/ascend/examples/tutorials/03-layer-norm.py - python3 third_party/ascend/examples/tutorials/04-fused-attention.py - python3 third_party/ascend/examples/tutorials/06-demo-autotune.py - python3 third_party/ascend/examples/tutorials/07-profiler.py - python3 third_party/ascend/examples/tutorials/09-gather.py - python3 third_party/ascend/examples/tutorials/10-gather_sorted.py - python3 third_party/ascend/examples/tutorials/11-rab_time.py - python3 third_party/ascend/examples/tutorials/13-matrix-multiplication-optimized.py - python3 third_party/ascend/examples/tutorials/13-matrix-multiplication-optimized-flagtree.py - python3 third_party/ascend/examples/tutorials/14-accuracy-comparison.py - python3 python/test/ops/01_vector_add/01_vector_add.py - python3 python/test/ops/abs/abs.py - python3 python/test/ops/addmm/addmm.py - python3 python/test/ops/addmm/addmm_ascend.py - python3 python/test/ops/amax/amax.py - python3 python/test/ops/amax/amax_ascend_perf.py - python3 python/test/ops/apply_rotary_pos_emb/apply_rotary_pos_emb.py - python3 python/test/ops/apply_rotary_pos_emb/apply_rotary_pos_emb_ascend.py - python3 python/test/ops/argmin/argmin.py - python3 python/test/ops/argmin/argmin_ascend_perf.py - python3 python/test/ops/bmm/bmm_ascend.py - python3 python/test/ops/cumsum/cumsum.py - python3 python/test/ops/min_dim/min_dim.py - python3 python/test/ops/min_dim/min_dim_ascend_perf.py - python3 python/test/ops/sum_dim/sum_dim.py - python3 python/test/ops/varmean/var_mean_ascend.py - python3 -m pytest third_party/ascend/examples/pytest_ut --ignore=third_party/ascend/examples/pytest_ut/test_index_select.py \ - --ignore=third_party/ascend/examples/pytest_ut/test_linearize_permute.py \ - --ignore=third_party/ascend/examples/pytest_ut/test_logical_and.py \ - --ignore=third_party/ascend/examples/pytest_ut/test_logical_or.py \ - --ignore=third_party/ascend/examples/pytest_ut/test_triton_unified_attention.py + uses: flagos-ai/flagtree/.github/workflows/ascend-build-and-test.yml@workflow_unifiy diff --git a/.github/workflows/cambricon-build-and-test.yml b/.github/workflows/cambricon-build-and-test.yml index e8b163d2a..bdf2d09e1 100644 --- a/.github/workflows/cambricon-build-and-test.yml +++ b/.github/workflows/cambricon-build-and-test.yml @@ -6,57 +6,6 @@ on: pull_request: branches: [ "main" ] -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: true - jobs: cambricon-build-and-test: - runs-on: cambricon - if: ${{ github.repository == 'FlagTree/flagtree' || github.repository == 'flagos-ai/flagtree' }} - steps: - - name: Setup environment - shell: bash - run: | - source ~/env.sh - env | grep -E '^(http_proxy|https_proxy|all_proxy|no_proxy)=' >> $GITHUB_ENV || true - - - name: Checkout code (attempt 1) - id: checkout1 - uses: actions/checkout@v5 - continue-on-error: true - - - name: Sleep before checkout2 - if: steps.checkout1.outcome == 'failure' - run: | - echo "First checkout attempt failed. Sleeping for 120 seconds before retry..." - sleep 120 - - - name: Checkout code (attempt 2) - id: checkout2 - if: steps.checkout1.outcome == 'failure' - uses: actions/checkout@v5 - continue-on-error: true - - - name: Sleep before final checkout - if: steps.checkout1.outcome == 'failure' && steps.checkout2.outcome == 'failure' - run: | - echo "Second checkout attempt failed. Sleeping for 180 seconds before final retry..." - sleep 180 - - - name: Checkout code (final attempt) - if: steps.checkout1.outcome == 'failure' && steps.checkout2.outcome == 'failure' - uses: actions/checkout@v5 - - - name: Verify checkout success - if: success() - run: echo "Checkout completed successfully" - - - name: FlagTree Build on Cambricon - shell: bash - run: | - set -x - pip uninstall -y triton - export FLAGTREE_BACKEND=cambricon - cd python - MAX_JOBS=8 python3 -m pip install . --no-build-isolation + uses: flagos-ai/flagtree/.github/workflows/cambricon-build-and-test.yml@workflow_unifiy diff --git a/.github/workflows/hcu-build-and-test.yml b/.github/workflows/hcu-build-and-test.yml index 95da538a8..c031cfba8 100644 --- a/.github/workflows/hcu-build-and-test.yml +++ b/.github/workflows/hcu-build-and-test.yml @@ -6,64 +6,6 @@ on: pull_request: branches: [ "main" ] -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: true - jobs: hcu-build-and-test: - runs-on: hcu - if: ${{ github.repository == 'FlagTree/flagtree' || github.repository == 'flagos-ai/flagtree' }} - steps: - - name: Setup environment - shell: bash - run: | - source ~/env.sh - env | grep -E '^(http_proxy|https_proxy|all_proxy|no_proxy)=' >> $GITHUB_ENV || true - - - name: Checkout code (attempt 1) - id: checkout1 - uses: actions/checkout@v5 - continue-on-error: true - - - name: Sleep before checkout2 - if: steps.checkout1.outcome == 'failure' - run: | - echo "First checkout attempt failed. Sleeping for 120 seconds before retry..." - sleep 120 - - - name: Checkout code (attempt 2) - id: checkout2 - if: steps.checkout1.outcome == 'failure' - uses: actions/checkout@v5 - continue-on-error: true - - - name: Sleep before final checkout - if: steps.checkout1.outcome == 'failure' && steps.checkout2.outcome == 'failure' - run: | - echo "Second checkout attempt failed. Sleeping for 180 seconds before final retry..." - sleep 180 - - - name: Checkout code (final attempt) - if: steps.checkout1.outcome == 'failure' && steps.checkout2.outcome == 'failure' - uses: actions/checkout@v5 - - - name: Verify checkout success - if: success() - run: echo "Checkout completed successfully" - - - name: FlagTree Build on Hcu - shell: bash - run: | - set -x - pip uninstall -y triton - export FLAGTREE_BACKEND=hcu - cd python - MAX_JOBS=32 python3 -m pip install . --no-build-isolation - - - name: FlagTree Test on Hcu - shell: bash - run: | - set -x - cd third_party/hcu/python/test/unit - sh flagtree_test.sh + uses: flagos-ai/flagtree/.github/workflows/hcu-build-and-test.yml@workflow_unifiy diff --git a/.github/workflows/iluvatar-build-and-test.yml b/.github/workflows/iluvatar-build-and-test.yml index f5d30333e..7494c64e9 100644 --- a/.github/workflows/iluvatar-build-and-test.yml +++ b/.github/workflows/iluvatar-build-and-test.yml @@ -6,65 +6,6 @@ on: pull_request: branches: [ "main" ] -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: true - jobs: iluvatar-build-and-test: - runs-on: iluvatar - if: ${{ github.repository == 'FlagTree/flagtree' || github.repository == 'flagos-ai/flagtree' }} - steps: - - name: Checkout code (attempt 1) - id: checkout1 - uses: actions/checkout@v5 - continue-on-error: true - - - name: Sleep before checkout2 - if: steps.checkout1.outcome == 'failure' - run: | - echo "First checkout attempt failed. Sleeping for 120 seconds before retry..." - sleep 120 - - - name: Checkout code (attempt 2) - id: checkout2 - if: steps.checkout1.outcome == 'failure' - uses: actions/checkout@v5 - continue-on-error: true - - - name: Sleep before final checkout - if: steps.checkout1.outcome == 'failure' && steps.checkout2.outcome == 'failure' - run: | - echo "Second checkout attempt failed. Sleeping for 180 seconds before final retry..." - sleep 180 - - - name: Checkout code (final attempt) - if: steps.checkout1.outcome == 'failure' && steps.checkout2.outcome == 'failure' - uses: actions/checkout@v5 - - - name: Verify checkout success - if: success() - run: echo "Checkout completed successfully" - - - name: FlagTree Build on Iluvatar - shell: bash - run: | - set -x - pip uninstall -y triton - export FLAGTREE_BACKEND=iluvatar - source ~/env.sh - cd python - MAX_JOBS=32 python3 -m pip install . --no-build-isolation - - - name: FlagTree Test on Iluvatar - shell: bash - run: | - set -x - CUDA_VISIBLE_DEVICES=15 python3 -m pytest -s third_party/iluvatar/python/test/unit - ./python/build/cmake.linux-x86_64-cpython-3.10/bin/triton-opt --pass-pipeline='builtin.module(convert-triton-to-tritongpu{target="cuda:CC" num-warps=4 threads-per-warp=32 num-ctas=1})' ./test/bin/iluvatar/add_kernel.ttir - ./python/build/cmake.linux-x86_64-cpython-3.10/bin/triton-opt --convert-arith-to-llvm ./test/bin/iluvatar/add_kernel.ttgir - cd python/tutorials - python3 01-vector-add.py - python3 04-low-memory-dropout.py - python3 07-extern-functions.py - python3 08-grouped-gemm.py + uses: flagos-ai/flagtree/.github/workflows/iluvatar-build-and-test.yml@workflow_unifiy diff --git a/.github/workflows/metax-build-and-test.yml b/.github/workflows/metax-build-and-test.yml index 4f7a2252b..771b4b849 100644 --- a/.github/workflows/metax-build-and-test.yml +++ b/.github/workflows/metax-build-and-test.yml @@ -6,58 +6,6 @@ on: pull_request: branches: [ "main" ] -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: true - jobs: metax-build-and-test: - runs-on: metax - if: ${{ github.repository == 'FlagTree/flagtree' || github.repository == 'flagos-ai/flagtree' }} - steps: - - name: Checkout code (attempt 1) - id: checkout1 - uses: actions/checkout@v5 - continue-on-error: true - - - name: Sleep before checkout2 - if: steps.checkout1.outcome == 'failure' - run: | - echo "First checkout attempt failed. Sleeping for 120 seconds before retry..." - sleep 120 - - - name: Checkout code (attempt 2) - id: checkout2 - if: steps.checkout1.outcome == 'failure' - uses: actions/checkout@v5 - continue-on-error: true - - - name: Sleep before final checkout - if: steps.checkout1.outcome == 'failure' && steps.checkout2.outcome == 'failure' - run: | - echo "Second checkout attempt failed. Sleeping for 180 seconds before final retry..." - sleep 180 - - - name: Checkout code (final attempt) - if: steps.checkout1.outcome == 'failure' && steps.checkout2.outcome == 'failure' - uses: actions/checkout@v5 - - - name: Verify checkout success - if: success() - run: echo "Checkout completed successfully" - - - name: FlagTree Build on Metax - shell: bash - run: | - set -x - pip uninstall -y triton - source ~/env.sh - export FLAGTREE_BACKEND=metax - cd python - MAX_JOBS=32 python3.10 -m pip install . --no-build-isolation - - - name: FlagTree Test on Metax - shell: bash - run: | - set -x - python3.10 -m pytest -s third_party/metax/python/test/unit + uses: flagos-ai/flagtree/.github/workflows/metax-build-and-test.yml@workflow_unifiy diff --git a/.github/workflows/mthreads-build-and-test.yml b/.github/workflows/mthreads-build-and-test.yml index f76fd03a6..8d3b7556b 100644 --- a/.github/workflows/mthreads-build-and-test.yml +++ b/.github/workflows/mthreads-build-and-test.yml @@ -6,65 +6,6 @@ on: pull_request: branches: [ "main" ] -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: true - jobs: mthreads-build-and-test: - runs-on: mthreads - if: ${{ github.repository == 'FlagTree/flagtree' || github.repository == 'flagos-ai/flagtree' }} - steps: - - name: Setup environment - shell: bash - run: | - source ~/env.sh - env | grep -E '^(http_proxy|https_proxy|all_proxy|no_proxy)=' >> $GITHUB_ENV || true - - - name: Checkout code (attempt 1) - id: checkout1 - uses: actions/checkout@v5 - continue-on-error: true - - - name: Sleep before checkout2 - if: steps.checkout1.outcome == 'failure' - run: | - echo "First checkout attempt failed. Sleeping for 120 seconds before retry..." - sleep 120 - - - name: Checkout code (attempt 2) - id: checkout2 - if: steps.checkout1.outcome == 'failure' - uses: actions/checkout@v5 - continue-on-error: true - - - name: Sleep before final checkout - if: steps.checkout1.outcome == 'failure' && steps.checkout2.outcome == 'failure' - run: | - echo "Second checkout attempt failed. Sleeping for 180 seconds before final retry..." - sleep 180 - - - name: Checkout code (final attempt) - if: steps.checkout1.outcome == 'failure' && steps.checkout2.outcome == 'failure' - uses: actions/checkout@v5 - - - name: Verify checkout success - if: success() - run: echo "Checkout completed successfully" - - - name: FlagTree Build on Mthreads - shell: bash - run: | - set -x - pip uninstall -y triton - export FLAGTREE_BACKEND=mthreads - cd python - MAX_JOBS=32 python3 -m pip install . --no-build-isolation - - - name: FlagTree Test on Mthreads - shell: bash - run: | - set -x - ./python/build/cmake.linux-x86_64-cpython-3.10/bin/triton-opt --pass-pipeline='builtin.module(convert-triton-to-tritongpu{target="cuda:CC" num-warps=4 threads-per-warp=32 num-ctas=1})' ./test/bin/mthreads/add_kernel.ttir - ./python/build/cmake.linux-x86_64-cpython-3.10/bin/triton-opt --convert-ub-to-llvm ./test/bin/mthreads/add_kernel.ttgir - python3 -m pytest -s third_party/mthreads/python/test/unit + uses: flagos-ai/flagtree/.github/workflows/mthreads-build-and-test.yml@workflow_unifiy diff --git a/.github/workflows/nv-build-and-test.yml b/.github/workflows/nv-build-and-test.yml index e65cbc809..dd0e18ba2 100644 --- a/.github/workflows/nv-build-and-test.yml +++ b/.github/workflows/nv-build-and-test.yml @@ -4,114 +4,10 @@ on: schedule: - cron: '0 21 * * *' push: - branches: [ "main", "triton_v3.2.x", "triton_v3.3.x" ] + branches: [ "main", "triton_v3.2.x", "triton_v3.3.x", "triton_v3.4.x", "triton_v3.5.x" ] pull_request: - branches: [ "main", "triton_v3.2.x", "triton_v3.3.x" ] - -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: true + branches: [ "main", "triton_v3.2.x", "triton_v3.3.x", "triton_v3.4.x", "triton_v3.5.x" ] jobs: nv-build-and-test: - runs-on: nv-jiuding - if: ${{ github.repository == 'FlagTree/flagtree' || github.repository == 'flagos-ai/flagtree' }} - steps: - - name: Setup environment - shell: bash - run: | - source ~/env.sh - env | grep -E '^(http_proxy|https_proxy|all_proxy|no_proxy)=' >> $GITHUB_ENV || true - - - name: Checkout code (attempt 1) - id: checkout1 - uses: actions/checkout@v6 - with: - fetch-depth: 0 - continue-on-error: true - - - name: Sleep before checkout2 - if: steps.checkout1.outcome == 'failure' - run: | - echo "First checkout attempt failed. Sleeping for 120 seconds before retry..." - sleep 120 - - - name: Checkout code (attempt 2) - id: checkout2 - if: steps.checkout1.outcome == 'failure' - uses: actions/checkout@v6 - with: - fetch-depth: 0 - continue-on-error: true - - - name: Sleep before final checkout - if: steps.checkout1.outcome == 'failure' && steps.checkout2.outcome == 'failure' - run: | - echo "Second checkout attempt failed. Sleeping for 180 seconds before final retry..." - sleep 180 - - - name: Checkout code (final attempt) - if: steps.checkout1.outcome == 'failure' && steps.checkout2.outcome == 'failure' - uses: actions/checkout@v6 - with: - fetch-depth: 0 - - - name: Verify checkout success - if: success() - run: echo "Checkout completed successfully" - - - name: Check if only docs files changed - id: check_files - uses: ./.github/actions/check-docs-only - - - name: Detect Target Branch - shell: bash - run: | - set -x - if [ "${{ github.event_name }}" = "pull_request" ]; then - TARGET_BRANCH="${{ github.base_ref }}" - else - TARGET_BRANCH="${{ github.ref_name }}" - fi - echo "TARGET_BRANCH=$TARGET_BRANCH" >> $GITHUB_ENV - echo "TARGET_BRANCH=$TARGET_BRANCH" - - - name: FlagTree Build on NVidia (main branch) - if: ${{ steps.check_files.outputs.only_docs_changed != 'true' && env.TARGET_BRANCH == 'main' }} - shell: bash - run: | - set -x - pip uninstall -y triton - source ~/env.sh - cd python - MAX_JOBS=32 python3.11 -m pip install . --no-build-isolation - - - name: FlagTree Build on NVidia (triton_v3.2.x branch) - if: ${{ steps.check_files.outputs.only_docs_changed != 'true' && env.TARGET_BRANCH == 'triton_v3.2.x' }} - shell: bash - run: | - set -x - pip uninstall -y triton - source ~/env-3.2.sh - cd python - MAX_JOBS=32 python3.11 -m pip install . --no-build-isolation - - - name: FlagTree Build on NVidia (triton_v3.3.x branch) - if: ${{ steps.check_files.outputs.only_docs_changed != 'true' && env.TARGET_BRANCH == 'triton_v3.3.x' }} - shell: bash - run: | - set -x - pip uninstall -y triton - source ~/env-3.3.sh - cd python - MAX_JOBS=32 python3.11 -m pip install . --no-build-isolation - - - name: FlagTree Test on NVidia - if: steps.check_files.outputs.only_docs_changed != 'true' - shell: bash - run: | - set -x - python3.11 -m pytest -s python/test/unit - if [ -d "python/test/operators" ]; then - python3.11 -m pytest -s python/test/operators - fi + uses: flagos-ai/flagtree/.github/workflows/nv-build-and-test.yml@workflow_unifiy diff --git a/.github/workflows/tsingmicro-build-and-test.yml b/.github/workflows/tsingmicro-build-and-test.yml index b64a3d3de..fe9563f09 100644 --- a/.github/workflows/tsingmicro-build-and-test.yml +++ b/.github/workflows/tsingmicro-build-and-test.yml @@ -6,60 +6,6 @@ on: pull_request: branches: [ "triton_v3.3.x" ] -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: true - jobs: tsingmicro-build-and-test: - runs-on: tsingmicro - if: ${{ github.repository == 'FlagTree/flagtree' || github.repository == 'flagos-ai/flagtree' }} - steps: - - name: Checkout code (attempt 1) - id: checkout1 - uses: actions/checkout@v5 - continue-on-error: true - - - name: Sleep before checkout2 - if: steps.checkout1.outcome == 'failure' - run: | - echo "First checkout attempt failed. Sleeping for 120 seconds before retry..." - sleep 120 - - - name: Checkout code (attempt 2) - id: checkout2 - if: steps.checkout1.outcome == 'failure' - uses: actions/checkout@v5 - continue-on-error: true - - - name: Sleep before final checkout - if: steps.checkout1.outcome == 'failure' && steps.checkout2.outcome == 'failure' - run: | - echo "Second checkout attempt failed. Sleeping for 180 seconds before final retry..." - sleep 180 - - - name: Checkout code (final attempt) - if: steps.checkout1.outcome == 'failure' && steps.checkout2.outcome == 'failure' - uses: actions/checkout@v5 - - - name: Verify checkout success - if: success() - run: echo "Checkout completed successfully" - - - name: FlagTree Build on Tsingmicro - shell: bash - run: | - set -x - pip uninstall -y triton - source ~/env.sh - export FLAGTREE_BACKEND=tsingmicro - cd python - python3.11 -m pip install . --no-build-isolation -v - - - name: FlagTree Test on Tsingmicro - shell: bash - run: | - set -x - source ~/env.sh - python3.11 -c 'import triton; print(triton.__path__)' - /usr/local/lib/python3.11/dist-packages/triton/backends/tsingmicro/bin/tsingmicro-opt --version + uses: flagos-ai/flagtree/.github/workflows/tsingmicro-build-and-test.yml@workflow_unifiy diff --git a/.github/workflows/xpu-build-and-test.yml b/.github/workflows/xpu-build-and-test.yml index 32bbfabdc..33ede4de6 100644 --- a/.github/workflows/xpu-build-and-test.yml +++ b/.github/workflows/xpu-build-and-test.yml @@ -7,63 +7,6 @@ on: pull_request: branches: [ "main" ] -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: true - jobs: xpu-build-and-test: - runs-on: xpu - if: ${{ github.repository == 'FlagTree/flagtree' || github.repository == 'flagos-ai/flagtree' }} - steps: - - name: Setup environment - shell: bash - run: | - source ~/env.sh - env | grep -E '^(http_proxy|https_proxy|all_proxy|no_proxy)=' >> $GITHUB_ENV || true - - - name: Checkout code (attempt 1) - id: checkout1 - uses: actions/checkout@v5 - continue-on-error: true - - - name: Sleep before checkout2 - if: steps.checkout1.outcome == 'failure' - run: | - echo "First checkout attempt failed. Sleeping for 120 seconds before retry..." - sleep 120 - - - name: Checkout code (attempt 2) - id: checkout2 - if: steps.checkout1.outcome == 'failure' - uses: actions/checkout@v5 - continue-on-error: true - - - name: Sleep before final checkout - if: steps.checkout1.outcome == 'failure' && steps.checkout2.outcome == 'failure' - run: | - echo "Second checkout attempt failed. Sleeping for 180 seconds before final retry..." - sleep 180 - - - name: Checkout code (final attempt) - if: steps.checkout1.outcome == 'failure' && steps.checkout2.outcome == 'failure' - uses: actions/checkout@v5 - - - name: Verify checkout success - if: success() - run: echo "Checkout completed successfully" - - - name: FlagTree Build on Xpu - shell: bash - run: | - set -x - pip uninstall -y triton - export FLAGTREE_BACKEND=xpu - cd python - MAX_JOBS=32 python3 -m pip install . --no-build-isolation - - - name: FlagTree Test on Xpu - shell: bash - run: | - set -x - python3 -m pytest -s third_party/xpu/python/test/unit + uses: flagos-ai/flagtree/.github/workflows/xpu-build-and-test.yml@workflow_unifiy