action.yaml 3.5 KB

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