123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- name: Set up and build plugin
- description: Builds the plugin for specified architecture and build config
- inputs:
- target:
- description: Target architecture for dependencies
- required: true
- config:
- description: Build configuration
- required: false
- default: RelWithDebInfo
- codesign:
- description: Enable codesigning (macOS only)
- required: false
- default: 'false'
- codesignIdent:
- description: Developer ID for application codesigning (macOS only)
- required: false
- default: '-'
- workingDirectory:
- description: Working directory for packaging
- required: false
- default: ${{ github.workspace }}
- runs:
- using: composite
- steps:
- - name: Run macOS Build
- if: runner.os == 'macOS'
- shell: zsh --no-rcs --errexit --pipefail {0}
- working-directory: ${{ inputs.workingDirectory }}
- env:
- CCACHE_DIR: ${{ inputs.workingDirectory }}/.ccache
- CODESIGN_IDENT: ${{ inputs.codesignIdent }}
- CODESIGN_TEAM: ${{ inputs.codesignTeam }}
- run: |
- : Run macOS Build
- local -a build_args=(--config ${{ inputs.config }})
- if (( ${+RUNNER_DEBUG} )) build_args+=(--debug)
- if [[ '${{ inputs.codesign }}' == 'true' ]] build_args+=(--codesign)
- .github/scripts/build-macos ${build_args}
- - name: Install Dependencies 🛍️
- if: runner.os == 'Linux'
- shell: bash
- run: |
- : Install Dependencies 🛍️
- echo ::group::Install Dependencies
- eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
- echo "/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin" >> $GITHUB_PATH
- brew install --quiet zsh
- echo ::endgroup::
- - name: Run Ubuntu Build
- if: runner.os == 'Linux'
- shell: zsh --no-rcs --errexit --pipefail {0}
- working-directory: ${{ inputs.workingDirectory }}
- env:
- CCACHE_DIR: ${{ inputs.workingDirectory }}/.ccache
- run: |
- : Run Ubuntu Build
- local -a build_args=(
- --target ubuntu-${{ inputs.target }}
- --config ${{ inputs.config }}
- )
- if (( ${+RUNNER_DEBUG} )) build_args+=(--debug)
- .github/scripts/build-ubuntu ${build_args}
- - name: Run Windows Build
- if: runner.os == 'Windows'
- shell: pwsh
- run: |
- # Run Windows Build
- if ( $Env:RUNNER_DEBUG -ne $null ) {
- Set-PSDebug -Trace 1
- }
- $BuildArgs = @{
- Target = '${{ inputs.target }}'
- Configuration = '${{ inputs.config }}'
- }
- .github/scripts/Build-Windows.ps1 @BuildArgs
- - name: Create Summary 📊
- if: contains(fromJSON('["Linux", "macOS"]'),runner.os)
- shell: zsh --no-rcs --errexit --pipefail {0}
- env:
- CCACHE_DIR: ${{ inputs.workingDirectory }}/.ccache
- run: |
- : Create Summary 📊
- local -a ccache_data
- if (( ${+RUNNER_DEBUG} )) {
- setopt XTRACE
- ccache_data=("${(fA)$(ccache -s -vv)}")
- } else {
- ccache_data=("${(fA)$(ccache -s)}")
- }
- print '### ${{ runner.os }} Ccache Stats (${{ inputs.target }})' >> $GITHUB_STEP_SUMMARY
- print '```' >> $GITHUB_STEP_SUMMARY
- for line (${ccache_data}) {
- print ${line} >> $GITHUB_STEP_SUMMARY
- }
- print '```' >> $GITHUB_STEP_SUMMARY
|