action.yml 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  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. ${{ inputs.workingDirectory }}/.github/scripts/build-macos.zsh ${build_args}
  42. - name: Run Linux Build
  43. if: ${{ runner.os == 'Linux' }}
  44. shell: bash
  45. run: |
  46. build_args=(
  47. -c ${{ inputs.config }}
  48. -t linux-${{ inputs.target }}
  49. )
  50. ${{ inputs.workingDirectory }}/.github/scripts/build-linux.sh ${build_args[@]}
  51. - name: Run Windows Build
  52. if: ${{ runner.os == 'Windows' }}
  53. shell: pwsh
  54. run: |
  55. $BuildArgs = @{
  56. Target = '${{ inputs.target }}'
  57. Configuration = '${{ inputs.config }}'
  58. CMakeGenerator = '${{ inputs.visualStudio }}'
  59. }
  60. ${{ inputs.workingDirectory }}/.github/scripts/Build-Windows.ps1 @BuildArgs