NVIDIA / NVIDIA/cccl

[INFRA]: Multi-stage CI

Open
#7,785 0 comments 1 reaction 0 assignees View on GitHub
infra
Dominant language
C++
Stars
2.5k
Forks
487
Avg merge
2d 7h
Merged PRs (30d)
296

Description

### Is this a duplicate?

- [x] I confirmed there appear to be no [duplicate issues](https://github.com/NVIDIA/cccl/issues) for this request and that I agree to the [Code of Conduct](CODE_OF_CONDUCT.md)

### Overview

Currently all CI jobs are launched at the same time. This gives us the shortest possible compile times, but in cost of CI hours spent on trivial mistakes like missing `;` at the end of a line.

I was wondering whether we could could down CI hours spent on these cases by splitting the CI into 2 (or more?) stages:
1. Only a small subset of the CI would be run. My idea is to have something like newest gcc, clang and nvc++ with newest CTK ran and C++17. After they succeed, the next stage would be launched.
2. The rest of the CI matrix would be ran.

This way we would increase the overall CI run time a bit, but we would be able to catch trivial errors early.

Maybe it would be nice to test also oldest gcc, clang and nvc++ with oldest CTK. That way it would be like 6 runs.

### Details

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.