|  | 
| 1 | 1 | # This file defines our primary CI workflow that runs on pull requests | 
| 2 | 2 | # and also on pushes to special branches (auto, try). | 
| 3 | 3 | # | 
| 4 |  | -# The actual definition of the executed jobs is calculated by a Python | 
| 5 |  | -# script located at src/ci/github-actions/ci.py, which | 
|  | 4 | +# The actual definition of the executed jobs is calculated by the | 
|  | 5 | +# `src/ci/citool` crate, which | 
| 6 | 6 | # uses job definition data from src/ci/github-actions/jobs.yml. | 
| 7 | 7 | # You should primarily modify the `jobs.yml` file if you want to modify | 
| 8 | 8 | # what jobs are executed in CI. | 
|  | 
| 56 | 56 |       - name: Calculate the CI job matrix | 
| 57 | 57 |         env: | 
| 58 | 58 |           COMMIT_MESSAGE: ${{ github.event.head_commit.message }} | 
| 59 |  | -        run: python3 src/ci/github-actions/ci.py calculate-job-matrix >> $GITHUB_OUTPUT | 
|  | 59 | +        run: | | 
|  | 60 | +          cd src/ci/citool | 
|  | 61 | +          cargo test | 
|  | 62 | +          cargo run calculate-job-matrix >> $GITHUB_OUTPUT | 
| 60 | 63 |         id: jobs | 
| 61 | 64 |   job: | 
| 62 | 65 |     name: ${{ matrix.full_name }} | 
| @@ -173,6 +176,12 @@ jobs: | 
| 173 | 176 |       - name: ensure the stable version number is correct | 
| 174 | 177 |         run: src/ci/scripts/verify-stable-version-number.sh | 
| 175 | 178 | 
 | 
|  | 179 | +      # Prebuilt citool before the following step uninstall rustup | 
|  | 180 | +      - name: Build citool | 
|  | 181 | +        run: | | 
|  | 182 | +          cd src/ci/citool | 
|  | 183 | +          cargo build | 
|  | 184 | +
 | 
| 176 | 185 |       - name: run the build | 
| 177 | 186 |         # Redirect stderr to stdout to avoid reordering the two streams in the GHA logs. | 
| 178 | 187 |         run: src/ci/scripts/run-build-from-ci.sh 2>&1 | 
| @@ -212,13 +221,9 @@ jobs: | 
| 212 | 221 |       - name: upload job metrics to DataDog | 
| 213 | 222 |         if: needs.calculate_matrix.outputs.run_type != 'pr' | 
| 214 | 223 |         env: | 
| 215 |  | -          DATADOG_SITE: datadoghq.com | 
| 216 | 224 |           DATADOG_API_KEY: ${{ secrets.DATADOG_API_KEY }} | 
| 217 | 225 |           DD_GITHUB_JOB_NAME: ${{ matrix.full_name }} | 
| 218 |  | -        run: | | 
| 219 |  | -          cd src/ci | 
| 220 |  | -          npm ci | 
| 221 |  | -          python3 scripts/upload-build-metrics.py ../../build/cpu-usage.csv | 
|  | 226 | +        run: ./src/ci/citool/target/debug/citool upload-build-metrics ../../build/cpu-usage.csv | 
| 222 | 227 | 
 | 
| 223 | 228 |   # This job isused to tell bors the final status of the build, as there is no practical way to detect | 
| 224 | 229 |   # when a workflow is successful listening to webhooks only in our current bors implementation (homu). | 
|  | 
0 commit comments