diff --git a/.github/workflows/collect-results.yml b/.github/workflows/collect-results.yml index 64e6ef3e1..1114ccb44 100644 --- a/.github/workflows/collect-results.yml +++ b/.github/workflows/collect-results.yml @@ -19,6 +19,14 @@ jobs: token: ${{ secrets.REPO_PAT }} fetch-depth: 0 + - name: Set up Python + uses: actions/setup-python@v6 + with: + python-version: '3.12' + + - name: Install dependencies + run: pip install -q matplotlib + - name: Download JSON artifacts uses: actions/download-artifact@v6 with: @@ -38,9 +46,7 @@ jobs: path: agg_${{ inputs.exp-name || 'all' }}.json - name: Plot performance - run: | - pip install -q matplotlib - python3 utils/plot_perf.py results/ ${{ inputs.exp-name || 'all' }} + run: python3 utils/plot_perf.py results/ ${{ inputs.exp-name || 'all' }} - name: Upload performance graphs uses: actions/upload-artifact@v5 with: diff --git a/.github/workflows/e2e-tests.yml b/.github/workflows/e2e-tests.yml index 86cd7d256..b952db86a 100644 --- a/.github/workflows/e2e-tests.yml +++ b/.github/workflows/e2e-tests.yml @@ -18,9 +18,16 @@ jobs: - name: Checkout code uses: actions/checkout@v5 + - name: Set up Python + uses: actions/setup-python@v6 + with: + python-version: '3.12' + + - name: Install dependencies + run: pip install pydantic pyyaml + - id: get-jobs run: | - pip install pydantic CONFIG_JSON=$(python3 ${GITHUB_WORKSPACE}/utils/matrix-logic/generate_sweep_configs.py ${{ inputs.generate-cli-command }}) echo "search-space-config=$CONFIG_JSON" >> $GITHUB_OUTPUT @@ -70,15 +77,20 @@ jobs: token: ${{ secrets.REPO_PAT }} fetch-depth: 0 + - name: Set up Python + uses: actions/setup-python@v6 + with: + python-version: '3.12' + + - name: Install dependencies + run: pip install PyGithub + - name: Download results artifacts uses: actions/download-artifact@v6 with: path: ${{ env.RESULTS_DIR }} pattern: results_* - - name: Install python dependencies - run: pip install PyGithub - - name: Calculate success rate run: python3 utils/calc_success_rate.py $STATS_FILENAME diff --git a/.github/workflows/full-sweep-1k1k-scheduler.yml b/.github/workflows/full-sweep-1k1k-scheduler.yml index 369251f24..801dc9690 100644 --- a/.github/workflows/full-sweep-1k1k-scheduler.yml +++ b/.github/workflows/full-sweep-1k1k-scheduler.yml @@ -14,9 +14,16 @@ jobs: - name: Checkout code uses: actions/checkout@v5 + - name: Set up Python + uses: actions/setup-python@v6 + with: + python-version: '3.12' + + - name: Install dependencies + run: pip install pydantic pyyaml + - id: get-dsr1-configs run: | - pip install pydantic CONFIG_JSON=$(python3 ${GITHUB_WORKSPACE}/utils/matrix-logic/generate_sweep_configs.py full-sweep --config-files ${GITHUB_WORKSPACE}/.github/configs/nvidia-master.yaml ${GITHUB_WORKSPACE}/.github/configs/amd-master.yaml --seq-lens 1k1k --model-prefix dsr1) echo "search-space-config=$CONFIG_JSON" >> $GITHUB_OUTPUT @@ -28,9 +35,16 @@ jobs: - name: Checkout code uses: actions/checkout@v5 + - name: Set up Python + uses: actions/setup-python@v6 + with: + python-version: '3.12' + + - name: Install dependencies + run: pip install pydantic pyyaml + - id: get-gptoss-configs run: | - pip install pydantic CONFIG_JSON=$(python3 ${GITHUB_WORKSPACE}/utils/matrix-logic/generate_sweep_configs.py full-sweep --config-files ${GITHUB_WORKSPACE}/.github/configs/nvidia-master.yaml ${GITHUB_WORKSPACE}/.github/configs/amd-master.yaml --seq-lens 1k1k --model-prefix gptoss) echo "search-space-config=$CONFIG_JSON" >> $GITHUB_OUTPUT @@ -159,15 +173,20 @@ jobs: token: ${{ secrets.REPO_PAT }} fetch-depth: 0 + - name: Set up Python + uses: actions/setup-python@v6 + with: + python-version: '3.12' + + - name: Install dependencies + run: pip install PyGithub + - name: Download results artifacts uses: actions/download-artifact@v6 with: path: ${{ env.RESULTS_DIR }} pattern: results_* - - name: Install python dependencies - run: pip install PyGithub - - name: Calculate success rate run: python3 utils/calc_success_rate.py $STATS_FILENAME diff --git a/.github/workflows/full-sweep-1k8k-scheduler.yml b/.github/workflows/full-sweep-1k8k-scheduler.yml index f2354f6c5..6109451fc 100644 --- a/.github/workflows/full-sweep-1k8k-scheduler.yml +++ b/.github/workflows/full-sweep-1k8k-scheduler.yml @@ -14,9 +14,16 @@ jobs: - name: Checkout code uses: actions/checkout@v5 + - name: Set up Python + uses: actions/setup-python@v6 + with: + python-version: '3.12' + + - name: Install dependencies + run: pip install pydantic pyyaml + - id: get-dsr1-configs run: | - pip install pydantic CONFIG_JSON=$(python3 ${GITHUB_WORKSPACE}/utils/matrix-logic/generate_sweep_configs.py full-sweep --config-files ${GITHUB_WORKSPACE}/.github/configs/nvidia-master.yaml ${GITHUB_WORKSPACE}/.github/configs/amd-master.yaml --seq-lens 1k8k --model-prefix dsr1) echo "search-space-config=$CONFIG_JSON" >> $GITHUB_OUTPUT @@ -28,9 +35,16 @@ jobs: - name: Checkout code uses: actions/checkout@v5 + - name: Set up Python + uses: actions/setup-python@v6 + with: + python-version: '3.12' + + - name: Install dependencies + run: pip install pydantic pyyaml + - id: get-gptoss-configs run: | - pip install pydantic CONFIG_JSON=$(python3 ${GITHUB_WORKSPACE}/utils/matrix-logic/generate_sweep_configs.py full-sweep --config-files ${GITHUB_WORKSPACE}/.github/configs/nvidia-master.yaml ${GITHUB_WORKSPACE}/.github/configs/amd-master.yaml --seq-lens 1k8k --model-prefix gptoss) echo "search-space-config=$CONFIG_JSON" >> $GITHUB_OUTPUT @@ -114,15 +128,20 @@ jobs: token: ${{ secrets.REPO_PAT }} fetch-depth: 0 + - name: Set up Python + uses: actions/setup-python@v6 + with: + python-version: '3.12' + + - name: Install dependencies + run: pip install PyGithub + - name: Download results artifacts uses: actions/download-artifact@v6 with: path: ${{ env.RESULTS_DIR }} pattern: results_* - - name: Install python dependencies - run: pip install PyGithub - - name: Calculate success rate run: python3 utils/calc_success_rate.py $STATS_FILENAME diff --git a/.github/workflows/full-sweep-8k1k-scheduler.yml b/.github/workflows/full-sweep-8k1k-scheduler.yml index 516e630c6..c77250527 100644 --- a/.github/workflows/full-sweep-8k1k-scheduler.yml +++ b/.github/workflows/full-sweep-8k1k-scheduler.yml @@ -14,9 +14,16 @@ jobs: - name: Checkout code uses: actions/checkout@v5 + - name: Set up Python + uses: actions/setup-python@v6 + with: + python-version: '3.12' + + - name: Install dependencies + run: pip install pydantic pyyaml + - id: get-dsr1-configs run: | - pip install pydantic CONFIG_JSON=$(python3 ${GITHUB_WORKSPACE}/utils/matrix-logic/generate_sweep_configs.py full-sweep --config-files ${GITHUB_WORKSPACE}/.github/configs/nvidia-master.yaml ${GITHUB_WORKSPACE}/.github/configs/amd-master.yaml --seq-lens 8k1k --model-prefix dsr1) echo "search-space-config=$CONFIG_JSON" >> $GITHUB_OUTPUT @@ -28,9 +35,16 @@ jobs: - name: Checkout code uses: actions/checkout@v5 + - name: Set up Python + uses: actions/setup-python@v6 + with: + python-version: '3.12' + + - name: Install dependencies + run: pip install pydantic pyyaml + - id: get-gptoss-configs run: | - pip install pydantic CONFIG_JSON=$(python3 ${GITHUB_WORKSPACE}/utils/matrix-logic/generate_sweep_configs.py full-sweep --config-files ${GITHUB_WORKSPACE}/.github/configs/nvidia-master.yaml ${GITHUB_WORKSPACE}/.github/configs/amd-master.yaml --seq-lens 8k1k --model-prefix gptoss) echo "search-space-config=$CONFIG_JSON" >> $GITHUB_OUTPUT @@ -159,15 +173,20 @@ jobs: token: ${{ secrets.REPO_PAT }} fetch-depth: 0 + - name: Set up Python + uses: actions/setup-python@v6 + with: + python-version: '3.12' + + - name: Install dependencies + run: pip install PyGithub + - name: Download results artifacts uses: actions/download-artifact@v6 with: path: ${{ env.RESULTS_DIR }} pattern: results_* - - name: Install python dependencies - run: pip install PyGithub - - name: Calculate success rate run: python3 utils/calc_success_rate.py $STATS_FILENAME diff --git a/.github/workflows/full-sweep-test.yml b/.github/workflows/full-sweep-test.yml index 80f0ed411..544718abc 100644 --- a/.github/workflows/full-sweep-test.yml +++ b/.github/workflows/full-sweep-test.yml @@ -48,11 +48,18 @@ jobs: - name: Checkout code uses: actions/checkout@v5 + - name: Set up Python + uses: actions/setup-python@v6 + with: + python-version: '3.12' + + - name: Install dependencies + run: pip install pydantic pyyaml + # This looks complicated, but it is just calling generate_sweep_configs.py conditioned on # discrete inputs (i.e., run_1k1k, run_h100, etc.) to split the test sweep into discrete jobs - id: generate-configs run: | - pip install pydantic set -x # Build runner type filters based on inputs @@ -427,15 +434,20 @@ jobs: token: ${{ secrets.REPO_PAT }} fetch-depth: 0 + - name: Set up Python + uses: actions/setup-python@v6 + with: + python-version: '3.12' + + - name: Install dependencies + run: pip install PyGithub + - name: Download results artifacts uses: actions/download-artifact@v6 with: path: ${{ env.RESULTS_DIR }} pattern: results_* - - name: Install python dependencies - run: pip install PyGithub - - name: Calculate success rate run: python3 utils/calc_success_rate.py $STATS_FILENAME diff --git a/.github/workflows/label-validation.yml b/.github/workflows/label-validation.yml index d564c2a9a..78e2d6de1 100644 --- a/.github/workflows/label-validation.yml +++ b/.github/workflows/label-validation.yml @@ -18,6 +18,14 @@ jobs: - name: Checkout code uses: actions/checkout@v5 + - name: Set up Python + uses: actions/setup-python@v6 + with: + python-version: '3.12' + + - name: Install dependencies + run: pip install pydantic pyyaml + - id: get-jobs shell: python run: | @@ -49,7 +57,6 @@ jobs: # Generate configs for standard labels all_configs = [] if matching: - subprocess.run(['pip', 'install', 'pydantic'], check=True) for label in matching: result = subprocess.run([ @@ -125,15 +132,20 @@ jobs: token: ${{ secrets.REPO_PAT }} fetch-depth: 0 + - name: Set up Python + uses: actions/setup-python@v6 + with: + python-version: '3.12' + + - name: Install dependencies + run: pip install PyGithub + - name: Download results artifacts uses: actions/download-artifact@v6 with: path: ${{ env.RESULTS_DIR }} pattern: results_* - - name: Install python dependencies - run: pip install PyGithub - - name: Calculate success rate run: python3 utils/calc_success_rate.py $STATS_FILENAME