|
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