Skip to content
This repository was archived by the owner on Nov 1, 2023. It is now read-only.

Commit 431043d

Browse files
authored
Merge branch 'main' into fluent-analyzers
2 parents 8794694 + b991120 commit 431043d

File tree

82 files changed

+1976
-1583
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

82 files changed

+1976
-1583
lines changed

.devcontainer/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ ARG VARIANT="ubuntu-22.04"
55
FROM mcr.microsoft.com/devcontainers/base:${VARIANT}
66

77
# note: keep this in sync with .github/workflows/ci.yml
8-
ARG RUSTVERSION="1.70"
8+
ARG RUSTVERSION="1.71"
99

1010
# Install packages required for build:
1111
RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \

.github/workflows/ci.yml

Lines changed: 72 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ jobs:
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

Comments
 (0)