action.yml 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. name: 'Setup and build plugin'
  2. description: 'Builds the plugin for specified architecture and build config.'
  3. inputs:
  4. target:
  5. description: 'Build target for dependencies'
  6. required: true
  7. config:
  8. description: 'Build configuration'
  9. required: false
  10. default: 'Release'
  11. codesign:
  12. description: 'Enable codesigning (macOS only)'
  13. required: false
  14. default: 'false'
  15. codesignIdent:
  16. description: 'Developer ID for application codesigning (macOS only)'
  17. required: false
  18. default: '-'
  19. visualStudio:
  20. description: 'Visual Studio version (Windows only)'
  21. required: false
  22. default: 'Visual Studio 16 2019'
  23. workingDirectory:
  24. description: 'Working directory for packaging'
  25. required: false
  26. default: ${{ github.workspace }}
  27. runs:
  28. using: 'composite'
  29. steps:
  30. - name: Run macOS Build
  31. if: ${{ runner.os == 'macOS' }}
  32. shell: zsh {0}
  33. env:
  34. CODESIGN_IDENT: ${{ inputs.codesignIdent }}
  35. run: |
  36. build_args=(
  37. -c ${{ inputs.config }}
  38. -t macos-${{ inputs.target }}
  39. )
  40. if [[ '${{ inputs.codesign }}' == 'true' ]] build_args+=(-s)
  41. if (( ${+CI} && ${+RUNNER_DEBUG} )) build_args+=(--debug)
  42. ${{ inputs.workingDirectory }}/.github/scripts/build-macos.zsh ${build_args}
  43. - name: Run Linux Build
  44. if: ${{ runner.os == 'Linux' }}
  45. shell: bash
  46. run: |
  47. build_args=(
  48. -c ${{ inputs.config }}
  49. -t linux-${{ inputs.target }}
  50. )
  51. if [[ -n "${CI}" && -n "${RUNNER_DEBUG}" ]]; then
  52. build_args+=(--debug)
  53. fi
  54. ${{ inputs.workingDirectory }}/.github/scripts/build-linux.sh "${build_args[@]}"
  55. - name: Run Windows Build
  56. if: ${{ runner.os == 'Windows' }}
  57. shell: pwsh
  58. run: |
  59. $BuildArgs = @{
  60. Target = '${{ inputs.target }}'
  61. Configuration = '${{ inputs.config }}'
  62. CMakeGenerator = '${{ inputs.visualStudio }}'
  63. }
  64. if ( ( Test-Path env:CI ) -and ( Test-Path env:RUNNER_DEBUG ) ) {
  65. $BuildArgs += @{
  66. Debug = $true
  67. }
  68. }
  69. ${{ inputs.workingDirectory }}/.github/scripts/Build-Windows.ps1 @BuildArgs