trailofbits / trailofbits/pe-parse

Reduce our build matrix

Open
#168 0 comments 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.