Skip to content

Commit

Permalink
Merge remote-tracking branch 'remotes/dotnet/main' into Compiler_Mult…
Browse files Browse the repository at this point in the history
…iThreading

# Conflicts:
#	src/devices/Arduino/FirmataDevice.cs
#	tools/ArduinoCsCompiler/tests/FirmataIlExecutorTests.cs
  • Loading branch information
pgrawehr committed Dec 16, 2023
2 parents 8d86963 + 131e63d commit c7e1756
Show file tree
Hide file tree
Showing 502 changed files with 232,969 additions and 2,788 deletions.
168 changes: 0 additions & 168 deletions .github/fabricbot.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,17 +37,6 @@
"label": "Needs: Author Feedback"
}
},
{
"operator": "not",
"operands": [
{
"name": "noActivitySince",
"parameters": {
"days": 7
}
}
]
},
{
"operator": "not",
"operands": [
Expand Down Expand Up @@ -98,163 +87,6 @@
]
}
},
{
"taskType": "trigger",
"capabilityId": "IssueResponder",
"subCapability": "IssueCommentResponder",
"version": "1.0",
"config": {
"conditions": {
"operator": "and",
"operands": [
{
"name": "isAction",
"parameters": {
"action": "created"
}
},
{
"operator": "not",
"operands": [
{
"name": "isOpen",
"parameters": {}
}
]
},
{
"name": "activitySenderHasPermissions",
"parameters": {
"permissions": "none"
}
},
{
"name": "noActivitySince",
"parameters": {
"days": 7
}
},
{
"operator": "not",
"operands": [
{
"name": "isCloseAndComment",
"parameters": {}
}
]
}
]
},
"eventType": "issue",
"eventNames": [
"issue_comment"
],
"taskName": "For issues closed with no activity over 7 days, ask non-contributor to consider opening a new issue instead.",
"actions": [
{
"name": "addReply",
"parameters": {
"comment": "Hello lovely human, thank you for your comment on this issue. Because this issue has been closed for a period of time, please strongly consider opening a new issue linking to this issue instead to ensure better visibility of your comment. Thank you!"
}
}
]
}
},
{
"taskType": "scheduled",
"capabilityId": "ScheduledSearch",
"subCapability": "ScheduledSearch",
"version": "1.1",
"config": {
"frequency": [
{
"weekDay": 0,
"hours": [
3,
15
],
"timezoneOffset": 2
},
{
"weekDay": 1,
"hours": [
3,
15
],
"timezoneOffset": 2
},
{
"weekDay": 2,
"hours": [
3,
15
],
"timezoneOffset": 2
},
{
"weekDay": 3,
"hours": [
3,
15
],
"timezoneOffset": 2
},
{
"weekDay": 4,
"hours": [
3,
15
],
"timezoneOffset": 2
},
{
"weekDay": 5,
"hours": [
3,
15
],
"timezoneOffset": 2
},
{
"weekDay": 6,
"hours": [
3,
15
],
"timezoneOffset": 2
}
],
"searchTerms": [
{
"name": "isClosed",
"parameters": {}
},
{
"name": "noActivitySince",
"parameters": {
"days": 30
}
},
{
"name": "isUnlocked",
"parameters": {}
},
{
"name": "isIssue",
"parameters": {}
}
],
"taskName": "Lock issues closed without activity for over 30 days",
"actions": [
{
"name": "lockIssue",
"parameters": {
"reason": "resolved"
}
}
]
}
},
{
"taskType": "trigger",
"capabilityId": "PrAutoLabel",
Expand Down
36 changes: 36 additions & 0 deletions .github/workflows/locker.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Locker - Lock stale issues and PRs
on:
schedule:
- cron: '0 9 * * *' # Once per day, early morning PT

workflow_dispatch:
# Manual triggering through the GitHub UI, API, or CLI
inputs:
daysSinceClose:
required: true
default: "30"
daysSinceUpdate:
required: true
default: "30"

permissions:
issues: write
pull-requests: write

jobs:
main:
runs-on: ubuntu-latest
steps:
- name: Checkout Actions
uses: actions/checkout@v4
with:
repository: "microsoft/vscode-github-triage-actions"
path: ./actions
ref: cd16cd2aad6ba2da74bb6c6f7293adddd579a90e # locker action commit sha
- name: Install Actions
run: npm install --production --prefix ./actions
- name: Run Locker
uses: ./actions/locker
with:
daysSinceClose: ${{ fromJson(inputs.daysSinceClose || 30) }}
daysSinceUpdate: ${{ fromJson(inputs.daysSinceUpdate || 30) }}
3 changes: 3 additions & 0 deletions Documentation/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,11 @@ See the following resources to get started.
This repository mainly contains two different components:

1. **System.Device.Gpio** library and tests which is the main library that has the implementation for protocols such as: GPIO, SPI, I2C, PWM. This library is fully supported by the dotnet team since it has the same level of support that dotnet/corefx does. All the code for the library lives under src/System.Device.Gpio. This library targets .NET Standard 2.0, and will work on both Windows and Linux. It's implementation consists of just IL code, so that means that it is supported across different platforms. In order to add new API to this library, an API Proposal would have to be submitted and approved first. [Here](https://github.com/dotnet/iot/issues/122) is an example of a how a good API proposal should look like.
Doing a PR on this part of the project may result in API review, higher exigence for the code quality and longer discussions. You need to be ready for this.
1. **Iot.Device.Bindings** device bindings library. This is a collection of types which work as wrappers (or bindings) for devices and sensors which are able to talk to a microcontroller unit (or MCU like a Raspberry Pi for example) using the protocols supported by System.Device.Gpio. For example: [BME280](../src/devices/Bmxx80/README.md) is a temperature sensor which uses SPI and I2C in order to communicate with a MCU and is able to report the current temperature. Because the process of how to compute the temperature from the data is not trivial, we have a `Bme280` class which exposes friendly methods like `ReadTemperature()` which will internally use either SPI or I2C to get the current temperature value. In order to start adding a new binding, check out our [guide on how to contribute a new binding](../tools/templates/DeviceBindingTemplate/README.md). It is worth noting that even though all device bindings will be built and packaged as a single library (Iot.Device.Bindings), the code is split under src/devices on individual projects for easier development of a single binding and developer inner-loop.

While contributing, you should read the [coding guidelines section](https://github.com/dotnet/runtime/tree/main/docs#coding-guidelines), the [device conventions](./Devices-conventions.md) and also how to [best contribute to a binding](../src/devices/README.md#contributing-a-binding).

## System.Device.* APIs

* [Device Bindings](https://github.com/dotnet/iot/tree/main/src/devices) - Includes a collection of APIs representing a range of sensors, displays and human interface devices based on System.Device.* APIs.
Expand Down
4 changes: 2 additions & 2 deletions Documentation/creating-new-release.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@ This is a list of steps which need to happen in order to release new version of
- Step 1: Ensure all PRs meant for this release are merged.
- While the process is ongoing, make sure no new PRs get merged in order to ensure that the official build doesn't get reset.
- Step 2: Regenerate device listing:
- `dotnet run` on <https://github.com/dotnet/iot/tree/master/tools/device-listing>
- `dotnet run` on <https://github.com/dotnet/iot/tree/main/tools/device-listing>
- Fix all warnings, re-run if needed to ensure no warnings.
- Always manually review the changes paying attention the generated document looks clear.
- Adjust categories/code of the generator if necessary.
- Step 3: Create new package:
- Go to <https://dev.azure.com/dnceng/internal/_build?definitionId=239>
- Go to <https://dev.azure.com/dotnet/IoT/_build?definitionId=179>
- Select "Run Pipeline", select row which says `variables` and add new one: `DotNetFinalVersionKind=release` (no quotes anywhere).
- Run and wait for it to finish.
- Once it is done and passes go to the artifacts section of the build, and find an artifact called 'Built packages' and from there download the two stable packages.
Expand Down
2 changes: 1 addition & 1 deletion SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ The .NET Core and ASP.NET Core support policy, including supported versions can

## Reporting a Vulnerability

Security issues and bugs should be reported privately to the Microsoft Security Response Center (MSRC), either by emailing [email protected] or via the portal at <https://msrc.microsoft.com>.
Security issues and bugs should be reported privately to the Microsoft Security Response Center (MSRC), either by emailing [[email protected]](mailto:[email protected]) or via the portal at <https://msrc.microsoft.com>.
You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your
original message. Further information, including the MSRC PGP key, can be found in the [MSRC Report an Issue FAQ](https://www.microsoft.com/en-us/msrc/faqs-report-an-issue).

Expand Down
1 change: 1 addition & 0 deletions build.proj
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
<!-- Run Pack -->
<_ProjectsToPackage Include="$(MSBuildThisFileDirectory)src\Iot.Device.Bindings\Iot.Device.Bindings.csproj" />
<_ProjectsToPackage Include="$(MSBuildThisFileDirectory)src\System.Device.Gpio\System.Device.Gpio.csproj" />
<_ProjectsToPackage Include="$(MSBuildThisFileDirectory)src\Iot.Device.Bindings.SkiaSharpAdapter\Iot.Device.Bindings.SkiaSharpAdapter.csproj" />

<ProjectReference Condition="'$(BuildPackages)' == 'true'" Include="@(_ProjectsToPackage)" Targets="Pack" />
</ItemGroup>
Expand Down
2 changes: 1 addition & 1 deletion eng/Analyzers.props
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ file which is not marked as such, making StyleCop fail. -->
</PropertyGroup>
<ItemGroup Condition="'$(MSBuildProjectExtension)' == '.csproj'">
<AdditionalFiles Include="$(MSBuildThisFileDirectory)\stylecop.json" Link="stylecop.json" />
<PackageReference Include="StyleCop.Analyzers" Version="1.2.0-beta.333">
<PackageReference Include="StyleCop.Analyzers" Version="1.2.0-beta.507">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
Expand Down
2 changes: 1 addition & 1 deletion eng/Compilers.props
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<UseSharedCompilation>true</UseSharedCompilation>
<!-- Use the inbox compilers that come with the SDK -->
<UseSdkCompilers>true</UseSdkCompilers>
<CompilerVersion>4.5.0</CompilerVersion>
<CompilerVersion>4.6.0</CompilerVersion>
</PropertyGroup>

<PropertyGroup>
Expand Down
2 changes: 1 addition & 1 deletion eng/StyleCop.Analyzers.ruleset
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@
<Rule Id="SA1515" Action="None" /> <!-- Single-line comment should be preceded by blank line -->
<Rule Id="SA1516" Action="None" /> <!-- Elements should be separated by blank line -->
<Rule Id="SA1517" Action="Error" />
<Rule Id="SA1518" Action="Error" />
<Rule Id="SA1518" Action="None" /> <!-- Files must end with exactly one newline -->
<Rule Id="SA1519" Action="Error" />
<Rule Id="SA1520" Action="Error" />
<Rule Id="SA1600" Action="None" /> <!-- Elements should be documented -->
Expand Down
12 changes: 6 additions & 6 deletions eng/Version.Details.xml
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<Dependencies>
<ToolsetDependencies>
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="7.0.0-beta.23164.3">
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="7.0.0-beta.23517.4">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>099bbb071e187ba4e1603004597624e6acae6394</Sha>
<Sha>cb3ccc523ed844c82a63898ed3fa269680396f26</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="7.0.0-beta.23164.3">
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="7.0.0-beta.23517.4">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>099bbb071e187ba4e1603004597624e6acae6394</Sha>
<Sha>cb3ccc523ed844c82a63898ed3fa269680396f26</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.GenAPI" Version="7.0.0-beta.23164.3">
<Dependency Name="Microsoft.DotNet.GenAPI" Version="7.0.0-beta.23517.4">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>099bbb071e187ba4e1603004597624e6acae6394</Sha>
<Sha>cb3ccc523ed844c82a63898ed3fa269680396f26</Sha>
</Dependency>
</ToolsetDependencies>
<!-- ProductDependencies -->
Expand Down
12 changes: 6 additions & 6 deletions eng/Versions.external.props
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
<Project>
<!-- These references to third-party libraries are included in all projects except System.Device.Gpio and the build wrapper project -->
<ItemGroup Condition="'$(MSBuildProjectName)' != 'System.Device.Gpio' And '$(MSBuildProjectName)' != 'build'">
<PackageReference Include="UnitsNet" Version="5.1.0" />
<PackageReference Include="SixLabors.ImageSharp" Version="1.0.2" />
<PackageReference Include="UnitsNet" Version="5.31.0" />
</ItemGroup>

<!-- Automatically include these assemblies in all test projects -->
<ItemGroup Condition="$(MSBuildProjectName.EndsWith('Tests'))">
<PackageReference Include="Moq" Version="4.16.1" />
<PackageReference Include="xunit" Version="2.4.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.3">
<PackageReference Include="xunit" Version="2.6.2" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.5.5">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="xunit.runner.utility" Version="2.4.1" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.9.4" />
<PackageReference Include="xunit.runner.utility" Version="2.6.1" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.8.0" />
<PackageReference Include="Shouldly" Version="4.2.1" />
</ItemGroup>
</Project>
9 changes: 5 additions & 4 deletions eng/Versions.props
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
<!-- Disabling the check for End of live TFMs since we still target netcoreapp 2.1 -->
<CheckEolTargetFramework>false</CheckEolTargetFramework>
<PreReleaseVersionLabel>prerelease</PreReleaseVersionLabel>
<MicrosoftDotNetGenAPIPackageVersion>7.0.0-beta.23164.3</MicrosoftDotNetGenAPIPackageVersion>
<MicrosoftDotNetGenAPIPackageVersion>7.0.0-beta.23517.4</MicrosoftDotNetGenAPIPackageVersion>
<!-- dotnet/corefx dependencies -->
<SystemDrawingCommonPackageVersion>5.0.3</SystemDrawingCommonPackageVersion>
<SystemDrawingCommonPackageVersion>6.0.0</SystemDrawingCommonPackageVersion>
<SystemIOPortsPackageVersion>5.0.1</SystemIOPortsPackageVersion>
<MicrosoftWin32RegistryPackageVersion>5.0.0</MicrosoftWin32RegistryPackageVersion>
<SystemRuntimeWindowsRuntimePackageVersion>4.6.0</SystemRuntimeWindowsRuntimePackageVersion>
Expand All @@ -16,7 +16,8 @@
<SystemRuntimeInteropServicesWindowsRuntimePackageVersion>4.3.0</SystemRuntimeInteropServicesWindowsRuntimePackageVersion>
<MicrosoftExtensionsLoggingConsolePackageVersion>7.0.0</MicrosoftExtensionsLoggingConsolePackageVersion>
<MicrosoftExtensionsLoggingPackageVersion>7.0.0</MicrosoftExtensionsLoggingPackageVersion>
<MicrosoftExtensionsLoggingAbstractionsPackageVersion>7.0.0</MicrosoftExtensionsLoggingAbstractionsPackageVersion>
<SystemTextJsonPackageVersion>6.0.1</SystemTextJsonPackageVersion>
<MicrosoftExtensionsLoggingAbstractionsPackageVersion>7.0.1</MicrosoftExtensionsLoggingAbstractionsPackageVersion>
<SystemTextJsonPackageVersion>6.0.9</SystemTextJsonPackageVersion>
<SystemIOPipelinesVersion>7.0.0</SystemIOPipelinesVersion>
</PropertyGroup>
</Project>
2 changes: 1 addition & 1 deletion eng/common/native/init-compiler.sh
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ if [[ -z "$CLR_CC" ]]; then
# Set default versions
if [[ -z "$majorVersion" ]]; then
# note: gcc (all versions) and clang versions higher than 6 do not have minor version in file name, if it is zero.
if [[ "$compiler" == "clang" ]]; then versions=( 15 14 13 12 11 10 9 8 7 6.0 5.0 4.0 3.9 3.8 3.7 3.6 3.5 )
if [[ "$compiler" == "clang" ]]; then versions=( 16 15 14 13 12 11 10 9 8 7 6.0 5.0 4.0 3.9 3.8 3.7 3.6 3.5 )
elif [[ "$compiler" == "gcc" ]]; then versions=( 12 11 10 9 8 7 6 5 4.9 ); fi

for version in "${versions[@]}"; do
Expand Down
Loading

0 comments on commit c7e1756

Please sign in to comment.