Skip to content

Use latest JUCE version #153

Use latest JUCE version

Use latest JUCE version #153

Workflow file for this run

name: Build
on:
push:
branches:
- main
- develop
workflow_dispatch:
jobs:
build-linux:
name: Build Linux
runs-on: ubuntu-24.04
strategy:
matrix:
include:
- project: osci-render
version: free
- project: osci-render
version: premium
- project: sosci
version: premium
steps:
- name: Fix up git URLs
run: echo -e '[url "https://github.com/"]\n insteadOf = "[email protected]:"' >> ~/.gitconfig
shell: bash
- uses: actions/checkout@v1
with:
token: ${{ secrets.ACCESS_TOKEN }}
submodules: true
- name: "Run script"
run: |
export OS="linux"
source ./ci/setup-env.sh
source ./ci/test.sh
source ./ci/build.sh "${{ matrix.project }}" "${{ matrix.version }}"
shell: bash
- name: Upload Artifact
uses: actions/upload-artifact@v3
with:
name: Binaries
path: bin
retention-days: 7
build-macos:
name: Build macOS
runs-on: macos-latest
strategy:
matrix:
include:
- project: osci-render
version: free
- project: osci-render
version: premium
- project: sosci
version: premium
steps:
- name: Fix up git URLs
run: echo -e '[url "https://github.com/"]\n insteadOf = "[email protected]:"' >> ~/.gitconfig
shell: bash
- uses: actions/checkout@v1
with:
token: ${{ secrets.ACCESS_TOKEN }}
submodules: true
- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: latest
- name: Import application certificates
uses: apple-actions/import-codesign-certs@v3
with:
keychain: oscirender
keychain-password: ${{ secrets.APPLE_KEYCHAIN_PASSWORD }}
p12-file-base64: ${{ secrets.APPLE_APPLICATION_CERTIFICATE }}
p12-password: ${{ secrets.APPLE_APPLICATION_CERTIFICATE_PASSWORD }}
- name: Import installer certificates
uses: apple-actions/import-codesign-certs@v3
with:
keychain: oscirender
keychain-password: ${{ secrets.APPLE_KEYCHAIN_PASSWORD }}
p12-file-base64: ${{ secrets.APPLE_INSTALLER_CERTIFICATE }}
p12-password: ${{ secrets.APPLE_INSTALLER_CERTIFICATE_PASSWORD }}
create-keychain: false
- name: "Run script"
run: |
export OS="mac"
source ./ci/setup-env.sh
source ./ci/test.sh
source ./ci/build.sh "${{ matrix.project }}" "${{ matrix.version }}"
shell: bash
- name: Download Packages installer build tool
run: wget http://s.sudre.free.fr/files/Packages_1211_dev.dmg
- name: Mount Packages image
run: hdiutil attach Packages_1211_dev.dmg
- name: Install Packages
run: sudo installer -pkg /Volumes/Packages\ 1.2.11/Install\ Packages.pkg -target /
- name: Build installer
run: packagesbuild --project "packaging/${{ matrix.project }}.pkgproj"
- name: Sign installer
run: |
productsign -s "${{ secrets.APPLE_DEVELOPER_ID_INSTALLER }}" "packaging/build/${{ matrix.project }}.pkg" "bin/${{ matrix.project }}-${{ matrix.version }}.pkg"
pkgutil --check-signature "bin/${{ matrix.project }}-${{ matrix.version }}.pkg"
- name: Notarize installer
uses: lando/notarize-action@v2
with:
product-path: "bin/${{ matrix.project }}-${{ matrix.version }}.pkg"
appstore-connect-username: ${{ secrets.APPLE_ID }}
appstore-connect-password: ${{ secrets.APPLE_NOTARIZATION_PASSWORD }}
appstore-connect-team-id: ${{ secrets.APPLE_TEAM_ID }}
primary-bundle-id: com.${{ matrix.project }}.pkg
tool: notarytool
verbose: true
- name: Staple installer
run: xcrun stapler staple "bin/${{ matrix.project }}-${{ matrix.version }}.pkg"
- name: Check installer
run: spctl -a -vvv -t install "bin/${{ matrix.project }}-${{ matrix.version }}.pkg"
- name: Upload Artifact
uses: actions/upload-artifact@v3
with:
name: Binaries
path: bin
retention-days: 7
build-windows:
name: Build Windows
runs-on: windows-latest
strategy:
matrix:
include:
- project: osci-render
version: free
- project: osci-render
version: premium
- project: sosci
version: premium
steps:
- name: Fix up git URLs
run: echo -e '[url "https://github.com/"]\n insteadOf = "[email protected]:"' >> ~/.gitconfig
shell: bash
- uses: actions/checkout@v1
with:
token: ${{ secrets.ACCESS_TOKEN }}
submodules: true
- name: Setup NuGet.exe for use with actions
uses: NuGet/[email protected]
- name: NuGet Sources
run: nuget sources
- name: "Run script"
run: |
export OS="win"
source ./ci/setup-env.sh
source ./ci/test.sh
source ./ci/build.sh "${{ matrix.project }}" "${{ matrix.version }}"
shell: bash
- name: Compile .ISS to .EXE Installer
uses: Minionguyjpro/[email protected]
with:
path: "packaging/${{ matrix.project }}.iss"
- name: Move installer to bin
run: mv "packaging/build/${{ matrix.project }}.exe" "bin/${{ matrix.project }}-${{ matrix.version }}.exe"
- name: Upload Artifact
uses: actions/upload-artifact@v3
with:
name: Binaries
path: bin
retention-days: 7