Update build script

This commit is contained in:
Caelan Sayler
2023-12-22 12:05:34 +00:00
parent d8459636f6
commit 81a0ba709d
4 changed files with 45 additions and 20 deletions

View File

@@ -2,33 +2,59 @@ name: Build Squirrel
on: [ push, pull_request ]
env:
DOTNET_VERSION: '6.0.301'
jobs:
build-windows:
name: Build Windows
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Setup .NET
- name: Setup .NET 6
uses: actions/setup-dotnet@v1
with:
dotnet-version: ${{ env.DOTNET_VERSION }}
- name: Build
shell: pwsh
run: .\build.ps1
- name: Test Core
run: dotnet test --no-build test\Squirrel.Tests\Squirrel.Tests.csproj -c Release -l "console;verbosity=detailed"
- name: Test CLI
run: dotnet test --no-build test\Squirrel.CommandLine.Tests\Squirrel.CommandLine.Tests.csproj -c Release -l "console;verbosity=detailed"
dotnet-version: 6.0.x
- name: Setup .NET 8
uses: actions/setup-dotnet@v1
with:
dotnet-version: 8.0.x
- name: Install Rust
run: rustup update stable
- name: Install cargo-llvm-cov
uses: taiki-e/install-action@cargo-llvm-cov
- name: Build Rust
working-directory: src/Rust
run: |
cargo build
cargo build --release
- name: Test Rust
working-directory: src/Rust
run: cargo llvm-cov --codecov --output-path ../../test/codecov-rust.json
- name: Build .NET
run: dotnet build -c Release
- name: Test .NET
run: dotnet test -c Release --no-build -l "console;verbosity=detailed"
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./test/codecov-rust.json,./test/coverage.opencover.xml
fail_ci_if_error: true
- name: Upload Artifacts
uses: actions/upload-artifact@v3
with:
name: packages
path: .\build\Release\*.nupkg
- name: Publish to GitHub Packages
shell: pwsh
run: dotnet nuget push .\build\Release\*.nupkg -k ${{ secrets.GITHUB_TOKEN }} -s https://nuget.pkg.github.com/${{ github.repository_owner }}/index.json --skip-duplicate

View File

@@ -341,10 +341,11 @@ internal static class SystemCommandLineExtensions
public static void MustBeSupportedRid(OptionResult result)
{
for (int i = 0; i < result.Tokens.Count; i++) {
if (!Regex.IsMatch(result.Tokens[i].Value, @"^(?<os>osx|win)\.?(?<ver>[\d\.]+)?(?:-(?<arch>(?:x|arm)\d{2}))$"))
for (var i = 0; i < result.Tokens.Count; i++) {
if (!Regex.IsMatch(result.Tokens[i].Value, @"^(?<os>osx|win)\.?(?<ver>[\d\.]+)?(?:-(?<arch>(?:x|arm)\d{2}))$")) {
result.AddError($"Invalid or unsupported runtime '{result.IdentifierToken.Value}'. Valid example: win-x64, osx-arm64.");
break;
break;
}
}
}
}

View File

@@ -25,9 +25,7 @@ public class HelperFile
Log = logger;
}
#if DEBUG
public static string FindTestFile(string toFind) => FindHelperFile(toFind, throwWhenNotFound: true);
#endif
public static void AddSearchPath(params string[] pathParts)
{

View File

@@ -30,8 +30,8 @@
<PropertyGroup>
<CoverletOutputFormat>json,opencover</CoverletOutputFormat>
<CoverletOutput>..\coverage\</CoverletOutput>
<MergeWith>..\coverage\coverage.json</MergeWith>
<CoverletOutput>..\</CoverletOutput>
<MergeWith>..\coverage.json</MergeWith>
<Include>[Squirrel*]*</Include>
<Exclude>[Squirrel.*.Tests]*</Exclude>
<CollectCoverage>true</CollectCoverage>