Skip to content

Commit

Permalink
update actions
Browse files Browse the repository at this point in the history
  • Loading branch information
dan-german committed Apr 10, 2024
1 parent 288d853 commit eb20b93
Show file tree
Hide file tree
Showing 4 changed files with 146 additions and 126 deletions.
47 changes: 26 additions & 21 deletions .github/workflows/build-linux.yml
Original file line number Diff line number Diff line change
@@ -1,30 +1,35 @@
# This starter workflow is for a CMake project running on a single platform. There is a different starter workflow if you need cross-platform coverage.
# See: https://github.com/actions/starter-workflows/blob/main/ci/cmake-multi-platform.yml
name: Build Linux
on: [workflow_dispatch, pull_request]
on:
workflow_dispatch:
pull_request:
push:
branches:
- main
env:
BUILD_TYPE: Release
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: 'true'
- name: Create mixpanel_project_token.key file
run: echo "${{ secrets.MIXPANEL_PROJECT_TOKEN }}" > Assets/mixpanel_project_token.key
- name: Update packages
run: sudo apt update
- name: Setup JUCE dependencies
run: sudo apt install libasound2-dev libjack-jackd2-dev ladspa-sdk libcurl4-openssl-dev libfreetype6-dev libx11-dev libxcomposite-dev libxcursor-dev libxcursor-dev libxext-dev libxinerama-dev libxrandr-dev libxrender-dev libwebkit2gtk-4.0-dev libglu1-mesa-dev mesa-common-dev
- name: Configure CMake
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
- name: Build
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
- name: Upload built files
uses: actions/[email protected]
with:
name: blocks
path: |
${{github.workspace}}/build/blocks_artefacts/Release/Standalone
${{github.workspace}}/build/blocks_artefacts/Release/VST3
- uses: actions/checkout@v3
with:
submodules: "true"
- name: Create mixpanel_project_token.key file
run: echo "${{ secrets.MIXPANEL_PROJECT_TOKEN }}" > Assets/mixpanel_project_token.key
- name: Update packages
run: sudo apt update
- name: Setup JUCE dependencies
run: sudo apt install libasound2-dev libjack-jackd2-dev ladspa-sdk libcurl4-openssl-dev libfreetype6-dev libx11-dev libxcomposite-dev libxcursor-dev libxcursor-dev libxext-dev libxinerama-dev libxrandr-dev libxrender-dev libwebkit2gtk-4.0-dev libglu1-mesa-dev mesa-common-dev
- name: Configure CMake
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
- name: Build
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
- name: Upload built files
uses: actions/[email protected]
with:
name: blocks
path: |
${{github.workspace}}/build/blocks_artefacts/Release/Standalone
${{github.workspace}}/build/blocks_artefacts/Release/VST3
93 changes: 49 additions & 44 deletions .github/workflows/build-macos-13.yml
Original file line number Diff line number Diff line change
@@ -1,54 +1,59 @@
# This starter workflow is for a CMake project running on a single platform. There is a different starter workflow if you need cross-platform coverage.
# See: https://github.com/actions/starter-workflows/blob/main/ci/cmake-multi-platform.yml
name: Build macOS 13 (Intel)
on: [workflow_dispatch, pull_request]
on:
workflow_dispatch:
pull_request:
push:
branches:
- main
env:
BUILD_TYPE: Release
jobs:
build:
runs-on: macos-13
steps:
- uses: actions/checkout@v3
with:
submodules: 'true'
- name: Create mixpanel_project_token.key file
run: echo "${{ secrets.MIXPANEL_PROJECT_TOKEN }}" > Assets/mixpanel_project_token.key
- name: Configure CMake
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
- name: Build
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
- name: Import certificates)
uses: apple-actions/import-codesign-certs@v1
with:
p12-file-base64: ${{ secrets.DEV_ID_APP_CERT }}
p12-password: ${{ secrets.DEV_ID_APP_PASSWORD }}
- name: Codesign (macOS)
run: |
codesign --force -s "${{ secrets.DEVELOPER_ID_APPLICATION }}" -v /Users/runner/work/blocks/blocks/build/blocks_artefacts/Release/Standalone/blocks.app --deep --strict --options=runtime --timestamp
codesign --force -s "${{ secrets.DEVELOPER_ID_APPLICATION }}" -v /Users/runner/work/blocks/blocks/build/blocks_artefacts/Release/AU/blocks.component --deep --strict --options=runtime --timestamp
codesign --force -s "${{ secrets.DEVELOPER_ID_APPLICATION }}" -v /Users/runner/work/blocks/blocks/build/blocks_artefacts/Release/VST3/blocks.vst3 --deep --strict --options=runtime --timestamp
- name: Create DMG, Notarize and Staple (macOS)
run: |
npm install -g appdmg
mkdir -p packaging/dmg
# Create directories for the dmg symlinks
sudo mkdir -m 755 -p /Library/Audio/Plug-Ins/Components && sudo mkdir -m 755 -p /Library/Audio/Plug-Ins/VST3 && sudo mkdir -m 755 -p /Applications
ln -s /Library/Audio/Plug-Ins/Components "packaging/dmg/Your Mac's Component folder"
ln -s /Library/Audio/Plug-Ins/VST3 "packaging/dmg/Your Mac's VST3 folder"
ln -s /Applications "packaging/dmg/Your Mac's Applications folder"
- uses: actions/checkout@v3
with:
submodules: "true"
- name: Create mixpanel_project_token.key file
run: echo "${{ secrets.MIXPANEL_PROJECT_TOKEN }}" > Assets/mixpanel_project_token.key
- name: Configure CMake
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
- name: Build
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
- name: Import certificates)
uses: apple-actions/import-codesign-certs@v1
with:
p12-file-base64: ${{ secrets.DEV_ID_APP_CERT }}
p12-password: ${{ secrets.DEV_ID_APP_PASSWORD }}
- name: Codesign (macOS)
run: |
codesign --force -s "${{ secrets.DEVELOPER_ID_APPLICATION }}" -v /Users/runner/work/blocks/blocks/build/blocks_artefacts/Release/Standalone/blocks.app --deep --strict --options=runtime --timestamp
codesign --force -s "${{ secrets.DEVELOPER_ID_APPLICATION }}" -v /Users/runner/work/blocks/blocks/build/blocks_artefacts/Release/AU/blocks.component --deep --strict --options=runtime --timestamp
codesign --force -s "${{ secrets.DEVELOPER_ID_APPLICATION }}" -v /Users/runner/work/blocks/blocks/build/blocks_artefacts/Release/VST3/blocks.vst3 --deep --strict --options=runtime --timestamp
- name: Create DMG, Notarize and Staple (macOS)
run: |
npm install -g appdmg
mkdir -p packaging/dmg
mv "/Users/runner/work/blocks/blocks/build/blocks_artefacts/Release/VST3/blocks.vst3" packaging/dmg
mv "/Users/runner/work/blocks/blocks/build/blocks_artefacts/Release/AU/blocks.component" packaging/dmg
mv "/Users/runner/work/blocks/blocks/build/blocks_artefacts/Release/Standalone/blocks.app" packaging/dmg
# Run appdmg to create the .dmg
cd packaging && appdmg dmg.json blocks.dmg
codesign -s "${{ secrets.DEVELOPER_ID_APPLICATION }}" --timestamp -i com.soonth.blocks --force blocks.dmg
xcrun notarytool submit blocks.dmg --apple-id ${{ secrets.NOTARIZATION_USERNAME }} --password ${{ secrets.NOTARIZATION_PASSWORD }} --team-id ${{ secrets.TEAM_ID }} --wait
xcrun stapler staple blocks.dmg
- name: Upload built files
uses: actions/[email protected]
with:
name: blocks.dmg
path: packaging/blocks.dmg
# Create directories for the dmg symlinks
sudo mkdir -m 755 -p /Library/Audio/Plug-Ins/Components && sudo mkdir -m 755 -p /Library/Audio/Plug-Ins/VST3 && sudo mkdir -m 755 -p /Applications
ln -s /Library/Audio/Plug-Ins/Components "packaging/dmg/Your Mac's Component folder"
ln -s /Library/Audio/Plug-Ins/VST3 "packaging/dmg/Your Mac's VST3 folder"
ln -s /Applications "packaging/dmg/Your Mac's Applications folder"
mv "/Users/runner/work/blocks/blocks/build/blocks_artefacts/Release/VST3/blocks.vst3" packaging/dmg
mv "/Users/runner/work/blocks/blocks/build/blocks_artefacts/Release/AU/blocks.component" packaging/dmg
mv "/Users/runner/work/blocks/blocks/build/blocks_artefacts/Release/Standalone/blocks.app" packaging/dmg
# Run appdmg to create the .dmg
cd packaging && appdmg dmg.json blocks.dmg
codesign -s "${{ secrets.DEVELOPER_ID_APPLICATION }}" --timestamp -i com.soonth.blocks --force blocks.dmg
xcrun notarytool submit blocks.dmg --apple-id ${{ secrets.NOTARIZATION_USERNAME }} --password ${{ secrets.NOTARIZATION_PASSWORD }} --team-id ${{ secrets.TEAM_ID }} --wait
xcrun stapler staple blocks.dmg
- name: Upload built files
uses: actions/[email protected]
with:
name: blocks.dmg
path: packaging/blocks.dmg
93 changes: 49 additions & 44 deletions .github/workflows/build-macos.yml
Original file line number Diff line number Diff line change
@@ -1,54 +1,59 @@
# This starter workflow is for a CMake project running on a single platform. There is a different starter workflow if you need cross-platform coverage.
# See: https://github.com/actions/starter-workflows/blob/main/ci/cmake-multi-platform.yml
name: Build macOS (M1)
on: [workflow_dispatch, pull_request]
on:
workflow_dispatch:
pull_request:
push:
branches:
- main
env:
BUILD_TYPE: Release
jobs:
build:
runs-on: macos-14
steps:
- uses: actions/checkout@v3
with:
submodules: 'true'
- name: Create mixpanel_project_token.key file
run: echo "${{ secrets.MIXPANEL_PROJECT_TOKEN }}" > Assets/mixpanel_project_token.key
- name: Configure CMake
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
- name: Build
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
- name: Import certificates)
uses: apple-actions/import-codesign-certs@v1
with:
p12-file-base64: ${{ secrets.DEV_ID_APP_CERT }}
p12-password: ${{ secrets.DEV_ID_APP_PASSWORD }}
- name: Codesign (macOS)
run: |
codesign --force -s "${{ secrets.DEVELOPER_ID_APPLICATION }}" -v /Users/runner/work/blocks/blocks/build/blocks_artefacts/Release/Standalone/blocks.app --deep --strict --options=runtime --timestamp
codesign --force -s "${{ secrets.DEVELOPER_ID_APPLICATION }}" -v /Users/runner/work/blocks/blocks/build/blocks_artefacts/Release/AU/blocks.component --deep --strict --options=runtime --timestamp
codesign --force -s "${{ secrets.DEVELOPER_ID_APPLICATION }}" -v /Users/runner/work/blocks/blocks/build/blocks_artefacts/Release/VST3/blocks.vst3 --deep --strict --options=runtime --timestamp
- name: Create DMG, Notarize and Staple (macOS)
run: |
npm install -g appdmg
mkdir -p packaging/dmg
# Create directories for the dmg symlinks
sudo mkdir -m 755 -p /Library/Audio/Plug-Ins/Components && sudo mkdir -m 755 -p /Library/Audio/Plug-Ins/VST3 && sudo mkdir -m 755 -p /Applications
ln -s /Library/Audio/Plug-Ins/Components "packaging/dmg/Your Mac's Component folder"
ln -s /Library/Audio/Plug-Ins/VST3 "packaging/dmg/Your Mac's VST3 folder"
ln -s /Applications "packaging/dmg/Your Mac's Applications folder"
- uses: actions/checkout@v3
with:
submodules: "true"
- name: Create mixpanel_project_token.key file
run: echo "${{ secrets.MIXPANEL_PROJECT_TOKEN }}" > Assets/mixpanel_project_token.key
- name: Configure CMake
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
- name: Build
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
- name: Import certificates)
uses: apple-actions/import-codesign-certs@v1
with:
p12-file-base64: ${{ secrets.DEV_ID_APP_CERT }}
p12-password: ${{ secrets.DEV_ID_APP_PASSWORD }}
- name: Codesign (macOS)
run: |
codesign --force -s "${{ secrets.DEVELOPER_ID_APPLICATION }}" -v /Users/runner/work/blocks/blocks/build/blocks_artefacts/Release/Standalone/blocks.app --deep --strict --options=runtime --timestamp
codesign --force -s "${{ secrets.DEVELOPER_ID_APPLICATION }}" -v /Users/runner/work/blocks/blocks/build/blocks_artefacts/Release/AU/blocks.component --deep --strict --options=runtime --timestamp
codesign --force -s "${{ secrets.DEVELOPER_ID_APPLICATION }}" -v /Users/runner/work/blocks/blocks/build/blocks_artefacts/Release/VST3/blocks.vst3 --deep --strict --options=runtime --timestamp
- name: Create DMG, Notarize and Staple (macOS)
run: |
npm install -g appdmg
mkdir -p packaging/dmg
mv "/Users/runner/work/blocks/blocks/build/blocks_artefacts/Release/VST3/blocks.vst3" packaging/dmg
mv "/Users/runner/work/blocks/blocks/build/blocks_artefacts/Release/AU/blocks.component" packaging/dmg
mv "/Users/runner/work/blocks/blocks/build/blocks_artefacts/Release/Standalone/blocks.app" packaging/dmg
# Run appdmg to create the .dmg
cd packaging && appdmg dmg.json blocks.dmg
codesign -s "${{ secrets.DEVELOPER_ID_APPLICATION }}" --timestamp -i com.soonth.blocks --force blocks.dmg
xcrun notarytool submit blocks.dmg --apple-id ${{ secrets.NOTARIZATION_USERNAME }} --password ${{ secrets.NOTARIZATION_PASSWORD }} --team-id ${{ secrets.TEAM_ID }} --wait
xcrun stapler staple blocks.dmg
- name: Upload built files
uses: actions/[email protected]
with:
name: blocks.dmg
path: packaging/blocks.dmg
# Create directories for the dmg symlinks
sudo mkdir -m 755 -p /Library/Audio/Plug-Ins/Components && sudo mkdir -m 755 -p /Library/Audio/Plug-Ins/VST3 && sudo mkdir -m 755 -p /Applications
ln -s /Library/Audio/Plug-Ins/Components "packaging/dmg/Your Mac's Component folder"
ln -s /Library/Audio/Plug-Ins/VST3 "packaging/dmg/Your Mac's VST3 folder"
ln -s /Applications "packaging/dmg/Your Mac's Applications folder"
mv "/Users/runner/work/blocks/blocks/build/blocks_artefacts/Release/VST3/blocks.vst3" packaging/dmg
mv "/Users/runner/work/blocks/blocks/build/blocks_artefacts/Release/AU/blocks.component" packaging/dmg
mv "/Users/runner/work/blocks/blocks/build/blocks_artefacts/Release/Standalone/blocks.app" packaging/dmg
# Run appdmg to create the .dmg
cd packaging && appdmg dmg.json blocks.dmg
codesign -s "${{ secrets.DEVELOPER_ID_APPLICATION }}" --timestamp -i com.soonth.blocks --force blocks.dmg
xcrun notarytool submit blocks.dmg --apple-id ${{ secrets.NOTARIZATION_USERNAME }} --password ${{ secrets.NOTARIZATION_PASSWORD }} --team-id ${{ secrets.TEAM_ID }} --wait
xcrun stapler staple blocks.dmg
- name: Upload built files
uses: actions/[email protected]
with:
name: blocks.dmg
path: packaging/blocks.dmg
39 changes: 22 additions & 17 deletions .github/workflows/build-windows.yml
Original file line number Diff line number Diff line change
@@ -1,24 +1,29 @@
name: Build Windows
on: [workflow_dispatch, pull_request]
on:
workflow_dispatch:
pull_request:
push:
branches:
- main
env:
BUILD_TYPE: Release
jobs:
build:
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
with:
submodules: 'true'
- name: Create mixpanel_project_token.key file
run: echo "${{ secrets.MIXPANEL_PROJECT_TOKEN }}" > Assets/mixpanel_project_token.key
- name: Configure CMake
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
- name: Build
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
- name: Upload built files
uses: actions/[email protected]
with:
name: blocks
path: |
D:/a/blocks/blocks/build/blocks_artefacts/Release/VST3/blocks.vst3/Contents/x86_64-win/blocks.vst3
D:/a/blocks/blocks/build/blocks_artefacts/Release/Standalone/blocks.exe
- uses: actions/checkout@v3
with:
submodules: "true"
- name: Create mixpanel_project_token.key file
run: echo "${{ secrets.MIXPANEL_PROJECT_TOKEN }}" > Assets/mixpanel_project_token.key
- name: Configure CMake
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
- name: Build
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
- name: Upload built files
uses: actions/[email protected]
with:
name: blocks
path: |
D:/a/blocks/blocks/build/blocks_artefacts/Release/VST3/blocks.vst3/Contents/x86_64-win/blocks.vst3
D:/a/blocks/blocks/build/blocks_artefacts/Release/Standalone/blocks.exe

0 comments on commit eb20b93

Please sign in to comment.