Skip to content

Commit c111e3f

Browse files
authored
Merge pull request #35 from fastly/rth/update-ci-to-lock-to-ubuntu22.04
Fix CI To Run on Ubuntu-22.04 For Clang 14.0.0
2 parents adf2f2c + 924cb38 commit c111e3f

1 file changed

Lines changed: 31 additions & 28 deletions

File tree

.github/workflows/ci.yml

Lines changed: 31 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ env:
1515
jobs:
1616
checkout:
1717
name: "Checkout"
18-
runs-on: ubuntu-latest
18+
runs-on: ubuntu-22.04
1919

2020
steps:
2121
- name: Cache checkout
@@ -44,7 +44,10 @@ jobs:
4444
4545
pcre_suite:
4646
name: "Import PCRE suite"
47-
runs-on: ubuntu-latest
47+
runs-on: ${{ matrix.os }}
48+
strategy:
49+
matrix:
50+
os: [ ubuntu-22.04 ]
4851
needs: [ build ] # for cvtpcre
4952

5053
steps:
@@ -71,15 +74,15 @@ jobs:
7174
id: cache-cvtpcre
7275
with:
7376
path: ${{ env.cvtpcre }}
74-
key: cvtpcre-bmake-ubuntu-gcc-DEBUG-AUSAN-${{ github.sha }}-${{ env.pcre2 }}
77+
key: cvtpcre-bmake-${{ matrix.os }}-gcc-DEBUG-AUSAN-${{ github.sha }}-${{ env.pcre2 }}
7578

7679
- name: Fetch build
7780
if: steps.cache-cvtpcre.outputs.cache-hit != 'true'
7881
uses: actions/cache@v4
7982
id: cache-build
8083
with:
8184
path: ${{ env.build }}
82-
key: build-bmake-ubuntu-gcc-DEBUG-AUSAN-${{ github.sha }} # arbitary build, just for cvtpcre
85+
key: build-bmake-${{ matrix.os }}-gcc-DEBUG-AUSAN-${{ github.sha }} # arbitrary build, just for cvtpcre
8386

8487
- name: Convert PCRE suite
8588
if: steps.cache-cvtpcre.outputs.cache-hit != 'true'
@@ -130,14 +133,14 @@ jobs:
130133
131134
build:
132135
name: "Build ${{ matrix.san }} ${{ matrix.cc }} ${{ matrix.os }} ${{ matrix.debug }}"
133-
runs-on: ${{ matrix.os }}-latest
136+
runs-on: ${{ matrix.os }}
134137
needs: [ checkout ]
135138

136139
strategy:
137140
fail-fast: true
138141
matrix:
139142
san: [ NO_SANITIZER, AUSAN, MSAN, EFENCE, FUZZER ] # NO_SANITIZER=1 is a no-op
140-
os: [ ubuntu ]
143+
os: [ ubuntu-22.04 ]
141144
cc: [ clang, gcc ]
142145
make: [ bmake ] # we test makefiles separately
143146
debug: [ DEBUG, RELEASE ] # RELEASE=1 is a no-op
@@ -169,7 +172,7 @@ jobs:
169172
key: build-${{ matrix.make }}-${{ matrix.os }}-${{ matrix.cc }}-${{ matrix.debug }}-${{ matrix.san }}-${{ github.sha }}
170173

171174
- name: Dependencies (Ubuntu)
172-
if: matrix.os == 'ubuntu' && steps.cache-build.outputs.cache-hit != 'true'
175+
if: matrix.os == 'ubuntu-22.04' && steps.cache-build.outputs.cache-hit != 'true'
173176
run: |
174177
uname -a
175178
sudo apt-get install bmake electric-fence
@@ -216,14 +219,14 @@ jobs:
216219
# of the build during CI, even if we don't run that during tests.
217220
test_makefiles:
218221
name: "Test (Makefiles) ${{ matrix.make }} ${{ matrix.os }} ${{ matrix.debug }}"
219-
runs-on: ${{ matrix.os }}-latest
222+
runs-on: ${{ matrix.os }}
220223
needs: [ checkout, build ]
221224

222225
strategy:
223226
fail-fast: false
224227
matrix:
225228
san: [ NO_SANITIZER ] # NO_SANITIZER=1 is a no-op
226-
os: [ ubuntu ]
229+
os: [ ubuntu-22.04 ]
227230
cc: [ clang ]
228231
make: [ bmake, pmake ]
229232
debug: [ EXPENSIVE_CHECKS, DEBUG, RELEASE ] # RELEASE=1 is a no-op
@@ -258,7 +261,7 @@ jobs:
258261
run: find ${{ env.wc }} -type f -name '*.c' | sort -r | head -5 | xargs touch
259262

260263
- name: Dependencies (Ubuntu)
261-
if: matrix.os == 'ubuntu'
264+
if: matrix.os == 'ubuntu-22.04'
262265
run: |
263266
uname -a
264267
sudo apt-get install pmake bmake pcregrep
@@ -301,14 +304,14 @@ jobs:
301304

302305
test_san:
303306
name: "Test (Sanitizers) ${{ matrix.san }} ${{ matrix.cc }} ${{ matrix.os }} ${{ matrix.debug }}"
304-
runs-on: ${{ matrix.os }}-latest
307+
runs-on: ${{ matrix.os }}
305308
needs: [ build ]
306309

307310
strategy:
308311
fail-fast: false
309312
matrix:
310313
san: [ AUSAN, MSAN, EFENCE ]
311-
os: [ ubuntu ]
314+
os: [ ubuntu-22.04 ]
312315
cc: [ clang, gcc ]
313316
make: [ bmake ]
314317
debug: [ DEBUG, RELEASE ] # RELEASE=1 is a no-op
@@ -329,7 +332,7 @@ jobs:
329332
key: checkout-${{ github.sha }}
330333

331334
- name: Dependencies (Ubuntu)
332-
if: matrix.os == 'ubuntu'
335+
if: matrix.os == 'ubuntu-22.04'
333336
run: |
334337
uname -a
335338
sudo apt-get install bmake pcregrep electric-fence
@@ -362,15 +365,15 @@ jobs:
362365

363366
test_fuzz:
364367
name: "Fuzz (mode ${{ matrix.mode }}) ${{ matrix.cc }} ${{ matrix.os }} ${{ matrix.debug }}"
365-
runs-on: ${{ matrix.os }}-latest
368+
runs-on: ${{ matrix.os }}
366369
timeout-minutes: 5 # this should never be reached, it's a safeguard for bugs in the fuzzer itself
367370
needs: [ build ]
368371

369372
strategy:
370373
fail-fast: false
371374
matrix:
372375
san: [ FUZZER ]
373-
os: [ ubuntu ]
376+
os: [ ubuntu-22.04 ]
374377
cc: [ clang ]
375378
make: [ bmake ]
376379
debug: [ DEBUG, RELEASE ] # RELEASE=1 is a no-op
@@ -388,7 +391,7 @@ jobs:
388391
key: checkout-${{ github.sha }}
389392

390393
- name: Dependencies (Ubuntu)
391-
if: matrix.os == 'ubuntu'
394+
if: matrix.os == 'ubuntu-22.04'
392395
run: |
393396
uname -a
394397
sudo apt-get install bmake
@@ -470,14 +473,14 @@ jobs:
470473

471474
test_pcre:
472475
name: "Test (PCRE suite) ${{ matrix.lang }} ${{ matrix.san }} ${{ matrix.cc }} ${{ matrix.os }} ${{ matrix.debug }}"
473-
runs-on: ${{ matrix.os }}-latest
476+
runs-on: ${{ matrix.os }}
474477
needs: [ pcre_suite ] # and also build, but pcre_suite gives us that
475478

476479
strategy:
477480
fail-fast: false
478481
matrix:
479482
san: [ AUSAN, MSAN, EFENCE ]
480-
os: [ ubuntu ]
483+
os: [ ubuntu-22.04 ]
481484
cc: [ clang, gcc ]
482485
make: [ bmake ]
483486
debug: [ DEBUG, RELEASE ] # RELEASE=1 is a no-op
@@ -492,7 +495,7 @@ jobs:
492495

493496
steps:
494497
- name: Dependencies (Ubuntu)
495-
if: matrix.os == 'ubuntu' && matrix.san == 'EFENCE'
498+
if: matrix.os == 'ubuntu-22.04' && matrix.san == 'EFENCE'
496499
run: |
497500
uname -a
498501
sudo apt-get install electric-fence
@@ -506,7 +509,7 @@ jobs:
506509
${{ matrix.cc }} --version
507510
508511
- name: Dependencies (Ubuntu/Go)
509-
if: matrix.os == 'ubuntu' && (matrix.lang == 'go' || matrix.lang == 'goasm')
512+
if: matrix.os == 'ubuntu-22.04' && (matrix.lang == 'go' || matrix.lang == 'goasm')
510513
run: |
511514
uname -a
512515
sudo apt-get install golang
@@ -524,14 +527,14 @@ jobs:
524527
id: cache-cvtpcre
525528
with:
526529
path: ${{ env.cvtpcre }}
527-
key: cvtpcre-bmake-ubuntu-gcc-DEBUG-AUSAN-${{ github.sha }}-${{ env.pcre2 }}
530+
key: cvtpcre-bmake-${{ matrix.os }}-gcc-DEBUG-AUSAN-${{ github.sha }}-${{ env.pcre2 }}
528531

529532
- name: Run PCRE suite (${{ matrix.lang }})
530533
run: CC=${{ matrix.cc }} ./${{ env.build }}/bin/retest -O1 -l ${{ matrix.lang }} ${{ env.cvtpcre }}/*.tst
531534

532535
docs:
533536
name: Documentation
534-
runs-on: ubuntu-latest
537+
runs-on: ubuntu-22.04
535538
needs: [ checkout ]
536539

537540
env:
@@ -582,12 +585,12 @@ jobs:
582585
583586
install:
584587
name: Install
585-
runs-on: ubuntu-latest
588+
runs-on: ubuntu-22.04
586589
needs: [ build, docs ]
587590

588591
env:
589592
san: NO_SANITIZER # NO_SANITIZER=1 is a no-op
590-
os: ubuntu
593+
os: ubuntu-22.04
591594
cc: clang
592595
make: bmake
593596
debug: RELEASE # RELEASE=1 is a no-op
@@ -601,7 +604,7 @@ jobs:
601604
key: prefix-${{ env.make }}-${{ env.os }}-${{ env.cc }}-${{ env.debug }}-${{ env.san }}-${{ github.sha }}
602605

603606
- name: Dependencies (Ubuntu)
604-
if: env.os == 'ubuntu' && steps.cache-prefix.outputs.cache-hit != 'true'
607+
if: env.os == 'ubuntu-22.04' && steps.cache-prefix.outputs.cache-hit != 'true'
605608
run: |
606609
uname -a
607610
sudo apt-get install bmake
@@ -643,12 +646,12 @@ jobs:
643646
644647
fpm:
645648
name: Package ${{ matrix.pkg }}
646-
runs-on: ubuntu-latest
649+
runs-on: ubuntu-22.04
647650
needs: [ install ]
648651

649652
env:
650653
san: NO_SANITIZER # NO_SANITIZER=1 is a no-op
651-
os: ubuntu
654+
os: ubuntu-22.04
652655
cc: clang
653656
make: bmake
654657
debug: RELEASE # RELEASE=1 is a no-op
@@ -661,7 +664,7 @@ jobs:
661664

662665
steps:
663666
- name: Dependencies (Ubuntu)
664-
if: env.os == 'ubuntu'
667+
if: env.os == 'ubuntu-22.04'
665668
run: |
666669
uname -a
667670
sudo gem install --no-document fpm

0 commit comments

Comments
 (0)