action.yaml 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. name: 'Package plugin'
  2. description: 'Packages 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: 'RelWithDebInfo'
  11. codesign:
  12. description: 'Enable codesigning (macOS only)'
  13. required: false
  14. default: 'false'
  15. notarize:
  16. description: 'Enable notarization (macOS only)'
  17. required: false
  18. default: 'false'
  19. codesignIdent:
  20. description: 'Developer ID for application codesigning (macOS only)'
  21. required: false
  22. default: '-'
  23. installerIdent:
  24. description: 'Developer ID for installer package codesigning (macOS only)'
  25. required: false
  26. default: ''
  27. codesignUser:
  28. description: 'Apple ID username for notarization (macOS only)'
  29. required: false
  30. default: ''
  31. codesignPass:
  32. description: 'Apple ID password for notarization (macOS only)'
  33. required: false
  34. default: ''
  35. package:
  36. description: 'Create Windows or macOS installation package'
  37. required: false
  38. default: 'false'
  39. workingDirectory:
  40. description: 'Working directory for packaging'
  41. required: false
  42. default: ${{ github.workspace }}
  43. runs:
  44. using: composite
  45. steps:
  46. - name: Run macOS Packaging
  47. if: runner.os == 'macOS'
  48. shell: zsh --no-rcs --errexit --pipefail {0}
  49. working-directory: ${{ inputs.workingDirectory }}
  50. env:
  51. CODESIGN_IDENT: ${{ inputs.codesignIdent }}
  52. CODESIGN_IDENT_INSTALLER: ${{ inputs.installerIdent }}
  53. CODESIGN_IDENT_USER: ${{ inputs.codesignUser }}
  54. CODESIGN_IDENT_PASS: ${{ inputs.codesignPass }}
  55. run: |
  56. : Run macOS Packaging
  57. local -a package_args=(--config ${{ inputs.config }})
  58. if (( ${+RUNNER_DEBUG} )) package_args+=(--debug)
  59. if [[ '${{ inputs.codesign }}' == 'true' ]] package_args+=(--codesign)
  60. if [[ '${{ inputs.notarize }}' == 'true' ]] package_args+=(--notarize)
  61. if [[ '${{ inputs.package }}' == 'true' ]] package_args+=(--package)
  62. .github/scripts/package-macos ${package_args}
  63. - name: Install Dependencies 🛍️
  64. if: runner.os == 'Linux'
  65. shell: bash
  66. run: |
  67. : Install Dependencies 🛍️
  68. echo ::group::Install Dependencies
  69. eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
  70. echo "/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin" >> $GITHUB_PATH
  71. brew install --quiet zsh
  72. echo ::endgroup::
  73. - name: Run Ubuntu Packaging
  74. if: runner.os == 'Linux'
  75. shell: zsh --no-rcs --errexit --pipefail {0}
  76. working-directory: ${{ inputs.workingDirectory }}
  77. run: |
  78. : Run Ubuntu Packaging
  79. package_args=(
  80. --target linux-${{ inputs.target }}
  81. --config ${{ inputs.config }}
  82. )
  83. if (( ${+RUNNER_DEBUG} )) build_args+=(--debug)
  84. if [[ '${{ inputs.package }}' == 'true' ]] package_args+=(--package)
  85. .github/scripts/package-linux ${package_args}
  86. - name: Run Windows Packaging
  87. if: runner.os == 'Windows'
  88. shell: pwsh
  89. run: |
  90. # Run Windows Packaging
  91. if ( $Env:RUNNER_DEBUG -ne $null ) {
  92. Set-PSDebug -Trace 1
  93. }
  94. $PackageArgs = @{
  95. Target = '${{ inputs.target }}'
  96. Configuration = '${{ inputs.config }}'
  97. }
  98. if ( '${{ inputs.package }}' -eq 'true' ) {
  99. $PackageArgs += @{BuildInstaller = $true}
  100. }
  101. .github/scripts/Package-Windows.ps1 @PackageArgs