1
-
1
+ ---
2
2
name : Csharp CI with .NET
3
3
4
4
on :
5
5
push :
6
- branches : [ master ]
6
+ branches : [master]
7
7
pull_request :
8
- branches : [ master ]
8
+ branches : [master]
9
9
10
10
jobs :
11
- lint_markdown_files :
11
+ lint_code_base :
12
12
runs-on : ubuntu-latest
13
+ name : Lint Code Base
13
14
steps :
14
- - uses : actions/checkout@v3
15
- - name : Set up Ruby
16
- uses : ruby/setup-ruby@v1
17
- with :
18
- ruby-version : ' 2.6'
19
- bundler-cache : true # runs 'bundle install' and caches installed gems automatically
20
- - name : Install gem
21
- run : |
22
- gem install awesome_bot
23
- - name : Run tests
24
- run : find . -type f -name '*.md' -exec awesome_bot {} \;
25
-
15
+ - name : Checkout Code
16
+ uses : actions/checkout@v3
17
+ with :
18
+ # Full git history is needed to get a proper list of changed files
19
+ fetch-depth : 0
20
+ - name : Lint Code Base
21
+ uses : github/super-linter@v4
22
+ env :
23
+ VALIDATE_ALL_CODEBASE : false
24
+ DEFAULT_BRANCH : master
25
+ VALIDATE_CSHARP : true
26
+ VALIDATE_MARKDOWN : true
27
+
26
28
integration_tests :
27
29
uses : optimizely/csharp-sdk/.github/workflows/integration_test.yml@master
28
30
secrets :
@@ -40,54 +42,54 @@ jobs:
40
42
unit_test :
41
43
runs-on : ubuntu-latest
42
44
steps :
43
- - uses : actions/checkout@v3
44
- - name : Setup .NET
45
- uses : actions/setup-dotnet@v1
46
- with :
47
- dotnet-version : 5.0.x
48
- - name : Restore nuget packages
49
- run : |
50
- nuget restore OptimizelySDK.Travis.sln
51
- nuget install ./OptimizelySDK.Tests/packages.config -OutputDirectory ./packages
52
- nuget install NUnit.Runners -Version 2.6.4 -OutputDirectory ./testrunner
53
- - name : script
54
- run : |
55
- ./install_mono.sh
56
- xbuild /p:SignAssembly=true /p:AssemblyOriginatorKeyFile=$(pwd)/keypair.snk /p:Configuration=Release ./OptimizelySDK.Travis.sln
57
- mono ./testrunner/NUnit.Runners.2.6.4/tools/nunit-console.exe ./OptimizelySDK.Tests/bin/Release/OptimizelySDK.Tests.dll
58
- - name : find and sign dll
59
- run : |
60
- sudo find . -path './OptimizelySDK*bin/Release/OptimizelySDK*.dll' -not -regex '.*Tests.*' -print0 | while IFS= read -r -d '' file; do sn -R $file ./keypair.snk; done
45
+ - uses : actions/checkout@v3
46
+ - name : Setup .NET
47
+ uses : actions/setup-dotnet@v1
48
+ with :
49
+ dotnet-version : 5.0.x
50
+ - name : Restore nuget packages
51
+ run : |
52
+ nuget restore OptimizelySDK.Travis.sln
53
+ nuget install ./OptimizelySDK.Tests/packages.config -OutputDirectory ./packages
54
+ nuget install NUnit.Runners -Version 2.6.4 -OutputDirectory ./testrunner
55
+ - name : script
56
+ run : |
57
+ ./install_mono.sh
58
+ xbuild /p:SignAssembly=true /p:AssemblyOriginatorKeyFile=$(pwd)/keypair.snk /p:Configuration=Release ./OptimizelySDK.Travis.sln
59
+ mono ./testrunner/NUnit.Runners.2.6.4/tools/nunit-console.exe ./OptimizelySDK.Tests/bin/Release/OptimizelySDK.Tests.dll
60
+ - name : find and sign dll
61
+ run : |
62
+ sudo find . -path './OptimizelySDK*bin/Release/OptimizelySDK*.dll' -not -regex '.*Tests.*' -print0 | while IFS= read -r -d '' file; do sn -R $file ./keypair.snk; done
61
63
62
64
63
65
netStandard16 :
64
66
runs-on : windows-2022
65
67
steps :
66
- - uses : actions/checkout@v3
67
- - name : Setup .NET
68
- uses : actions/setup-dotnet@v2
69
- with :
70
- dotnet-version : 3.1.x
71
- - name : Restore dependencies
72
- run : dotnet restore OptimizelySDK.NetStandard16/OptimizelySDK.NetStandard16.csproj
73
- - name : Build
74
- run : |
75
- # strongname signing is taken care of in build step
76
- dotnet build OptimizelySDK.NetStandard16/OptimizelySDK.NetStandard16.csproj /p:SignAssembly=true /p:AssemblyOriginatorKeyFile=D:\a\csharp-sdk\csharp-sdk\keypair.snk -c Release
77
- # TODO: no dotnet test yet for NetStandard16
68
+ - uses : actions/checkout@v3
69
+ - name : Setup .NET
70
+ uses : actions/setup-dotnet@v2
71
+ with :
72
+ dotnet-version : 3.1.x
73
+ - name : Restore dependencies
74
+ run : dotnet restore OptimizelySDK.NetStandard16/OptimizelySDK.NetStandard16.csproj
75
+ - name : Build
76
+ run : |
77
+ # strongname signing is taken care of in build step
78
+ dotnet build OptimizelySDK.NetStandard16/OptimizelySDK.NetStandard16.csproj /p:SignAssembly=true /p:AssemblyOriginatorKeyFile=D:\a\csharp-sdk\csharp-sdk\keypair.snk -c Release
79
+ # TODO: no dotnet test yet for NetStandard16
78
80
79
81
netStandard20 :
80
82
runs-on : windows-2022
81
83
steps :
82
- - uses : actions/checkout@v3
83
- - name : Setup .NET
84
- uses : actions/setup-dotnet@v2
85
- with :
86
- dotnet-version : 3.1.x
87
- - name : Restore dependencies
88
- run : dotnet restore OptimizelySDK.NetStandard20/OptimizelySDK.NetStandard20.csproj
89
- - name : Build
90
- run : |
91
- # strongname signing is taken care of in build step
92
- dotnet build OptimizelySDK.NetStandard20/OptimizelySDK.NetStandard20.csproj /p:SignAssembly=true /p:AssemblyOriginatorKeyFile=D:\a\csharp-sdk\csharp-sdk\keypair.snk -c Release
93
- # TODO: no dotnet test yet for NetStandard16
84
+ - uses : actions/checkout@v3
85
+ - name : Setup .NET
86
+ uses : actions/setup-dotnet@v2
87
+ with :
88
+ dotnet-version : 3.1.x
89
+ - name : Restore dependencies
90
+ run : dotnet restore OptimizelySDK.NetStandard20/OptimizelySDK.NetStandard20.csproj
91
+ - name : Build
92
+ run : |
93
+ # strongname signing is taken care of in build step
94
+ dotnet build OptimizelySDK.NetStandard20/OptimizelySDK.NetStandard20.csproj /p:SignAssembly=true /p:AssemblyOriginatorKeyFile=D:\a\csharp-sdk\csharp-sdk\keypair.snk -c Release
95
+ # TODO: no dotnet test yet for NetStandard16
0 commit comments