4545 - name : Install specific Rust version
4646 uses : dtolnay/rust-toolchain@55c7845fad90d0ae8b2e83715cb900e5e861e8cb # pinned latest master as of 2022-10-08
4747 with :
48- toolchain : " 1.70 " # note: keep this in sync with .devcontainer/Dockerfile
48+ toolchain : " 1.71 " # note: keep this in sync with .devcontainer/Dockerfile
4949 components : clippy, rustfmt, llvm-tools-preview
5050 - name : Setup Rust problem-matchers
5151 uses : r7kamura/rust-problem-matchers@d58b70c4a13c4866d96436315da451d8106f8f08 # pinned to 1.3.0
@@ -132,7 +132,7 @@ jobs:
132132 python-version : 3.7
133133 - uses : actions/download-artifact@v3
134134 with :
135- name : build-artifacts
135+ name : artifact-onefuzztypes
136136 path : artifacts
137137 - name : Build
138138 shell : bash
@@ -157,7 +157,7 @@ jobs:
157157 cp dist/onefuzz.exe ${GITHUB_WORKSPACE}/artifacts/windows-cli/
158158 - uses : actions/upload-artifact@v3
159159 with :
160- name : build-artifacts
160+ name : artifact-cli
161161 path : artifacts
162162 - name : lint
163163 shell : bash
@@ -220,7 +220,7 @@ jobs:
220220 - run : src/ci/onefuzztypes.sh
221221 - uses : actions/upload-artifact@v3
222222 with :
223- name : build-artifacts
223+ name : artifact-onefuzztypes
224224 path : artifacts
225225 proxy :
226226 runs-on : ubuntu-20.04
@@ -239,7 +239,7 @@ jobs:
239239 - run : src/ci/proxy.sh
240240 - uses : actions/upload-artifact@v3
241241 with :
242- name : build-artifacts
242+ name : artifact-proxy
243243 path : artifacts
244244 service :
245245 runs-on : ubuntu-22.04
@@ -314,19 +314,31 @@ jobs:
314314 runs-on : ubuntu-20.04
315315 steps :
316316 - uses : actions/checkout@v3
317+ - uses : actions/cache@v3
318+ id : cache-build
319+ with :
320+ key : afl|${{runner.os}}-${{runner.arch}}|${{ hashFiles('src/ci/afl.sh') }}
321+ path : artifacts
317322 - run : src/ci/afl.sh
323+ if : steps.cache-build.outputs.cache-hit != 'true'
318324 - uses : actions/upload-artifact@v3
319325 with :
320- name : build-artifacts
326+ name : artifact-afl
321327 path : artifacts
322328 aflpp :
323329 runs-on : ubuntu-20.04
324330 steps :
325331 - uses : actions/checkout@v3
332+ - uses : actions/cache@v3
333+ id : cache-build
334+ with :
335+ key : aflpp|${{runner.os}}-${{runner.arch}}|${{ hashFiles('src/ci/aflpp.sh') }}
336+ path : artifacts
326337 - run : src/ci/aflpp.sh
338+ if : steps.cache-build.outputs.cache-hit != 'true'
327339 - uses : actions/upload-artifact@v3
328340 with :
329- name : build-artifacts
341+ name : artifact-aflpp
330342 path : artifacts
331343 bicep-check :
332344 name : Check Bicep files
@@ -352,7 +364,7 @@ jobs:
352364 shell : bash
353365 - uses : actions/upload-artifact@v3
354366 with :
355- name : build-artifacts
367+ name : artifact-dotnet-fuzzing-tools-linux
356368 path : artifacts
357369 dotnet-fuzzing-tools-windows :
358370 runs-on : windows-2022
@@ -367,7 +379,7 @@ jobs:
367379 shell : pwsh
368380 - uses : actions/upload-artifact@v3
369381 with :
370- name : build-artifacts
382+ name : artifact-dotnet-fuzzing-tools-windows
371383 path : artifacts
372384 radamsa-linux :
373385 runs-on : ubuntu-20.04
@@ -378,13 +390,13 @@ jobs:
378390 with :
379391 # key on the shell script only: this script fixes the
380392 # version to a particular commit, so if it changes we need to rebuild
381- key : radamsa-linux- ${{ hashFiles('src/ci/radamsa-linux.sh') }}
393+ key : radamsa|${{runner.os}}-${{runner.arch}}| ${{ hashFiles('src/ci/radamsa-linux.sh') }}
382394 path : artifacts
383395 - run : src/ci/radamsa-linux.sh
384396 if : steps.cache-radamsa-build-linux.outputs.cache-hit != 'true'
385397 - uses : actions/upload-artifact@v3
386398 with :
387- name : build-artifacts
399+ name : artifact-radamsa-linux
388400 path : artifacts
389401 radamsa-win64 :
390402 runs-on : windows-2019
@@ -395,24 +407,25 @@ jobs:
395407 with :
396408 # key on the shell script only: this script fixes the
397409 # version to a particular commit, so if it changes we need to rebuild
398- key : radamsa-windows- ${{ hashFiles('src/ci/radamsa-windows.sh') }}
410+ key : radamsa|${{runner.os}}-${{runner.arch}}| ${{ hashFiles('src/ci/radamsa-windows.sh') }}
399411 path : artifacts
400412 - run : c:\msys64\usr\bin\bash src/ci/radamsa-windows.sh
401413 if : steps.cache-radamsa-build-windows.outputs.cache-hit != 'true'
402414 - uses : actions/upload-artifact@v3
403415 with :
404- name : build-artifacts
416+ name : artifact-radamsa-windows
405417 path : artifacts
406418 package :
407419 needs :
408420 - agent
409421 - azcopy
410422 - cli
411- - onefuzztypes
412423 - proxy
413424 - service
414425 - afl
415426 - aflpp
427+ - dotnet-fuzzing-tools-linux
428+ - dotnet-fuzzing-tools-windows
416429 - radamsa-linux
417430 - radamsa-win64
418431 runs-on : ubuntu-20.04
@@ -422,6 +435,38 @@ jobs:
422435 with :
423436 name : build-artifacts
424437 path : artifacts
438+ - uses : actions/download-artifact@v3
439+ with :
440+ name : artifact-cli
441+ path : artifacts
442+ - uses : actions/download-artifact@v3
443+ with :
444+ name : artifact-proxy
445+ path : artifacts
446+ - uses : actions/download-artifact@v3
447+ with :
448+ name : artifact-radamsa-linux
449+ path : artifacts
450+ - uses : actions/download-artifact@v3
451+ with :
452+ name : artifact-radamsa-windows
453+ path : artifacts
454+ - uses : actions/download-artifact@v3
455+ with :
456+ name : artifact-afl
457+ path : artifacts
458+ - uses : actions/download-artifact@v3
459+ with :
460+ name : artifact-aflpp
461+ path : artifacts
462+ - uses : actions/download-artifact@v3
463+ with :
464+ name : artifact-dotnet-fuzzing-tools-linux
465+ path : artifacts
466+ - uses : actions/download-artifact@v3
467+ with :
468+ name : artifact-dotnet-fuzzing-tools-windows
469+ path : artifacts
425470 - uses : actions/setup-python@v4
426471 with :
427472 python-version : 3.7
@@ -436,6 +481,7 @@ jobs:
436481 isort --profile black . --check
437482 black . --check
438483 flake8 *.py
484+ rm -r .mypy_cache
439485 - name : Package Onefuzz
440486 run : |
441487 set -ex
@@ -540,7 +586,8 @@ jobs:
540586
541587 - uses : actions/upload-artifact@v3
542588 with :
543- name : integration-test-artifacts
589+ # NB: this name is used by check-pr.py
590+ name : artifact-integration-tests-linux
544591 path : src/integration-tests/artifacts
545592 build-integration-tests-windows :
546593 runs-on : windows-2019
@@ -623,52 +670,39 @@ jobs:
623670 shell : powershell
624671 - uses : actions/upload-artifact@v3
625672 with :
626- name : integration-test-artifacts
673+ # NB: this name is used by check-pr.py
674+ name : artifact-integration-tests-windows
627675 path : src/integration-tests/artifacts
628676 integration-tests-linux :
629677 runs-on : ubuntu-20.04
630678 needs :
631679 - build-integration-tests-linux
632680 - dotnet-fuzzing-tools-linux
633- # even though this job doesn't use the artifacts for these other jobs,
634- # we must include them or we get spurious failures when the download-artifact
635- # step tries to download the named artifact which includes files from
636- # all of these jobs
637- - agent
638- - azcopy
639- - cli
640- - onefuzztypes
641- - proxy
642- - service
643- - afl
644- - aflpp
645- - radamsa-linux
646- - radamsa-win64
647681 steps :
648682 - uses : actions/checkout@v3
649683 - uses : actions/download-artifact@v3
650684 with :
651- name : build-artifacts
652- path : build-artifacts
685+ name : artifact-dotnet-fuzzing-tools-linux
686+ path : dotnet-fuzzing-tools-linux
653687 - uses : actions/download-artifact@v3
654688 with :
655- name : integration-test-artifacts
656- path : integration-test-artifacts
689+ name : artifact- integration-tests-linux
690+ path : integration-tests-linux
657691 - name : test
658692 shell : bash
659693 run : |
660694 set -ex -o pipefail
661695
662696 # Must be absolute paths.
663- export GOODBAD_DOTNET="${GITHUB_WORKSPACE}/integration-test-artifacts /GoodBadDotnet"
697+ export GOODBAD_DOTNET="${GITHUB_WORKSPACE}/integration-tests-linux /GoodBadDotnet"
664698
665- export LIBFUZZER_DOTNET="${GITHUB_WORKSPACE}/build-artifacts /third-party/dotnet-fuzzing-linux/libfuzzer-dotnet/libfuzzer-dotnet"
699+ export LIBFUZZER_DOTNET="${GITHUB_WORKSPACE}/dotnet-fuzzing-tools-linux /third-party/dotnet-fuzzing-linux/libfuzzer-dotnet/libfuzzer-dotnet"
666700 chmod +x $LIBFUZZER_DOTNET
667701
668- export LIBFUZZER_DOTNET_LOADER="${GITHUB_WORKSPACE}/build-artifacts /third-party/dotnet-fuzzing-linux/LibFuzzerDotnetLoader/LibFuzzerDotnetLoader"
702+ export LIBFUZZER_DOTNET_LOADER="${GITHUB_WORKSPACE}/dotnet-fuzzing-tools-linux /third-party/dotnet-fuzzing-linux/LibFuzzerDotnetLoader/LibFuzzerDotnetLoader"
669703 chmod +x $LIBFUZZER_DOTNET_LOADER
670704
671- export SHARPFUZZ="${GITHUB_WORKSPACE}/build-artifacts /third-party/dotnet-fuzzing-linux/sharpfuzz/SharpFuzz.CommandLine"
705+ export SHARPFUZZ="${GITHUB_WORKSPACE}/dotnet-fuzzing-tools-linux /third-party/dotnet-fuzzing-linux/sharpfuzz/SharpFuzz.CommandLine"
672706 chmod +x $SHARPFUZZ
673707
674708 ./src/ci/test-libfuzzer-dotnet.sh
0 commit comments