Commit d108b859c19a82f741fc01e161b406e607556649
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 }} | ... | ... |