Skip to content

Commit 88000ed

Browse files
authored
ci: uploading artifacts on push (#308)
* testing uploading artifacts * fixed * fix * fixed * fix * test * set * adding netstandard 16 and 20 back and uploading artifacts * test * test * test * test * test condition * test * added stages back * fixed issue * changed release branch to master
1 parent 5d90a0b commit 88000ed

File tree

1 file changed

+53
-3
lines changed

1 file changed

+53
-3
lines changed

.github/workflows/csharp.yml

Lines changed: 53 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ on:
66
branches: [master]
77
pull_request:
88
branches: [master]
9+
10+
env:
11+
RELEASE_BRANCH: "master"
912

1013
jobs:
1114
lint_code_base:
@@ -38,9 +41,16 @@ jobs:
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

Comments
 (0)