2828 - name : Build
2929 working-directory : ${{github.workspace}}/build
3030 run : cmake --build . -t DolbyIO.Comms.Native
31+ - if : ${{matrix.os == 'macos-latest'}}
32+ env :
33+ BUILD_CERTIFICATE_BASE64 : ${{ secrets.BUILD_CERTIFICATE_BASE64 }}
34+ P12_PASSWORD : ${{ secrets.P12_PASSWORD }}
35+ BUILD_PROVISION_PROFILE_BASE64 : ${{ secrets.BUILD_PROVISION_PROFILE_BASE64 }}
36+ KEYCHAIN_PASSWORD : ${{ secrets.KEYCHAIN_PASSWORD }}
37+ IAPI_DOTNET_APP_SPECYFIC_PASSWORD : ${{ secrets.IAPI_DOTNET_APP_SPECYFIC_PASSWORD }}
38+ working-directory : ${{github.workspace}}/build/bin
39+ run : |
40+ # create variables
41+ CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12
42+ KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db
43+ # import certificate and provisioning profile from secrets
44+ echo -n "$BUILD_CERTIFICATE_BASE64" | base64 --decode -o $CERTIFICATE_PATH
45+ # create temporary keychain
46+ security create-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
47+ security set-keychain-settings -lut 21600 $KEYCHAIN_PATH
48+ security unlock-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
49+ # import certificate to keychain
50+ security import $CERTIFICATE_PATH -P "$P12_PASSWORD" -A -t cert -f pkcs12 -k $KEYCHAIN_PATH
51+ security list-keychain -d user -s $KEYCHAIN_PATH
52+ xcrun notarytool store-credentials "dotnet-sdk-notarization-profile" --apple-id "iapi@dolby.com" --team-id B55NRA8BRW --password "${IAPI_DOTNET_APP_SPECYFIC_PASSWORD}"
53+ codesign --force --strict --timestamp --sign 'Developer ID Application: VOXEET INC. (B55NRA8BRW)' *.dylib
54+
3155
3256 - name : Pack
3357 working-directory : ${{github.workspace}}/build
4367 & 'C:/Program Files (x86)/Windows Kits/10/bin/10.0.17763.0/x86/signtool.exe' sign /f ./certificate.pfx /p ${{ secrets.WINDOWS_CERTIFICATE_PASSWORD}} /t http://timestamp.digicert.com/ dolbyio_comms_sdk.dll
4468 & 'C:/Program Files (x86)/Windows Kits/10/bin/10.0.17763.0/x86/signtool.exe' sign /f ./certificate.pfx /p ${{ secrets.WINDOWS_CERTIFICATE_PASSWORD}} /t http://timestamp.digicert.com/ dolbyio_comms_media.dll
4569 Remove-Item -Recurse -Force certificate.pfx
46-
4770 - uses : actions/upload-artifact@v3
4871 with :
4972 name : nugets
5780 with :
5881 submodules : true
5982 lfs : true
83+ - name : Install the Apple certificate and notarization profile
84+ env :
85+ BUILD_CERTIFICATE_BASE64 : ${{ secrets.BUILD_CERTIFICATE_BASE64 }}
86+ P12_PASSWORD : ${{ secrets.P12_PASSWORD }}
87+ BUILD_PROVISION_PROFILE_BASE64 : ${{ secrets.BUILD_PROVISION_PROFILE_BASE64 }}
88+ KEYCHAIN_PASSWORD : ${{ secrets.KEYCHAIN_PASSWORD }}
89+ IAPI_DOTNET_APP_SPECYFIC_PASSWORD : ${{ secrets.IAPI_DOTNET_APP_SPECYFIC_PASSWORD }}
90+ run : |
91+ # create variables
92+ CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12
93+ KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db
94+ # import certificate and provisioning profile from secrets
95+ echo -n "$BUILD_CERTIFICATE_BASE64" | base64 --decode -o $CERTIFICATE_PATH
96+ # create temporary keychain
97+ security create-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
98+ security set-keychain-settings -lut 21600 $KEYCHAIN_PATH
99+ security unlock-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
100+ # import certificate to keychain
101+ security import $CERTIFICATE_PATH -P "$P12_PASSWORD" -A -t cert -f pkcs12 -k $KEYCHAIN_PATH
102+ security list-keychain -d user -s $KEYCHAIN_PATH
103+ xcrun notarytool store-credentials "dotnet-sdk-notarization-profile" --apple-id "iapi@dolby.com" --team-id B55NRA8BRW --password "${IAPI_DOTNET_APP_SPECYFIC_PASSWORD}"
60104 - uses : ./.github/actions/configure
61105 - uses : actions/download-artifact@v3
62106 with :
75119 echo "${{ secrets.WINDOWS_CERTIFICATE }}" | base64 --decode > certificate.pfx
76120 dotnet nuget sign DolbyIO.Comms.Sdk.*.nupkg --certificate-path ./certificate.pfx --certificate-password ${{ secrets.WINDOWS_CERTIFICATE_PASSWORD}} --timestamper http://timestamp.digicert.com/
77121 rm certificate.pfx
78-
79122 - uses : actions/upload-artifact@v3
80123 with :
81124 name : nugets
@@ -91,7 +134,10 @@ jobs:
91134
92135 - run : 7z x "${{github.workspace}}/build/bin/DolbyIO.Comms.Sdk.Runtime.*.nupkg" -o${{github.workspace}}/build "runtimes/*"
93136 working-directory : ${{github.workspace}}/build
94-
137+
138+ - name : Sign osx libs
139+ run : |
140+ codesign --force --strict --timestamp --sign 'Developer ID Application: VOXEET INC. (B55NRA8BRW)' ${{github.workspace}}/build/runtimes/osx-universal/native/*.dylib
95141 - uses : actions/upload-artifact@v3
96142 with :
97143 name : dolbyio-dotnet-binaries
0 commit comments