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,35 +104,18 @@ jobs:
104 with: 104 with:
105 name: distribution 105 name: distribution
106 path: distribution 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 pikepdf: 107 pikepdf:
  108 + strategy:
  109 + fail-fast: false
  110 + max-parallel: 1
  111 + matrix:
  112 + future: ['', 'future']
115 runs-on: ubuntu-latest 113 runs-on: ubuntu-latest
116 needs: Prebuild 114 needs: Prebuild
117 steps: 115 steps:
118 - uses: actions/checkout@v3 116 - uses: actions/checkout@v3
119 - name: 'pikepdf' 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 Sanitizers: 119 Sanitizers:
137 runs-on: ubuntu-latest 120 runs-on: ubuntu-latest
138 needs: Prebuild 121 needs: Prebuild
@@ -140,18 +123,19 @@ jobs: @@ -140,18 +123,19 @@ jobs:
140 - uses: actions/checkout@v3 123 - uses: actions/checkout@v3
141 - name: 'Sanitizer Tests' 124 - name: 'Sanitizer Tests'
142 run: build-scripts/test-sanitizers 125 run: build-scripts/test-sanitizers
143 - UnsignedChar: 126 + QuickJobs:
144 runs-on: ubuntu-latest 127 runs-on: ubuntu-latest
145 needs: Prebuild 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 steps: 138 steps:
147 - uses: actions/checkout@v3 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 }}