Skip to content

Commit 4f07f71

Browse files
ci: Upload artifacts
1 parent ee261df commit 4f07f71

File tree

1 file changed

+9
-88
lines changed

1 file changed

+9
-88
lines changed

.github/workflows/cmake_build.yml

+9-88
Original file line numberDiff line numberDiff line change
@@ -28,18 +28,18 @@ jobs:
2828
name: ${{ matrix.name }}
2929
runs-on: ${{ matrix.os }}
3030
strategy:
31-
fail-fast: false # show all errors for each platform (vs. cancel jobs on error)
31+
fail-fast: true # show all errors for each platform (vs. cancel jobs on error)
3232
matrix:
3333
include:
3434
- name: Linux
3535
os: ubuntu-22.04
3636
pluginval-binary: ./pluginval
37-
# - name: macOS
38-
# os: macos-14
39-
# pluginval-binary: pluginval.app/Contents/MacOS/pluginval
4037
- name: Windows
4138
os: windows-latest
4239
pluginval-binary: ./pluginval.exe
40+
- name: macOS
41+
os: macos-latest
42+
pluginval-binary: ./pluginval
4343

4444
steps:
4545

@@ -59,29 +59,6 @@ jobs:
5959
sudo apt-get install -y --allow-downgrades libc6=2.35-0ubuntu3.6 libc6-dev=2.35-0ubuntu3.6 libstdc++6=12.3.0-1ubuntu1~22.04 libgcc-s1=12.3.0-1ubuntu1~22.04
6060
sudo /usr/bin/Xvfb $DISPLAY &
6161
62-
# - name: Cache IPP (Windows)
63-
# if: runner.os == 'Windows'
64-
# id: cache-ipp
65-
# uses: actions/cache@v3
66-
# with:
67-
# key: ipp-v4
68-
# path: C:\Program Files (x86)\Intel
69-
70-
# - name: Install IPP (Windows)
71-
# if: (runner.os == 'Windows') && (steps.cache-ipp.outputs.cache-hit != 'true')
72-
# shell: bash
73-
# run: |
74-
# curl --output oneapi.exe https://registrationcenter-download.intel.com/akdlm/IRC_NAS/8d158661-ca8f-4e66-b5ea-3e0b3d00836a/w_ipp_oneapi_p_2021.10.1.15_offline.exe
75-
# ./oneapi.exe -s -x -f oneapi
76-
# ./oneapi/bootstrapper.exe -s -c --action install --components=intel.oneapi.win.ipp.devel --eula=accept -p=NEED_VS2022_INTEGRATION=1 --log-dir=.
77-
78-
# - name: Save IPP cache (even on CI fail)
79-
# if: runner.os == 'Windows' && (steps.cache-ipp.outputs.cache-hit != 'true')
80-
# uses: actions/cache/save@v3
81-
# with:
82-
# path: C:\Program Files (x86)\Intel
83-
# key: ipp-v4
84-
8562
- name: Install Ninja (Windows)
8663
if: runner.os == 'Windows'
8764
shell: bash
@@ -110,13 +87,6 @@ jobs:
11087
- name: Cache the build
11188
uses: mozilla-actions/[email protected]
11289

113-
- name: Import Certificates (macOS)
114-
uses: apple-actions/import-codesign-certs@v2 # only exists as a tag right now
115-
if: ${{ matrix.name == 'macOS' }}
116-
with:
117-
p12-file-base64: ${{ secrets.DEV_ID_APP_CERT }}
118-
p12-password: ${{ secrets.DEV_ID_APP_PASSWORD }}
119-
12090
- name: Configure
12191
shell: bash
12292
run: cmake -B ${{ env.BUILD_DIR }} -G Ninja -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE}} -DCMAKE_C_COMPILER_LAUNCHER=${{ matrix.ccache }} -DCMAKE_CXX_COMPILER_LAUNCHER=${{ matrix.ccache }} -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" .
@@ -153,66 +123,17 @@ jobs:
153123
7z x pluginval_${{ matrix.name }}.zip
154124
${{ matrix.pluginval-binary }} --strictness-level 10 --verbose --validate "${{ env.VST3_PATH }}"
155125
156-
- name: Codesign (macOS)
157-
if: ${{ matrix.name == 'macOS' }}
158-
run: |
159-
# Each plugin must be code signed
160-
codesign --force -s "${{ secrets.DEVELOPER_ID_APPLICATION}}" -v "${{ env.VST3_PATH }}" --deep --strict --options=runtime --timestamp
161-
codesign --force -s "${{ secrets.DEVELOPER_ID_APPLICATION}}" -v "${{ env.AU_PATH }}" --deep --strict --options=runtime --timestamp
162-
codesign --force -s "${{ secrets.DEVELOPER_ID_APPLICATION}}" -v "${{ env.STANDALONE_PATH }}" --deep --strict --options=runtime --timestamp
163-
164-
- name: Add Custom Icons (macOS)
165-
if: ${{ matrix.name == 'macOS' }}
166-
run: |
167-
# add the icns as its own icon resource (meta!)
168-
sips -i packaging/pamplejuce.icns
169-
170-
# Grab the resource, put in tempfile
171-
DeRez -only icns packaging/pamplejuce.icns > /tmp/icons
172-
173-
# Stuff the resource into the strange Icon? file's resource fork
174-
Rez -a /tmp/icons -o "${{ env.VST3_PATH }}/Icon"$'\r'
175-
Rez -a /tmp/icons -o "${{ env.AU_PATH }}/Icon"$'\r'
176-
177-
# Set custom icon attribute
178-
SetFile -a C "${{ env.VST3_PATH }}"
179-
SetFile -a C "${{ env.AU_PATH }}"
180-
181-
- name: Create DMG, Notarize and Staple (macOS)
182-
if: ${{ matrix.name == 'macOS' }}
183-
run: |
184-
# workaround for https://github.com/LinusU/node-appdmg/issues/234
185-
python3 -m pip install setuptools
186-
npm install -g appdmg
187-
mkdir -p packaging/dmg
188-
189-
# Create directories for the dmg symlinks
190-
sudo mkdir -m 755 -p /Library/Audio/Plug-Ins/Components && sudo mkdir -m 755 -p /Library/Audio/Plug-Ins/VST3
191-
ln -s /Library/Audio/Plug-Ins/Components "packaging/dmg/Your Mac's Component folder"
192-
ln -s /Library/Audio/Plug-Ins/VST3 "packaging/dmg/Your Mac's VST3 folder"
193-
mv "${{ env.VST3_PATH }}" packaging/dmg
194-
mv "${{ env.AU_PATH }}" packaging/dmg
195-
mv "${{ env.STANDALONE_PATH }}" packaging/dmg
196-
197-
# Run appdmg to create the .dmg
198-
cd packaging && appdmg dmg.json "${{ env.ARTIFACT_NAME}}.dmg"
199-
codesign -s "${{ secrets.DEVELOPER_ID_APPLICATION}}" --timestamp -i ${{ env.BUNDLE_ID }} --force "${{ env.ARTIFACT_NAME }}.dmg"
200-
xcrun notarytool submit "${{ env.ARTIFACT_NAME }}.dmg" --apple-id ${{ secrets.NOTARIZATION_USERNAME }} --password ${{ secrets.NOTARIZATION_PASSWORD }} --team-id ${{ secrets.TEAM_ID }} --wait
201-
xcrun stapler staple "${{ env.ARTIFACT_NAME }}.dmg"
202-
203126
- name: Zip
204127
if: ${{ matrix.name == 'Linux' }}
205128
working-directory: ${{ env.ARTIFACTS_PATH }}
206129
run: 7z a -tzip "${{ env.ARTIFACT_NAME }}.zip" .
207130

208-
- name: Generate Installer and Sign with EV cert on Azure (Windows)
131+
- name: Generate Installer (Windows)
209132
if: ${{ matrix.name == 'Windows' }}
210133
shell: bash
211134
run: |
212135
iscc "packaging\installer.iss"
213136
mv "packaging/Output/${{ env.ARTIFACT_NAME }}.exe" "${{ env.ARTIFACTS_PATH }}/"
214-
# dotnet tool install --global AzureSignTool
215-
# AzureSignTool sign -kvu "${{ secrets.AZURE_KEY_VAULT_URI }}" -kvi "${{ secrets.AZURE_CLIENT_ID }}" -kvt "${{ secrets.AZURE_TENANT_ID }}" -kvs "${{ secrets.AZURE_CLIENT_SECRET }}" -kvc ${{ secrets.AZURE_CERT_NAME }} -tr http://timestamp.digicert.com -v "${{ env.ARTIFACTS_PATH }}/${{ env.ARTIFACT_NAME }}.exe"
216137
217138
- name: Upload Exe (Windows)
218139
if: ${{ matrix.name == 'Windows' }}
@@ -228,12 +149,12 @@ jobs:
228149
name: ${{ env.ARTIFACT_NAME }}.zip
229150
path: '${{ env.ARTIFACTS_PATH }}/${{ env.ARTIFACT_NAME }}.zip'
230151

231-
- name: Upload DMG (macOS)
152+
- name: Upload Standalone (macOS)
232153
if: ${{ matrix.name == 'macOS' }}
233154
uses: actions/upload-artifact@v3
234155
with:
235-
name: ${{ env.ARTIFACT_NAME }}.dmg
236-
path: packaging/${{ env.ARTIFACT_NAME }}.dmg
156+
name: ${{ env.ARTIFACT_NAME }}.app
157+
path: '${{ env.STANDALONE_PATH }}'
237158

238159
release:
239160
if: contains(github.ref, 'tags/v')
@@ -253,4 +174,4 @@ jobs:
253174
files: |
254175
*/*.exe
255176
*/*.zip
256-
*/*.dmg
177+
*/*.app

0 commit comments

Comments
 (0)