PointCloudLibrary / PointCloudLibrary/pcl
[ci] Use GitHub actions for improving CI run times
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 11.1k
- Forks
- 4.7k
- Avg merge
- 4d 10h
- Merged PRs (30d)
- 6
Description
Currently, we can run only 12 jobs in parallel on AzurePipelines, taking nearly 2.5hrs for all the tests to run for each commit. We are also unable to add more checks to the CI because of the already long build times and limited jobs.
Context
GitHub actions allow for 20 parallel jobs for free for public repos (only 5 macOS in parallel).
We can offload some of the jobs to GitHub actions and add some more checks such as with and without OMP, clang-tidy, GPU builds on more versions of Ubuntu.
This gives a total of 32 parallel jobs 😍
Describe the solution you'd like
To start off, offload some jobs to actions. Moving MSVC and Clang job to actions will free up a lot of resources on azure.
IMO all the primary jobs i.e formatting, Ubuntu GCC, and tutorials (as well as macOS as its limited on GH actions) should continue running on azure and the remaining should be moved off to actions.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by mapping the existing Azure Pipelines jobs and their parallelism. Move the MSVC and Clang jobs to GitHub Actions while keeping formatting, Ubuntu GCC, tutorials, and macOS on Azure; done means the split works and the CI capacity increases without losing existing checks.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions
- Domain
- build-system, ci-cd, devops
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100