66 branches : [master]
77 pull_request :
88 branches : [master]
9+
10+ env :
11+ RELEASE_BRANCH : " master"
912
1013jobs :
1114 lint_code_base :
3841 secrets :
3942 CI_USER_TOKEN : ${{ secrets.CI_USER_TOKEN }}
4043 TRAVIS_COM_TOKEN : ${{ secrets.TRAVIS_COM_TOKEN }}
41-
44+
4245 unit_test :
4346 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 }}
4454 steps :
4555 - uses : actions/checkout@v3
4656 - name : Setup .NET
@@ -58,12 +68,27 @@ jobs:
5868 xbuild /p:SignAssembly=true /p:AssemblyOriginatorKeyFile=$(pwd)/keypair.snk /p:Configuration=Release ./OptimizelySDK.Travis.sln
5969 mono ./testrunner/NUnit.Runners.2.6.4/tools/nunit-console.exe ./OptimizelySDK.Tests/bin/Release/OptimizelySDK.Tests.dll
6070 - name : find and sign dll
71+ id : unit_tests
6172 run : |
6273 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
6382
64-
6583 netStandard16 :
6684 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 }}
6792 steps :
6893 - uses : actions/checkout@v3
6994 - name : Setup .NET
@@ -73,13 +98,29 @@ jobs:
7398 - name : Restore dependencies
7499 run : dotnet restore OptimizelySDK.NetStandard16/OptimizelySDK.NetStandard16.csproj
75100 - name : Build
101+ id : netStandard16_build
76102 run : |
77103 # strongname signing is taken care of in build step
78104 dotnet build OptimizelySDK.NetStandard16/OptimizelySDK.NetStandard16.csproj /p:SignAssembly=true /p:AssemblyOriginatorKeyFile=D:\a\csharp-sdk\csharp-sdk\keypair.snk -c Release
79105 # 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)
80114
81115 netStandard20 :
82116 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 }}
83124 steps :
84125 - uses : actions/checkout@v3
85126 - name : Setup .NET
@@ -89,7 +130,16 @@ jobs:
89130 - name : Restore dependencies
90131 run : dotnet restore OptimizelySDK.NetStandard20/OptimizelySDK.NetStandard20.csproj
91132 - name : Build
133+ id : netStandard20_build
92134 run : |
93135 # strongname signing is taken care of in build step
94136 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