trailofbits / trailofbits/pe-parse
Reduce our build matrix
Open
Nobody has claimed this yet.
enhancement
help wanted
- Dominant language
- C++
- Stars
- 911
- Forks
- 171
- PR merge metrics
- No merged PRs in 30d
Description
Our build matrix is unnecessarily wide, which slows down each CI run (since separate VMs have to be spawned for each instance):
pe-parse:
strategy:
matrix:
platform: ["ubuntu-18.04", "macos-latest"]
build-type: ["Debug", "Release"]
build-shared: ["0", "1"]
compiler:
- { CC: "clang", CXX: "clang++" }
- { CC: "gcc", CXX: "g++" }
exclude:
- platform: macos-latest
compiler: { CC: "gcc", CXX: "g++" }
We can flatten this a bit by running debug/release and shared/static builds in the same release jobs, as separate steps.
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
Find the GitHub Actions workflow containing the pe-parse matrix shown in the issue, then inspect how its debug/release and shared/static combinations are configured. Run the CI workflow after reducing the matrix; done means the same build variants remain covered while fewer VMs are spawned.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, github-actions
- Domain
- build-system, ci-cd
- Issue type
- Refactor
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100