Skip to content

Commit c6d4fbb

Browse files
committed
update build
1 parent 33456a1 commit c6d4fbb

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+4279
-1054
lines changed

.github/FUNDING.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
github: exeldro
2-
custom: "https://www.paypal.me/exeldro"
2+
custom: "https://www.paypal.me/exeldro"
3+
patreon: Exeldro
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
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+
41+
if [[ '${{ inputs.codesign }}' == 'true' ]] build_args+=(-s)
42+
if (( ${+CI} && ${+RUNNER_DEBUG} )) build_args+=(--debug)
43+
44+
${{ inputs.workingDirectory }}/.github/scripts/build-macos.zsh ${build_args}
45+
46+
- name: Run Linux Build
47+
if: ${{ runner.os == 'Linux' }}
48+
shell: bash
49+
run: |
50+
build_args=(
51+
-c ${{ inputs.config }}
52+
-t linux-${{ inputs.target }}
53+
)
54+
55+
if [[ -n "${CI}" && -n "${RUNNER_DEBUG}" ]]; then
56+
build_args+=(--debug)
57+
fi
58+
59+
${{ inputs.workingDirectory }}/.github/scripts/build-linux.sh "${build_args[@]}"
60+
61+
- name: Run Windows Build
62+
if: ${{ runner.os == 'Windows' }}
63+
shell: pwsh
64+
run: |
65+
$BuildArgs = @{
66+
Target = '${{ inputs.target }}'
67+
Configuration = '${{ inputs.config }}'
68+
CMakeGenerator = '${{ inputs.visualStudio }}'
69+
}
70+
71+
if ( ( Test-Path env:CI ) -and ( Test-Path env:RUNNER_DEBUG ) ) {
72+
$BuildArgs += @{
73+
Debug = $true
74+
}
75+
}
76+
77+
${{ inputs.workingDirectory }}/.github/scripts/Build-Windows.ps1 @BuildArgs
Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
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: 'Release'
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+
createInstaller:
36+
description: 'Create InnoSetup installer (Windows only)'
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 {0}
49+
env:
50+
CODESIGN_IDENT: ${{ inputs.codesignIdent }}
51+
CODESIGN_IDENT_INSTALLER: ${{ inputs.installerIdent }}
52+
CODESIGN_IDENT_USER: ${{ inputs.codesignUser }}
53+
CODESIGN_IDENT_PASS: ${{ inputs.codesignPass }}
54+
run: |
55+
package_args=(
56+
-c ${{ inputs.config }}
57+
-t macos-${{ inputs.target }}
58+
)
59+
60+
if [[ '${{ inputs.codesign }}' == 'true' ]] package_args+=(-s)
61+
if [[ '${{ inputs.notarize }}' == 'true' ]] package_args+=(-n)
62+
if (( ${+CI} && ${+RUNNER_DEBUG} )) build_args+=(--debug)
63+
64+
${{ inputs.workingDirectory }}/.github/scripts/package-macos.zsh ${package_args}
65+
66+
- name: Run Linux packaging
67+
if: ${{ runner.os == 'Linux' }}
68+
shell: bash
69+
run: |
70+
package_args=(
71+
-c ${{ inputs.config }}
72+
-t linux-${{ inputs.target }}
73+
)
74+
if [[ -n "${CI}" && -n "${RUNNER_DEBUG}" ]]; then
75+
build_args+=(--debug)
76+
fi
77+
78+
${{ inputs.workingDirectory }}/.github/scripts/package-linux.sh "${package_args[@]}"
79+
80+
- name: Run Windows packaging
81+
if: ${{ runner.os == 'Windows' }}
82+
shell: pwsh
83+
run: |
84+
$PackageArgs = @{
85+
Target = '${{ inputs.target }}'
86+
Configuration = '${{ inputs.config }}'
87+
}
88+
89+
if ( '${{ inputs.createInstaller }}' -eq 'true' ) {
90+
$PackageArgs += @{BuildInstaller = $true}
91+
}
92+
93+
if ( ( Test-Path env:CI ) -and ( Test-Path env:RUNNER_DEBUG ) ) {
94+
$BuildArgs += @{
95+
Debug = $true
96+
}
97+
}
98+
99+
${{ inputs.workingDirectory }}/.github/scripts/Package-Windows.ps1 @PackageArgs

.github/scripts/.Aptfile

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package 'cmake'
2+
package 'ccache'
3+
package 'curl'
4+
package 'git'
5+
package 'jq'
6+
package 'ninja-build', bin: 'ninja'
7+
package 'pkg-config'
8+
package 'clang'
9+
package 'clang-format-13'

.github/scripts/.Brewfile

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
brew "ccache"
2+
brew "coreutils"
3+
brew "cmake"
4+
brew "git"
5+
brew "jq"
6+
brew "ninja"

.github/scripts/.Wingetfile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
package '7zip.7zip', path: '7-zip', bin: '7z'
2+
package 'cmake', path: 'Cmake\bin', bin: 'cmake'
3+
package 'innosetup', path: 'Inno Setup 6', bin: 'iscc'

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy