mirror of
https://github.com/WarmUpTill/SceneSwitcher.git
synced 2026-07-19 09:25:12 -05:00
Build both portable and non-portable artifacts for Linux
This commit is contained in:
parent
7b44c28767
commit
7304fa349e
8
.github/actions/build-plugin/action.yml
vendored
8
.github/actions/build-plugin/action.yml
vendored
|
|
@ -20,6 +20,10 @@ inputs:
|
|||
description: 'Visual Studio version (Windows only)'
|
||||
required: false
|
||||
default: 'Visual Studio 16 2019'
|
||||
portable:
|
||||
description: 'Set portable mode (Linux only)'
|
||||
required: false
|
||||
default: 'false'
|
||||
workingDirectory:
|
||||
description: 'Working directory for packaging'
|
||||
required: false
|
||||
|
|
@ -56,6 +60,10 @@ runs:
|
|||
build_args+=(--debug)
|
||||
fi
|
||||
|
||||
if [[ '${{ inputs.portable }}' == 'true' ]]; then
|
||||
build_args+=(-p)
|
||||
fi
|
||||
|
||||
${{ inputs.workingDirectory }}/.github/scripts/build-linux.sh "${build_args[@]}"
|
||||
|
||||
- name: Run Windows Build
|
||||
|
|
|
|||
8
.github/actions/package-plugin/action.yml
vendored
8
.github/actions/package-plugin/action.yml
vendored
|
|
@ -36,6 +36,10 @@ inputs:
|
|||
description: 'Create InnoSetup installer (Windows only)'
|
||||
required: false
|
||||
default: 'false'
|
||||
portable:
|
||||
description: 'Create deb package / portable archive (Linux only)'
|
||||
required: false
|
||||
default: 'false'
|
||||
workingDirectory:
|
||||
description: 'Working directory for packaging'
|
||||
required: false
|
||||
|
|
@ -75,6 +79,10 @@ runs:
|
|||
build_args+=(--debug)
|
||||
fi
|
||||
|
||||
if [[ '${{ inputs.portable }}' == 'true' ]]; then
|
||||
package_args+=(-z)
|
||||
fi
|
||||
|
||||
${{ inputs.workingDirectory }}/.github/scripts/package-linux.sh "${package_args[@]}"
|
||||
|
||||
- name: Run Windows packaging
|
||||
|
|
|
|||
8
.github/scripts/.build.zsh
vendored
8
.github/scripts/.build.zsh
vendored
|
|
@ -76,6 +76,7 @@ Usage: %B${functrace[1]%:*}%b <option> [<options>]
|
|||
%B-t | --target%b Specify target - default: %B%F{green}${host_os}-${CPUTYPE}%f%b
|
||||
%B-c | --config%b Build configuration - default: %B%F{green}RelWithDebInfo%f%b
|
||||
%B-s | --codesign%b Enable codesigning (macOS only)
|
||||
%B-p | --portable%b Enable portable mode (Linux only)
|
||||
%B--generator%b Specify build system to generate - default: %B%F{green}Ninja%f%b
|
||||
Available generators:
|
||||
- Ninja
|
||||
|
|
@ -130,6 +131,7 @@ Usage: %B${functrace[1]%:*}%b <option> [<options>]
|
|||
shift 2
|
||||
;;
|
||||
-s|--codesign) CODESIGN=1; shift ;;
|
||||
-p|--portable) typeset -g PORTABLE=1; shift ;;
|
||||
-q|--quiet) (( _verbosity -= 1 )) || true; shift ;;
|
||||
-v|--verbose) (( _verbosity += 1 )); shift ;;
|
||||
-h|--help) log_output ${_usage}; exit 0 ;;
|
||||
|
|
@ -245,7 +247,11 @@ Usage: %B${functrace[1]%:*}%b <option> [<options>]
|
|||
|
||||
;;
|
||||
linux-*)
|
||||
if (( ${+CI} )) {
|
||||
if (( ${+PORTABLE} )) {
|
||||
cmake_args+=(
|
||||
-DLINUX_PORTABLE=ON
|
||||
)
|
||||
} else {
|
||||
cmake_args+=(
|
||||
-DCMAKE_INSTALL_PREFIX=/usr
|
||||
-DLINUX_PORTABLE=OFF
|
||||
|
|
|
|||
19
.github/scripts/.package.zsh
vendored
19
.github/scripts/.package.zsh
vendored
|
|
@ -61,6 +61,7 @@ Usage: %B${functrace[1]%:*}%b <option> [<options>]
|
|||
%B-c | --config%b Build configuration - default: %B%F{green}RelWithDebInfo%f%b
|
||||
%B-s | --codesign%b Enable codesigning (macOS only)
|
||||
%B-n | --notarize%b Enable notarization (macOS only)
|
||||
%B-z | --zip%b Zip only (Linux only)
|
||||
|
||||
%F{yellow} Output options%f
|
||||
-----------------------------------------------------------------------------
|
||||
|
|
@ -110,6 +111,7 @@ Usage: %B${functrace[1]%:*}%b <option> [<options>]
|
|||
;;
|
||||
-s|--codesign) typeset -g CODESIGN=1; shift ;;
|
||||
-n|--notarize) typeset -g NOTARIZE=1; typeset -g CODESIGN=1; shift ;;
|
||||
-z|--zip) typeset -g ZIP=1; shift ;;
|
||||
-q|--quiet) (( _verbosity -= 1 )) || true; shift ;;
|
||||
-v|--verbose) (( _verbosity += 1 )); shift ;;
|
||||
-h|--help) log_output ${_usage}; exit 0 ;;
|
||||
|
|
@ -180,12 +182,19 @@ Usage: %B${functrace[1]%:*}%b <option> [<options>]
|
|||
}
|
||||
popd
|
||||
} elif [[ ${host_os} == 'linux' ]] {
|
||||
local -a cmake_args=()
|
||||
if (( _loglevel > 1 )) cmake_args+=(--verbose)
|
||||
if (( ${+ZIP} )) {
|
||||
local output_name="${product_name}-${product_version}-${host_os}-${target##*-}.zip"
|
||||
pushd ${project_root}/release
|
||||
zip -r "${output_name}" *
|
||||
popd
|
||||
} else {
|
||||
local -a cmake_args=()
|
||||
if (( _loglevel > 1 )) cmake_args+=(--verbose)
|
||||
|
||||
pushd ${project_root}
|
||||
cmake --build build_${target##*-} --config ${BUILD_CONFIG:-RelWithDebInfo} -t package ${cmake_args}
|
||||
popd
|
||||
pushd ${project_root}
|
||||
cmake --build build_${target##*-} --config ${BUILD_CONFIG:-RelWithDebInfo} -t package ${cmake_args}
|
||||
popd
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
23
.github/workflows/main.yml
vendored
23
.github/workflows/main.yml
vendored
|
|
@ -169,7 +169,7 @@ jobs:
|
|||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: ${{ env.PLUGIN_NAME }}-macos-${{ matrix.arch }}-${{ steps.setup.outputs.commitHash }}
|
||||
path: ${{ github.workspace }}/plugin/release/${{ env.LIB_NAME }}-*-macos-${{ matrix.arch }}.pkg
|
||||
path: ${{ github.workspace }}/plugin/release/${{ env.LIB_NAME }}*-macos-${{ matrix.arch }}.pkg
|
||||
|
||||
linux_build:
|
||||
name: 02 - Linux
|
||||
|
|
@ -178,6 +178,7 @@ jobs:
|
|||
fail-fast: true
|
||||
matrix:
|
||||
arch: [x86_64]
|
||||
portable: [true, false]
|
||||
if: always()
|
||||
needs: [clang_check]
|
||||
outputs:
|
||||
|
|
@ -235,13 +236,7 @@ jobs:
|
|||
workingDirectory: ${{ github.workspace }}/plugin
|
||||
target: ${{ matrix.arch }}
|
||||
config: RelWithDebInfo
|
||||
|
||||
- name: Upload Build Artifact
|
||||
if: ${{ success() }}
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: ${{ env.PLUGIN_NAME }}-linux-${{ matrix.arch }}-${{ steps.setup.outputs.commitHash }}
|
||||
path: ${{ github.workspace }}/plugin/release/*
|
||||
portable: ${{ matrix.portable }}
|
||||
|
||||
- name: Package Plugin
|
||||
uses: ./plugin/.github/actions/package-plugin
|
||||
|
|
@ -249,13 +244,21 @@ jobs:
|
|||
workingDirectory: ${{ github.workspace }}/plugin
|
||||
target: ${{ matrix.arch }}
|
||||
config: RelWithDebInfo
|
||||
portable: ${{ matrix.portable }}
|
||||
|
||||
- name: Upload Package Artifact
|
||||
if: ${{ success() }}
|
||||
if: ${{ matrix.portable }}
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: ${{ env.PLUGIN_NAME }}-linux-${{ matrix.arch }}-${{ steps.setup.outputs.commitHash }}-portable
|
||||
path: ${{ github.workspace }}/plugin/release/${{ env.LIB_NAME }}*-linux-${{ matrix.arch }}.*
|
||||
|
||||
- name: Upload Build Artifact
|
||||
if: ${{ ! matrix.portable }}
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: ${{ env.PLUGIN_NAME }}-linux-${{ matrix.arch }}-${{ steps.setup.outputs.commitHash }}
|
||||
path: ${{ github.workspace }}/plugin/release/${{ env.LIB_NAME }}-*-linux-${{ matrix.arch }}.*
|
||||
path: ${{ github.workspace }}/plugin/release/${{ env.LIB_NAME }}*-linux-${{ matrix.arch }}.*
|
||||
|
||||
windows_build:
|
||||
name: 02 - Windows
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user