6
6
branches : [master]
7
7
pull_request :
8
8
branches : [master]
9
+
10
+ env :
11
+ RELEASE_BRANCH : " master"
9
12
10
13
jobs :
11
14
lint_code_base :
38
41
secrets :
39
42
CI_USER_TOKEN : ${{ secrets.CI_USER_TOKEN }}
40
43
TRAVIS_COM_TOKEN : ${{ secrets.TRAVIS_COM_TOKEN }}
41
-
44
+
42
45
unit_test :
43
46
runs-on : ubuntu-latest
47
+ env :
48
+ REPO_SLUG : ${{ github.repository }}
49
+ BUILD_NUMBER : ${{ github.run_id }}
50
+ ATTEMPT_NUM : ${{ github.run_attempt }}
51
+ RUN_NUMBER : ${{ github.run_number }}
52
+ EVENT_TYPE : ${{ github.event_name }}
53
+ CURRENT_BRANCH : ${{ github.head_ref || github.ref_name }}
44
54
steps :
45
55
- uses : actions/checkout@v3
46
56
- name : Setup .NET
@@ -58,12 +68,27 @@ jobs:
58
68
xbuild /p:SignAssembly=true /p:AssemblyOriginatorKeyFile=$(pwd)/keypair.snk /p:Configuration=Release ./OptimizelySDK.Travis.sln
59
69
mono ./testrunner/NUnit.Runners.2.6.4/tools/nunit-console.exe ./OptimizelySDK.Tests/bin/Release/OptimizelySDK.Tests.dll
60
70
- name : find and sign dll
71
+ id : unit_tests
61
72
run : |
62
73
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
74
+ - name : Check on success
75
+ if : steps.unit_tests.outcome == 'success' && env.CURRENT_BRANCH == env.RELEASE_BRANCH && env.EVENT_TYPE == 'push'
76
+ env :
77
+ AWS_ACCESS_KEY_ID : ${{ secrets.OFTA_KEY }}
78
+ AWS_SECRET_ACCESS_KEY : ${{ secrets.OFTA_SECRET }}
79
+ AWS_DEFAULT_REGION : ${{ secrets.OFTA_REGION }}
80
+ run : |
81
+ find . -path './OptimizelySDK*bin/Release/OptimizelySDK*.dll' -not -regex '.*Tests.*' -print0 | while IFS= read -r -d '' file; do (aws s3 cp $file s3://optly-fs-travisci-artifacts/${{ env.REPO_SLUG }}/${{ env.BUILD_NUMBER }}/${{ env.RUN_NUMBER }}/${{ env.ATTEMPT_NUM }}/$(basename $file)-unsigned); done
63
82
64
-
65
83
netStandard16 :
66
84
runs-on : windows-2022
85
+ env :
86
+ REPO_SLUG : ${{ github.repository }}
87
+ BUILD_NUMBER : ${{ github.run_id }}
88
+ ATTEMPT_NUM : ${{ github.run_attempt }}
89
+ RUN_NUMBER : ${{ github.run_number }}
90
+ EVENT_TYPE : ${{ github.event_name }}
91
+ CURRENT_BRANCH : ${{ github.head_ref || github.ref_name }}
67
92
steps :
68
93
- uses : actions/checkout@v3
69
94
- name : Setup .NET
@@ -73,13 +98,29 @@ jobs:
73
98
- name : Restore dependencies
74
99
run : dotnet restore OptimizelySDK.NetStandard16/OptimizelySDK.NetStandard16.csproj
75
100
- name : Build
101
+ id : netStandard16_build
76
102
run : |
77
103
# strongname signing is taken care of in build step
78
104
dotnet build OptimizelySDK.NetStandard16/OptimizelySDK.NetStandard16.csproj /p:SignAssembly=true /p:AssemblyOriginatorKeyFile=D:\a\csharp-sdk\csharp-sdk\keypair.snk -c Release
79
105
# TODO: no dotnet test yet for NetStandard16
106
+ - name : Check on success
107
+ if : steps.netStandard16_build.outcome == 'success' && env.CURRENT_BRANCH == env.RELEASE_BRANCH && env.EVENT_TYPE == 'push'
108
+ env :
109
+ AWS_ACCESS_KEY_ID : ${{ secrets.OFTA_KEY }}
110
+ AWS_SECRET_ACCESS_KEY : ${{ secrets.OFTA_SECRET }}
111
+ AWS_DEFAULT_REGION : ${{ secrets.OFTA_REGION }}
112
+ run : |
113
+ (aws s3 cp ./OptimizelySDK.NetStandard16/bin/Release/netstandard1.6/OptimizelySDK.NetStandard16.dll s3://optly-fs-travisci-artifacts/${{ env.REPO_SLUG }}/${{ env.BUILD_NUMBER }}/${{ env.RUN_NUMBER }}/${{ env.ATTEMPT_NUM }}/OptimizelySDK.NetStandard16.dll-unsigned)
80
114
81
115
netStandard20 :
82
116
runs-on : windows-2022
117
+ env :
118
+ REPO_SLUG : ${{ github.repository }}
119
+ BUILD_NUMBER : ${{ github.run_id }}
120
+ ATTEMPT_NUM : ${{ github.run_attempt }}
121
+ RUN_NUMBER : ${{ github.run_number }}
122
+ EVENT_TYPE : ${{ github.event_name }}
123
+ CURRENT_BRANCH : ${{ github.head_ref || github.ref_name }}
83
124
steps :
84
125
- uses : actions/checkout@v3
85
126
- name : Setup .NET
@@ -89,7 +130,16 @@ jobs:
89
130
- name : Restore dependencies
90
131
run : dotnet restore OptimizelySDK.NetStandard20/OptimizelySDK.NetStandard20.csproj
91
132
- name : Build
133
+ id : netStandard20_build
92
134
run : |
93
135
# strongname signing is taken care of in build step
94
136
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
137
+ # TODO: no dotnet test yet for NetStandard20
138
+ - name : Check on success
139
+ if : steps.netStandard20_build.outcome == 'success' && env.CURRENT_BRANCH == env.RELEASE_BRANCH && env.EVENT_TYPE == 'push'
140
+ env :
141
+ AWS_ACCESS_KEY_ID : ${{ secrets.OFTA_KEY }}
142
+ AWS_SECRET_ACCESS_KEY : ${{ secrets.OFTA_SECRET }}
143
+ AWS_DEFAULT_REGION : ${{ secrets.OFTA_REGION }}
144
+ run : |
145
+ (aws s3 cp ./OptimizelySDK.NetStandard20/bin/Release/netstandard2.0/OptimizelySDK.NetStandard20.dll s3://optly-fs-travisci-artifacts/${{ env.REPO_SLUG }}/${{ env.BUILD_NUMBER }}/${{ env.RUN_NUMBER }}/${{ env.ATTEMPT_NUM }}/OptimizelySDK.NetStandard20.dll-unsigned)
0 commit comments