diff --git a/.github/workflows/collect-results.yml b/.github/workflows/collect-results.yml index 256427395..6e962fd7a 100644 --- a/.github/workflows/collect-results.yml +++ b/.github/workflows/collect-results.yml @@ -22,14 +22,6 @@ 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@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 with: @@ -49,7 +41,9 @@ jobs: path: agg_${{ inputs.exp-name || 'all' }}.json - name: Plot performance - run: python3 utils/plot_perf.py results/ ${{ inputs.exp-name || 'all' }} + run: | + pip install -q matplotlib + python3 utils/plot_perf.py results/ ${{ inputs.exp-name || 'all' }} - name: Upload performance graphs uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 with: diff --git a/.github/workflows/e2e-tests.yml b/.github/workflows/e2e-tests.yml index 818c114c8..2de574ad3 100644 --- a/.github/workflows/e2e-tests.yml +++ b/.github/workflows/e2e-tests.yml @@ -18,16 +18,9 @@ jobs: - name: Checkout code uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - - 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 @@ -77,20 +70,15 @@ 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@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 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 5da6c1b03..297119430 100644 --- a/.github/workflows/full-sweep-1k1k-scheduler.yml +++ b/.github/workflows/full-sweep-1k1k-scheduler.yml @@ -14,16 +14,9 @@ jobs: - name: Checkout code uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - - 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 @@ -35,16 +28,9 @@ jobs: - name: Checkout code uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - - 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 @@ -173,20 +159,15 @@ 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@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 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 b1a8faa15..098fff636 100644 --- a/.github/workflows/full-sweep-1k8k-scheduler.yml +++ b/.github/workflows/full-sweep-1k8k-scheduler.yml @@ -14,16 +14,9 @@ jobs: - name: Checkout code uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - - 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 @@ -35,16 +28,9 @@ jobs: - name: Checkout code uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - - 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 @@ -128,20 +114,15 @@ 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@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 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 d85485d50..831b49b17 100644 --- a/.github/workflows/full-sweep-8k1k-scheduler.yml +++ b/.github/workflows/full-sweep-8k1k-scheduler.yml @@ -14,16 +14,9 @@ jobs: - name: Checkout code uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - - 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 @@ -35,16 +28,9 @@ jobs: - name: Checkout code uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - - 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 @@ -173,20 +159,15 @@ 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@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 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 70c61e232..cf889e208 100644 --- a/.github/workflows/full-sweep-test.yml +++ b/.github/workflows/full-sweep-test.yml @@ -48,18 +48,11 @@ jobs: - name: Checkout code uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - - 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 @@ -434,20 +427,15 @@ 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@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 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 e838a92ea..4cd5d4a31 100644 --- a/.github/workflows/label-validation.yml +++ b/.github/workflows/label-validation.yml @@ -18,14 +18,6 @@ jobs: - name: Checkout code uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - - 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: | @@ -57,6 +49,7 @@ jobs: # Generate configs for standard labels all_configs = [] if matching: + subprocess.run(['pip', 'install', 'pydantic'], check=True) for label in matching: result = subprocess.run([ @@ -132,20 +125,15 @@ 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@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 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