Try a docker build #269
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build DAW Plugin | |
on: | |
push: | |
branches: | |
- main | |
- 'releases/**' | |
tags: | |
- 'v**' | |
pull_request: | |
workflow_dispatch: | |
workflow_run: | |
workflows: ["Update"] | |
types: | |
- completed | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
defaults: | |
run: | |
shell: bash | |
jobs: | |
build_plugin: | |
name: DAW Build - ${{ matrix.name }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
include: | |
- os: windows-latest | |
name: windows-x64 | |
cmake_args: -G"Visual Studio 17 2022" -A x64 | |
- os: windows-latest | |
name: windows-juce7 | |
downgrade_juce: true | |
cmake_args: -G"Visual Studio 17 2022" -A x64 -DAWCO_ONJUCE7=TRUE | |
- os: windows-latest | |
name: windows-arm64ec | |
cmake_args: -G"Visual Studio 17 2022" -A arm64ec -DAWCO_ARM64EC=TRUE -DCMAKE_SYSTEM_VERSION=10 | |
- os: macos-latest | |
name: macos | |
cmake_args: -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" | |
- os: ubuntu-latest | |
name: linux-x64 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Prepare for JUCE | |
uses: surge-synthesizer/sst-githubactions/prepare-for-juce@main | |
with: | |
os: ${{ runner.os }} | |
- uses: apple-actions/import-codesign-certs@v3 | |
if: runner.os == 'macOS' && github.event_name != 'pull_request' | |
with: | |
p12-file-base64: ${{ secrets.MAC_CERTS_P12 }} | |
p12-password: ${{ secrets.CERT_PWD }} | |
- name: Build release version | |
if: github.event_name != 'pull_request' | |
run: | | |
export MAC_SIGNING_CERT="${{ secrets.MAC_SIGNING_CERT_NAME }}" | |
export MAC_INSTALLING_CERT="${{ secrets.MAC_INSTALLING_CERT_NAME }}" | |
export MAC_SIGNING_ID="${{ secrets.MAC_SIGNING_ID }}" | |
export MAC_SIGNING_1UPW="${{ secrets.MAC_SIGNING_1UPW }}" | |
export MAC_SIGNING_TEAM="${{ secrets.MAC_SIGNING_TEAM }}" | |
cmake -S . -B ./build ${{ matrix.cmake_args }} -DCMAKE_BUILD_TYPE=Release -DBUILD_JUCE_PLUGIN=TRUE | |
cmake --build ./build --config Release --target awcons-installer --parallel 3 | |
- name: Configure pull request version | |
if: github.event_name == 'pull_request' | |
run: | | |
cmake -S . -B ./build ${{ matrix.cmake_args }} -DCMAKE_BUILD_TYPE=Debug -DBUILD_JUCE_PLUGIN=TRUE | |
- name: Build pull request version | |
if: github.event_name == 'pull_request' | |
run: | | |
cmake --build ./build --config Debug --target awcons-installer --parallel 3 | |
- name: Show pull request version | |
if: github.event_name == 'pull_request' | |
run: | | |
find ./build/src-juce/airwin-consolidated_artefacts -print | |
find ./build/installer -print | |
- name: Show Build Directory | |
run: | | |
ls -l ./build | |
- name: Show Installer Directory | |
if: github.event_name != 'pull_request' | |
run: | | |
ls -l ./build/installer | |
# The aborted check updates plan | |
#- name: Create Update HTML on Linux | |
# if: runner.os == 'Linux' && github.event_name != 'pull_request' | |
# run: | | |
# ./scripts/check-update/make-update.sh > ./build/installer/check-updates.html | |
- name: Upload artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
path: build/installer | |
name: dawplugin-${{ matrix.name }} | |
build_plugin_docker: | |
name: Docker Build Ubuntu20 ${{ matrix.name }} | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Build in Docker | |
uses: surge-synthesizer/sst-githubactions/cmake-in-docker@main | |
with: | |
image: ghcr.io/surge-synthesizer/sst-dockerimages/ubuntu20_gcc11:main | |
username: ${{ github.actor }} | |
token: ${{ secrets.GITHUB_TOKEN }} | |
cmakeArgs: -DCMAKE_BUILD_TYPE=Release -GNinja -DBUILD_JUCE_PLUGIN=TRUE | |
target: awcons-installer | |
- name: Show Installer Directory | |
run: | | |
ls -l ./build/installer | |
- name: Upload artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
path: build/installer | |
name: build-docker-${{matrix.installer_dir }} | |
publish-dawplugin-nightly: | |
name: Publish DAWPlugin | |
# only create a release if a tag was created that is called e.g. v1.2.3 | |
# see also https://vcvrack.com/manual/Manifest#version | |
if: ${{ github.ref == 'refs/heads/main' && github.repository_owner == 'baconpaul' }} | |
runs-on: ubuntu-latest | |
needs: [build_plugin] | |
steps: | |
- name: Upload to Nightly | |
uses: surge-synthesizer/sst-githubactions/upload-to-release@main | |
with: | |
tag: DAWPlugin | |
reuse_tag: true | |
create_tag: false | |
token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Post to Discord | |
uses: surge-synthesizer/sst-githubactions/discord-release-notify@main | |
with: | |
webhook: ${{ secrets.DISCORD_WEBHOOK }} | |
tag: DAWPlugin | |
title: "A New AirWindows Conslidated Version is Available" | |