Commit d108b859c19a82f741fc01e161b406e607556649

Authored by Jay Berkenbilt
1 parent c439cb3f

CI: optimize builds to run short jobs with less concurrency

Showing 1 changed file with 18 additions and 34 deletions
.github/workflows/main.yml
... ... @@ -104,35 +104,18 @@ jobs:
104 104 with:
105 105 name: distribution
106 106 path: distribution
107   - Linux32:
108   - runs-on: ubuntu-latest
109   - needs: Prebuild
110   - steps:
111   - - uses: actions/checkout@v3
112   - - name: 'Linux 32-bit'
113   - run: build-scripts/build-linux32
114 107 pikepdf:
  108 + strategy:
  109 + fail-fast: false
  110 + max-parallel: 1
  111 + matrix:
  112 + future: ['', 'future']
115 113 runs-on: ubuntu-latest
116 114 needs: Prebuild
117 115 steps:
118 116 - uses: actions/checkout@v3
119 117 - name: 'pikepdf'
120   - run: build-scripts/test-pikepdf
121   - pikepdf-future:
122   - runs-on: ubuntu-latest
123   - # Run after pikepdf to save concurrent runners
124   - needs: pikepdf
125   - steps:
126   - - uses: actions/checkout@v3
127   - - name: 'qpdf + pikepdf with FUTURE'
128   - run: build-scripts/test-pikepdf future
129   - Fuzzers:
130   - runs-on: ubuntu-latest
131   - needs: Prebuild
132   - steps:
133   - - uses: actions/checkout@v3
134   - - name: 'Build Fuzzer'
135   - run: build-scripts/build-fuzzer
  118 + run: build-scripts/test-pikepdf ${{ matrix.future }}
136 119 Sanitizers:
137 120 runs-on: ubuntu-latest
138 121 needs: Prebuild
... ... @@ -140,18 +123,19 @@ jobs:
140 123 - uses: actions/checkout@v3
141 124 - name: 'Sanitizer Tests'
142 125 run: build-scripts/test-sanitizers
143   - UnsignedChar:
  126 + QuickJobs:
144 127 runs-on: ubuntu-latest
145 128 needs: Prebuild
  129 + strategy:
  130 + fail-fast: false
  131 + max-parallel: 3
  132 + matrix:
  133 + script:
  134 + - build-fuzzer
  135 + - build-linux32
  136 + - test-unsigned-char
  137 + - test-c++-next
146 138 steps:
147 139 - uses: actions/checkout@v3
148   - - name: 'Unsigned Char Tests'
149   - run: build-scripts/test-unsigned-char
150   - CxxNext:
151   - runs-on: ubuntu-latest
152   - # Build after Fuzzers to save concurrent runners
153   - needs: Fuzzers
154   - steps:
155   - - uses: actions/checkout@v3
156   - - name: 'Build with Next C++ standard'
157   - run: build-scripts/test-c++-next
  140 + - name: ${{ matrix.script }}
  141 + run: build-scripts/${{ matrix.script }}
... ...