Update/XPMP2: relOp.txt, Multicast fixes #16
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 all Platforms | |
on: | |
push: | |
pull_request: | |
branches: [ main ] | |
workflow_dispatch: # Can also be called manually for whatever reason, e.g. if wanting to build with FMOD sound | |
inputs: | |
flags: | |
description: "Flags to be passed to CMake" | |
required: false | |
type: string | |
default: '-DINCLUDE_FMOD_SOUND=1' | |
# Let's set all project specific definitions globally | |
env: | |
PRJ_NAME: XPMP2-Sample # The plugin's name, expected to be the .xpl file's name and used as the plugin folder name | |
jobs: | |
##################################### | |
# Linux with GCC | |
build-lin: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v3 # must checkout before we can use our own actions | |
with: | |
submodules: 'recursive' | |
- name: Build | |
uses: ./.github/actions/build-lin | |
id: build | |
with: | |
pluginName: ${{ env.PRJ_NAME }} | |
flags: ${{ inputs.flags }} | |
- name: Upload Plugin | |
uses: ./.github/actions/upload-plugin | |
with: | |
pluginName: ${{ env.PRJ_NAME }} | |
archFolder: lin_x64 | |
xplFileName: "${{ steps.build.outputs.xpl-file-name }}" | |
##################################### | |
# MacOS with CMake/clang and sign/notarize in self-written script | |
build-mac: | |
runs-on: macos-latest | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v3 # must checkout before we can use our own actions | |
with: | |
submodules: 'recursive' | |
- name: Build | |
uses: ./.github/actions/build-mac | |
id: build | |
with: | |
pluginName: ${{ env.PRJ_NAME }} | |
flags: ${{ inputs.flags }} | |
- name: Check if Secrets available | |
id: checksecrets | |
env: | |
MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }} | |
shell: bash | |
run: | | |
if [ "$MACOS_CERTIFICATE" == "" ]; then | |
echo "secretspresent=" >> $GITHUB_OUTPUT | |
else | |
echo "secretspresent=true" >> $GITHUB_OUTPUT | |
fi | |
- name: Codesign and Notarization | |
if: ${{ steps.checksecrets.outputs.secretspresent }} | |
uses: ./.github/actions/sign-notarize | |
with: | |
xplFileName: ${{ steps.build.outputs.xpl-file-name }} | |
certificate: ${{ secrets.MACOS_CERTIFICATE }} | |
certPwd: ${{ secrets.MACOS_CERT_PWD }} | |
notarizeUser: ${{ secrets.NOTARIZATION_USERNAME }} | |
notarizeTeam: ${{ secrets.NOTARIZATION_TEAM }} | |
notarizeAppPwd: ${{ secrets.NOTARIZATION_PASSWORD }} | |
- name: Upload Plugin | |
uses: ./.github/actions/upload-plugin | |
with: | |
pluginName: ${{ env.PRJ_NAME }} | |
archFolder: mac_x64 | |
xplFileName: ${{ steps.build.outputs.xpl-file-name }} | |
##################################### | |
# Windows with MS Visual Studio | |
build-win: | |
runs-on: windows-2022 | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v3 # must checkout before we can use our own actions | |
with: | |
submodules: 'recursive' | |
- name: Build | |
uses: ./.github/actions/build-win | |
id: build | |
with: | |
pluginName: ${{ env.PRJ_NAME }} | |
flags: ${{ inputs.flags }} | |
- name: Upload Plugin | |
uses: ./.github/actions/upload-plugin | |
with: | |
pluginName: ${{ env.PRJ_NAME }} | |
archFolder: win_x64 | |
xplFileName: "${{ steps.build.outputs.xpl-file-name }}" | |
pdbFileName: "${{ steps.build.outputs.pdb-file-name }}" |