C# Implementation (#2)
C# implementation of SEP-1763 --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
46d96779d6
commit
45f9e0ef27
2 changed files with 13862 additions and 21 deletions
82
.github/workflows/csharp.yml
vendored
Normal file
82
.github/workflows/csharp.yml
vendored
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
name: C# CI
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
paths:
|
||||
- 'csharp/**'
|
||||
- '.github/workflows/csharp.yml'
|
||||
pull_request:
|
||||
paths:
|
||||
- 'csharp/**'
|
||||
- '.github/workflows/csharp.yml'
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
csharp-build:
|
||||
name: "Build"
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out code
|
||||
uses: actions/checkout@v4
|
||||
- name: Setup .NET
|
||||
uses: actions/setup-dotnet@v4
|
||||
with:
|
||||
dotnet-version: '8.0.x'
|
||||
- name: Restore dependencies
|
||||
run: |
|
||||
cd csharp/sdk
|
||||
dotnet restore
|
||||
- name: Build
|
||||
run: |
|
||||
cd csharp/sdk
|
||||
dotnet build --no-restore --configuration Release
|
||||
|
||||
csharp-test:
|
||||
name: "Unit Tests"
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
dotnet-version: ['8.0.x', '9.0.x']
|
||||
steps:
|
||||
- name: Check out code
|
||||
uses: actions/checkout@v4
|
||||
- name: Setup .NET
|
||||
uses: actions/setup-dotnet@v4
|
||||
with:
|
||||
dotnet-version: ${{ matrix.dotnet-version }}
|
||||
- name: Restore dependencies
|
||||
run: |
|
||||
cd csharp/sdk
|
||||
dotnet restore
|
||||
- name: Run tests
|
||||
run: |
|
||||
cd csharp/sdk
|
||||
dotnet test --no-restore --verbosity normal --collect:"XPlat Code Coverage"
|
||||
|
||||
csharp-pack:
|
||||
name: "Package"
|
||||
runs-on: ubuntu-latest
|
||||
needs: [csharp-build, csharp-test]
|
||||
steps:
|
||||
- name: Check out code
|
||||
uses: actions/checkout@v4
|
||||
- name: Setup .NET
|
||||
uses: actions/setup-dotnet@v4
|
||||
with:
|
||||
dotnet-version: '8.0.x'
|
||||
- name: Restore dependencies
|
||||
run: |
|
||||
cd csharp/sdk
|
||||
dotnet restore
|
||||
- name: Create NuGet package
|
||||
run: |
|
||||
cd csharp/sdk
|
||||
dotnet pack --no-restore --configuration Release --output ./artifacts
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: nuget-packages
|
||||
path: csharp/sdk/artifacts/*.nupkg
|
||||
12
.github/workflows/status-check.yml
vendored
12
.github/workflows/status-check.yml
vendored
|
|
@ -7,7 +7,7 @@ on:
|
|||
pull_request:
|
||||
types: [opened, synchronize, reopened]
|
||||
workflow_run:
|
||||
workflows: ["Python CI", "Go CI", "TypeScript CI"]
|
||||
workflows: ["C# CI", "Python CI", "Go CI", "TypeScript CI"]
|
||||
types: [completed]
|
||||
|
||||
permissions:
|
||||
|
|
@ -42,6 +42,9 @@ jobs:
|
|||
uses: dorny/paths-filter@v3
|
||||
with:
|
||||
filters: |
|
||||
csharp:
|
||||
- 'csharp/**'
|
||||
- '.github/workflows/csharp.yml'
|
||||
python:
|
||||
- 'python/**'
|
||||
- '.github/workflows/python.yml'
|
||||
|
|
@ -62,6 +65,12 @@ jobs:
|
|||
|
||||
// Define required checks per language
|
||||
const requiredChecks = {
|
||||
csharp: [
|
||||
'C# CI / Build',
|
||||
'C# CI / Unit Tests (8.0.x)',
|
||||
'C# CI / Unit Tests (9.0.x)',
|
||||
'C# CI / Package'
|
||||
],
|
||||
python: [
|
||||
'Python CI / Linting',
|
||||
'Python CI / Unit Tests (3.10)',
|
||||
|
|
@ -84,6 +93,7 @@ jobs:
|
|||
|
||||
// Get changed files from previous step
|
||||
const changedFiles = {
|
||||
csharp: ${{ steps.changed-files.outputs.csharp }} === 'true',
|
||||
python: ${{ steps.changed-files.outputs.python }} === 'true',
|
||||
go: ${{ steps.changed-files.outputs.go }} === 'true',
|
||||
typescript: ${{ steps.changed-files.outputs.typescript }} === 'true'
|
||||
|
|
|
|||
Loading…
Reference in a new issue