Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ability to test multiple OSes #275

Open
wants to merge 28 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
54b8c91
Add ability to test multiple OSes
networkfusion Jun 14, 2024
8d5bf3a
Test using GH action instead
networkfusion Jun 14, 2024
be53542
Merge branch 'main' into test-pipeline-build
networkfusion Jun 14, 2024
6b7e1dd
Add smoke build content
networkfusion Jun 14, 2024
11b20dc
Fix yaml
networkfusion Jun 14, 2024
58f6a7e
Further fix.
networkfusion Jun 14, 2024
c046b0a
Only smoketest windows to start.
networkfusion Jun 14, 2024
2873780
Install nbgv tool
networkfusion Jun 14, 2024
ddc161c
Update nbgv
networkfusion Jun 14, 2024
2296a34
let solution restore nugets
networkfusion Jun 14, 2024
e6a477b
Handle versioning
networkfusion Jun 14, 2024
ead74ff
Add GH token
networkfusion Jun 14, 2024
b0a4c62
Temp uninstall GH versioning.
networkfusion Jun 14, 2024
bf7bea2
Run on all platforms
networkfusion Jun 14, 2024
72e336a
Improve build speed
networkfusion Jun 14, 2024
a13595f
Re-add Nerdbank.GitVersioning to tool
networkfusion Jun 14, 2024
0b69689
Merge branch 'main' into test-pipeline-build
networkfusion Jun 14, 2024
b49b414
Test copying version file
networkfusion Jun 14, 2024
cb81678
Use fetch-depth for versioning.
networkfusion Jun 14, 2024
3eb4a20
Try a full depth collection.
networkfusion Jun 14, 2024
36341f8
Re-add versioning to lib.
networkfusion Jun 14, 2024
225a934
Revert build option change
networkfusion Jun 14, 2024
18dbd28
Improve smoketest CI
networkfusion Jun 14, 2024
46d89c5
Remove env
networkfusion Jun 14, 2024
9d4b1c1
Revert discord webhook pool change.
networkfusion Jun 14, 2024
75f2144
Add build to handle .Net Mono
networkfusion Jun 14, 2024
1a485dc
Change matrix for net6
networkfusion Jun 14, 2024
57f18b4
Merge branch 'main' into test-pipeline-build
networkfusion Jun 23, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions .github/workflows/smoketest-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Smoke-Build

on:
push:
branches:
- main
pull_request:

jobs:

build:

strategy:
matrix:
os: [windows-latest, ubuntu-latest, macos-latest]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not a super huge fan of testing on MacOS for costs reasons. So we will have to be very careful or run it on demand.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The macos-latest is a hosted (free) runner, To get the "full" benefit, it would be great to run on the macos-latest-xlarge image (as it builds on arm64) but that does indeed incur costs. Ultimately we need to wait for a free linux runner that is able to run on arm64.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But, would also add that there are lots of warnings that are made visible by having this smoke test.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great then!

dotnet-ver: ['8.0.x', '6.0.x'] # 6.0.x is the latest version available for .Net Mono

runs-on: ${{ matrix.os }}

steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: '0' # Allow all history to be fetched (required for versioning).

- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: ${{ matrix.dotnet-ver }}

- name: Build solution
run: dotnet build
2 changes: 1 addition & 1 deletion azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ jobs:
- name: DOTNET_NOLOGO
value: true
- name: buildPlatform
value: 'x64'
value: 'x64' # TODO: Attempt to aim for Arm64 builds
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Update Windows-specific elements for compatibility with Ubuntu.

Please ensure that all Windows-specific elements such as PowerShell scripts, Windows-style paths, and environment variables are updated or replaced to ensure compatibility with the ubuntu-latest VM image.

- name: buildConfiguration
value: 'Release'
- name: solution
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,11 @@
<PackageReference Include="Microsoft.Extensions.Configuration" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="8.0.0" />
<PackageReference Include="nanoFramework.Tools.Debugger.Net" Version="2.4.42" />
<PackageReference Include="Nerdbank.GitVersioning" Version="3.6.139">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
<PackageReference Include="Nerdbank.GitVersioning" Version="3.6.133" PrivateAssets="All" />
<PackageReference Include="System.ComponentModel.Annotations" Version="5.0.0" />
<PackageReference Include="System.IO.Ports" Version="7.0.0" />
<PackageReference Include="System.Net.Http" Version="4.3.4" />
Expand Down
12 changes: 6 additions & 6 deletions nanoFirmwareFlasher.Library/packages.lock.json
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,9 @@
},
"Nerdbank.GitVersioning": {
"type": "Direct",
"requested": "[3.6.133, )",
"resolved": "3.6.133",
"contentHash": "VZWMd5YAeDxpjWjAP/X6bAxnRMiEf6tES/ITN0X5CHJgkWLLeHGmEALivmTAfYM6P+P/3Szy6VCITUAkqjcHVw=="
"requested": "[3.6.139, )",
"resolved": "3.6.139",
"contentHash": "rq0Ub/Jik7PtMtZtLn0tHuJ01Yt36RQ+eeBe+S7qnJ/EFOX6D4T9zuYD3vQPYKGI6Ro4t2iWgFm3fGDgjBrMfg=="
},
"Newtonsoft.Json": {
"type": "Direct",
Expand Down Expand Up @@ -315,9 +315,9 @@
},
"Nerdbank.GitVersioning": {
"type": "Direct",
"requested": "[3.6.133, )",
"resolved": "3.6.133",
"contentHash": "VZWMd5YAeDxpjWjAP/X6bAxnRMiEf6tES/ITN0X5CHJgkWLLeHGmEALivmTAfYM6P+P/3Szy6VCITUAkqjcHVw=="
"requested": "[3.6.139, )",
"resolved": "3.6.139",
"contentHash": "rq0Ub/Jik7PtMtZtLn0tHuJ01Yt36RQ+eeBe+S7qnJ/EFOX6D4T9zuYD3vQPYKGI6Ro4t2iWgFm3fGDgjBrMfg=="
},
"Newtonsoft.Json": {
"type": "Direct",
Expand Down
5 changes: 4 additions & 1 deletion nanoFirmwareFlasher.Tool/nanoFirmwareFlasher.Tool.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,10 @@
<PackageReference Include="CommandLineParser" Version="2.9.1" />
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
<PackageReference Include="nanoFramework.Tools.Debugger.Net" Version="2.4.42" />
<PackageReference Include="Nerdbank.GitVersioning" Version="3.6.133" PrivateAssets="All" />
<PackageReference Include="Nerdbank.GitVersioning" Version="3.6.139">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
</ItemGroup>

<ItemGroup>
Expand Down
6 changes: 3 additions & 3 deletions nanoFirmwareFlasher.Tool/packages.lock.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,9 @@
},
"Nerdbank.GitVersioning": {
"type": "Direct",
"requested": "[3.6.133, )",
"resolved": "3.6.133",
"contentHash": "VZWMd5YAeDxpjWjAP/X6bAxnRMiEf6tES/ITN0X5CHJgkWLLeHGmEALivmTAfYM6P+P/3Szy6VCITUAkqjcHVw=="
"requested": "[3.6.139, )",
"resolved": "3.6.139",
"contentHash": "rq0Ub/Jik7PtMtZtLn0tHuJ01Yt36RQ+eeBe+S7qnJ/EFOX6D4T9zuYD3vQPYKGI6Ro4t2iWgFm3fGDgjBrMfg=="
},
"Fody": {
"type": "Transitive",
Expand Down
Loading