2160 Commits

Author SHA1 Message Date
dependabot[bot]
dde7a09694
Bump certifi in /contrib/deploy-onefuzz-via-azure-devops (#3346)
Bumps [certifi](https://github.com/certifi/python-certifi) from 2023.5.7 to 2023.7.22.
- [Commits](https://github.com/certifi/python-certifi/compare/2023.05.07...2023.07.22)

---
updated-dependencies:
- dependency-name: certifi
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Adam <103067949+AdamL-Microsoft@users.noreply.github.com>
2023-08-02 16:12:09 -07:00
Adam
1beb8887e9
Release 8.6.2 (Hotfix) (#3375)
* Release-8.6.2-Hotfix

---------

Co-authored-by: Teo Voinea <58236992+tevoinea@users.noreply.github.com>
Co-authored-by: Cheick Keita <chkeita@microsoft.com>
2023-08-02 11:14:05 -07:00
Cheick Keita
4c6fb7a962
Forcefully shutdown the runtime before existing the main task (#3378) 2023-08-02 09:36:58 -07:00
George Pollard
bcf3cf941a
Remove srcview (#3376) 2023-08-01 15:14:49 -07:00
Teo Voinea
cfbcb166d8
Refactor AdoTemplate rendering (#3370)
* .

* Add tests and complete refactor

* Remove done todo

* Log the query we created
2023-08-01 15:01:31 -04:00
Teo Voinea
55aa7e5c02
Improve error output in libfuzzer verification (#3355) 2023-07-31 13:26:18 +00:00
Joe Ranweiler
733247ce5b
Add missing winapi features (#3351) 2023-07-30 23:56:27 +00:00
Adam
09fabb7793
Release 8.6.1 (Hotfix) (#3361)
* Release-8.6.1
---------
Co-authored-by: Teo Voinea <58236992+tevoinea@users.noreply.github.com>
2023-07-28 17:27:32 -07:00
Teo Voinea
02b74c62a5
Requeue ado notification on ff (#3358)
* Requeue ado notification on ff

* Fix test
2023-07-28 17:48:47 -04:00
Teo Voinea
895b8da886
Feature flag work item creation (#3353) 2023-07-28 13:27:15 -04:00
Adam
f144544844
Release 8.6.0 (#3348)
* Release 8.6.0
2023-07-27 20:50:31 +00:00
Cheick Keita
8cb761a565
Implement with_tasks option to expand the task information (#3343)
* Implement with_tasks option to expand the task information

* Added tests

* format
2023-07-26 16:00:53 -07:00
Noah McGregor Harper
fc4e698f9b
Replacing 'Upgrade' flag with 'Skip AAD'. (#3345)
* Replacing 'Upgrade' flag with 'Skip AAD'.

* Format.

* Just skipping role assignment."

* Fixing role.

* Updating help.
2023-07-26 11:26:20 -07:00
Kanan B
ed4c02a8e8
Look for azcopy.exe in AZCOPY if it's a directory (#3344)
* Look for azcopy.exe in AZCOPY if it's a directory

* Make file check in AZCOPY dir more concise

Co-authored-by: George Pollard <gpollard@microsoft.com>

* Add logic to support searching for azcopy on linux

---------

Co-authored-by: George Pollard <gpollard@microsoft.com>
2023-07-26 09:00:41 -07:00
Teo Voinea
6ea2faa0b0
Populate InputBlob when possible (#3342)
* Populate inputblob when possible

* PR comment
2023-07-26 12:56:13 +00:00
Cheick Keita
02d9c0d3c9
Local refactoring (#3117)
* WIP local mode refactoring

* .

* Adding coverage

* Updated schema and basic template to use anchors

* Libfuzzer with template works

* Coverage task works

* fixup

* bug fixes

* format

* format

* update the basic yaml

* update libfuzzer basic

* remove schema.yml

---------

Co-authored-by: Teo Voinea <58236992+tevoinea@users.noreply.github.com>
2023-07-25 21:39:07 -07:00
dependabot[bot]
8fc878fb79
Bump quick-xml from 0.29.0 to 0.30.0 in /src/agent (#3328)
Bumps [quick-xml](https://github.com/tafia/quick-xml) from 0.29.0 to 0.30.0.
- [Release notes](https://github.com/tafia/quick-xml/releases)
- [Changelog](https://github.com/tafia/quick-xml/blob/master/Changelog.md)
- [Commits](https://github.com/tafia/quick-xml/compare/v0.29.0...v0.30.0)

---
updated-dependencies:
- dependency-name: quick-xml
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-25 22:54:56 +00:00
Adam
226d0f2b66
Update redirect URI if deployment uses a custom domain (#3341) 2023-07-25 15:04:08 -07:00
Kanan B
73e21e9c8e
Update repro get_files to handle regression reports (#3340)
* Add support for regression reports to 'repro get_files'

* Make get_files logic more clear

* Format api.py with black

* Change crash_info default values for mypy

* Set crash_info['input_blob_container'] as a Container instead of string

* Add logic for handling a missing 'original_crash_test_result' or missing 'crash_report's

* Adjust code format in get_files

* Update logic to comply with mypy

* Fix missing dict index operation
2023-07-25 13:26:07 -07:00
George Pollard
62c3f079af
Fix #3309 (#3334) 2023-07-24 23:54:57 +00:00
Justin Moore
e5d7a601bf
Limit azcopy to just half a gig of RAM (#3293)
Co-authored-by: Noah McGregor Harper <74685766+nharper285@users.noreply.github.com>
Co-authored-by: George Pollard <gpollard@microsoft.com>
2023-07-24 23:34:23 +00:00
George Pollard
9f234a10cf
Storage performance fixes (#3313)
Noticed a few things while doing #3304, so fixing them in another PR:

- Add `CreateNewContainer` which will always create a new container instead of looking for one first.
- InstanceId was not being cached properly (the Lazy would be recreated upon every request) — my fault!
- Add `GetBlob` beside `GetBlogWithTags` for when we don't need the tags
- Make `GetBlogWithTags` do both fetches in parallel
2023-07-25 11:24:34 +12:00
George Pollard
e68fc450dc
Revert "Update packaging of LibFuzzerDotNetLoader (#3248)" (#3327)
This reverts commit 25f125748dc0352d66385281e7a4468621233739.

The change broke the libfuzzer dotnet template (I could have sworn I validated first with check-pr but…)

Two things didn't work:
1. the path to the LibFuzzerDotNetLoader needed to change; I attempted to fix this in #3324 
2. minidumps weren't being captured, for an unknown reason. I haven't figured out why yet, thus I'm going to simply revert the change so we have this working for the next release.
2023-07-24 21:37:45 +00:00
George Pollard
33e645ded5
Fix resolution of sibling .NET DLLs (#3325)
When `LibFuzzerDotNetLoader` loads DLLs that have dependencies, they are not currently resolved correctly, as sibling DLLs in the same directory are not considered. In order to do this, we need to provide a custom `AssemblyLoadContext`. This PR does so, based on the [dotnet core example code](https://learn.microsoft.com/en-us/dotnet/core/tutorials/creating-app-with-plugin-support).

Validated with custom fuzzer implementation; we don't yet have a full test for this in check-pr.

Closes #3326.
2023-07-24 21:20:17 +00:00
Kanan B
2ecca70ad0
Add extra logging when System.Title is too long (#3332) 2023-07-24 14:01:51 -07:00
Teo Voinea
2d0d297301
Fix 'missing' dependency (#3331) 2023-07-24 19:51:33 +00:00
Kanan B
40e4d50361
Render System.Title before trying to trim (#3329)
* Render System.Title before trying to trim

* Get the instance url in GithubIssue() using the available context instead of passing it
2023-07-24 11:20:35 -07:00
dependabot[bot]
85002a6b1e
Bump tempfile from 3.6.0 to 3.7.0 in /src/proxy-manager (#3319)
Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.6.0 to 3.7.0.
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.6.0...v3.7.0)

---
updated-dependencies:
- dependency-name: tempfile
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-24 04:34:17 +00:00
dependabot[bot]
82ec25563c
Bump tempfile from 3.6.0 to 3.7.0 in /src/agent (#3320)
Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.6.0 to 3.7.0.
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.6.0...v3.7.0)

---
updated-dependencies:
- dependency-name: tempfile
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-24 16:17:13 +12:00
dependabot[bot]
de69712b58
Bump iced-x86 from 1.19.0 to 1.20.0 in /src/agent (#3317)
Bumps [iced-x86](https://github.com/icedland/iced) from 1.19.0 to 1.20.0.
- [Release notes](https://github.com/icedland/iced/releases)
- [Commits](https://github.com/icedland/iced/compare/v1.19.0...v1.20.0)

---
updated-dependencies:
- dependency-name: iced-x86
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-21 03:17:48 +00:00
Kanan B
956474e622
Differentiate INVALID_JOB and INVALID_TASK error codes (#3318) 2023-07-20 16:29:06 -07:00
George Pollard
51591b7ace
Cache FindContainer (#3304)
Closes #3156.

From now on, we will store additional information about containers in a table (`ContainerInformation`). This is populated when a container is created, or lazily when looking for a container we have not yet stored in the table.

Reads from this table are also cached in memory for a short period of time (currently 10 minutes).

The table is currently used to speed up lookups for containers across storage accounts; we round-robin creation of containers across multiple storage accounts to spread load, so when we read from a container we need to find what storage account it lives in.

The `ContainerInformation` table could also be used in future to store information about access control (see, e.g. #1419).
2023-07-21 09:03:11 +12:00
George Pollard
c44bd03939
Make ServiceConfiguration eagerly evalulated (#3136)
See #3316. This helps diagnosing problems when running the service.

Read all configuration variables in the service upon startup to detect problems as early as possible. This also allows us to remove a bunch of nullability annotations and makes the config easier to use, as well as enforcing stronger types like `Url` and `ResourceIdentifier`.
2023-07-21 08:37:12 +12:00
George Pollard
938176b700
Use FluentAssertions.Analyzers (#3314) 2023-07-20 09:07:39 -07:00
dependabot[bot]
b9911206ac
Bump notify from 5.1.0 to 6.0.1 in /src/agent (#3195)
* Bump notify from 5.1.0 to 6.0.1 in /src/agent

Bumps [notify](https://github.com/notify-rs/notify) from 5.1.0 to 6.0.1.
- [Release notes](https://github.com/notify-rs/notify/releases)
- [Changelog](https://github.com/notify-rs/notify/blob/main/CHANGELOG.md)
- [Commits](https://github.com/notify-rs/notify/compare/notify-5.1.0...notify-6.0.1)

---
updated-dependencies:
- dependency-name: notify
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update for new notify API which has renames

* Add tests for expected behaviour

* Disable crossbeam support as recommended for use with Tokio

* Fix Windows behaviour

* Pre-filter events

* Log when ignoring unknown rename event

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: George Pollard <gpollard@microsoft.com>
2023-07-19 23:57:46 +00:00
Kanan B
06fb0d3fd0
Kanan/test template fix (#3308)
* Fix test_template logic

* Rewrite test_template logic to make it's intention more clear
2023-07-19 15:53:42 -07:00
dependabot[bot]
9bc1ab3c55
Bump Microsoft.Azure.Functions.Worker from 1.14.1 to 1.18.0 in /src/ApiService (#3291)
* Bump Microsoft.Azure.Functions.Worker in /src/ApiService

Bumps [Microsoft.Azure.Functions.Worker](https://github.com/Azure/azure-functions-dotnet-worker) from 1.14.1 to 1.18.0.
- [Release notes](https://github.com/Azure/azure-functions-dotnet-worker/releases)
- [Changelog](https://github.com/Azure/azure-functions-dotnet-worker/blob/1.18.0/release_notes.md)
- [Commits](https://github.com/Azure/azure-functions-dotnet-worker/compare/1.14.1...1.18.0)

---
updated-dependencies:
- dependency-name: Microsoft.Azure.Functions.Worker
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* dotnet restore

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: George Pollard <gpollard@microsoft.com>
2023-07-18 22:15:28 +00:00
Adam
84d01153be
Release-8.5.0 (#3288)
* Release-8.5.0
2023-07-18 19:45:14 +00:00
George Pollard
25f125748d
Update packaging of LibFuzzerDotNetLoader (#3248)
* Trim LibFuzzerDotNetLoader

* Trim more, update invocations

* Undo trimming

* Also reduce size of SharpFuzz

* Undo Sharpfuzz changes; they break it for some reason
2023-07-18 04:16:44 +00:00
George Pollard
0bac434163
UPN changes/fixes (#3289)
Starts to address #3158.

Rather than storing the UPN and then removing it later, do not store it in the first place.

I found one problem while working on this which was that `UserInfo` was not actually stored on `Job`, so address that as well. This was because properties which are not constructor parameters are not stored by the ORM, so I've also removed other examples from `Task` and `Node` and have them only on the response types.

---

Also started to simplify the ORM roundtripping tests; remove the custom equality comparison and instead simply compare JSON-serialized values. Rely on the FsCheck automatic generation of values where it works, rather than writing a custom Arbitrary which does the same thing.
2023-07-17 22:09:41 +00:00
George Pollard
5d05cdd403
Fix some CI flakiness by separating more artifacts (#3250)
Many jobs uploading output into the same artifact causes spurious failures unless the job which consumes the artifact depends upon all of the previous jobs. So, split the uploads into separate artifacts so that the CLI job (which is the main one that fails) can depend upon only a subset of the jobs.

Also add caching to the AFL/AFLPP builds.
2023-07-17 21:58:25 +00:00
dependabot[bot]
4fa55f3ebd
Bump insta from 1.30.0 to 1.31.0 in /src/agent (#3297)
Bumps [insta](https://github.com/mitsuhiko/insta) from 1.30.0 to 1.31.0.
- [Changelog](https://github.com/mitsuhiko/insta/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mitsuhiko/insta/compare/1.30.0...1.31.0)

---
updated-dependencies:
- dependency-name: insta
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-17 21:25:35 +00:00
George Pollard
5583d0ddd5
Bump Microsoft.Rest.ClientRuntime (#3301) 2023-07-17 21:03:41 +00:00
Teo Voinea
9a792cf7ba
Use debuginfo cache (#3280)
* Use debuginfo cache

* PR comments
2023-07-17 20:45:41 +00:00
Teo Voinea
a658fc9389
Update README.md (#3279) 2023-07-17 13:56:37 +00:00
Kanan B
f958cb7916
Trim System.Title if length is > 128 (#3284)
* Trim System.Title if length is > 128

* Format Ado.cs

* Add System.Title to Repro Steps if it needs to be trimmed

* Use Convert.ToHexString() instead of an Aggregate

* Add the full length System.Title to the Scriban template instead of inserting it into repro steps

* Upgrade transient dependency for component governance
2023-07-15 01:37:45 +00:00
Cheick Keita
930bb3f0b7
allow tasks environment variables to be set (#3294)
* allow tasks environment variables to be set

* build fix

* build fix

* build fix

* another fix

* ajusting the analysis paramters

* make tools dir optional in the analysis task

* bug fix
2023-07-14 17:13:15 -07:00
George Pollard
7a92dab7c2
Rust 1.71 (#3292) 2023-07-13 22:00:05 +00:00
George Pollard
e07a55b411
Set up .local file before invoking LibFuzzer (#3269)
Closes #3180.
2023-07-13 21:31:40 +00:00
George Pollard
8a12f95f23
Basic codecov config (#3290)
Don't count examples or test code towards coverage.
2023-07-13 06:01:24 -07:00