rust-ndarray / ndarray

ndarray: an N-dimensional array with array views, multidimensional slicing, and efficient operations
https://docs.rs/ndarray/
Apache License 2.0
3.43k stars 295 forks source link

Setup ci so that most checks run in merge queue only #1368

Closed bluss closed 4 months ago

bluss commented 4 months ago

Adopt conclusion job that summarizes ci status. Originally contributed by @messense in pyo3, copied their solution with thanks.

bluss commented 4 months ago

The merge queue now working on the right things I think: https://github.com/rust-ndarray/ndarray/actions/runs/8215462578

I listed the required checks in branch protection. I could list tests, cross_tests as those entries (not each test matrix entry, that resolves that problem for me).

And mark those as being skipped for regular PR check (see the yaml file). Too early for bors-ng to be deprecated seeing how this works(!) :slightly_smiling_face:

adamreichold commented 4 months ago

I listed the required checks in branch protection. I could list tests, cross_tests as those entries (not each test matrix entry, that resolves that problem for me).

IIRC, in PyO3 we solved this by having a single job collect the state of all the other jobs (which I think is also the usual approach applied with bors).

bluss commented 4 months ago

Oh, it ran all the right things but the required checks don't work like this. It autocompleted to tests and cross_tests for the required tests in the UI, but in CI it expands to the matrix of tests so the names are tests (stable) and so on. Everything's finished but it is still waiting.