Skip to content

action wix3

action wix3 #249

Workflow file for this run

name: Kerbal Build Test
on:
push:
branches:
- main
- main.fwd
- exp/action
env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Release
KERBAL_BRANCH: main.fwd
jobs:
build:
# The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac.
# You can convert this to a matrix build if you need cross-platform coverage.
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
strategy:
matrix:
include:
- os: ubuntu-latest
compiler: g++
cxx_standard: 98
# - os: ubuntu-latest
# compiler: g++
# cxx_standard: 11
# - os: ubuntu-latest
# compiler: g++
# cxx_standard: 14
# - os: ubuntu-latest
# compiler: g++
# cxx_standard: 17
# - os: ubuntu-latest
# compiler: g++
# cxx_standard: 20
#
# - os: ubuntu-latest
# compiler: clang++
# cxx_standard: 98
# - os: ubuntu-latest
# compiler: clang++
# cxx_standard: 11
# - os: ubuntu-latest
# compiler: clang++
# cxx_standard: 14
# - os: ubuntu-latest
# compiler: clang++
# cxx_standard: 17
# - os: ubuntu-latest
# compiler: clang++
# cxx_standard: 20
#
# - os: windows-latest
# compiler: msvc
# generator: "Visual Studio 17 2022"
# cxx_standard: 14
# - os: windows-latest
# compiler: msvc
# generator: "Visual Studio 17 2022"
# cxx_standard: 17
# - os: windows-latest
# compiler: msvc
# generator: "Visual Studio 17 2022"
# cxx_standard: 20
#
# - os: windows-2019
# compiler: msvc
# generator: "Visual Studio 16 2019"
# cxx_standard: 14
# - os: windows-2019
# compiler: msvc
# generator: "Visual Studio 16 2019"
# cxx_standard: 17
# - os: windows-2019
# compiler: msvc
# generator: "Visual Studio 16 2019"
# cxx_standard: 20
#
# - os: macos-latest
# compiler: clang++
# cxx_standard: 98
# - os: macos-latest
# compiler: clang++
# cxx_standard: 11
# - os: macos-latest
# compiler: clang++
# cxx_standard: 14
# - os: macos-latest
# compiler: clang++
# cxx_standard: 17
# - os: macos-latest
# compiler: clang++
# cxx_standard: 20
runs-on: ${{matrix.os}}
continue-on-error: true
steps:
- name: Show CMake Version
run: cmake --version
# - name: Show Generator Support
# run: cmake --help
#
# - name: Cache Source Directory
# uses: actions/cache@v4
# with:
# path: |
# ${{github.workspace}}/Kerbal
# ${{github.workspace}}/KerbalTest
# key: KerbalBuildTest_source_cache-${{github.run_id}}
# restore-keys: KerbalBuildTest_source_cache
#
# - name: Cache Build Directory
# uses: actions/cache@v4
# with:
# path: |
# ${{github.workspace}}/KerbalTest-build
# key: KerbalBuildTest_build_cache-${{matrix.os}}-${{matrix.compiler}}-${{matrix.cxx_standard}}-${{github.run_id}}
# restore-keys: KerbalBuildTest_build_cache-${{matrix.os}}-${{matrix.compiler}}-${{matrix.cxx_standard}}
#
# - name: Clone Kerbal
# uses: actions/checkout@v4
# with:
# repository: WentsingNee/Kerbal
# ref: ${{env.KERBAL_BRANCH}}
# path: Kerbal
#
# - name: Install Kerbal
# run: >
# cmake
# -S ${{github.workspace}}/Kerbal
# -B ${{github.workspace}}/Kerbal-build
# -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/Kerbal-install
#
# cmake --build ${{github.workspace}}/Kerbal-build --target install
#
# - name: Clone KerbalTest
# uses: actions/checkout@v4
# with:
# path: KerbalTest
#
# - name: Configure KerbalTest
# if: matrix.compiler != 'msvc'
# run: >
# cmake
# -S ${{github.workspace}}/KerbalTest
# -B ${{github.workspace}}/KerbalTest-build
# -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
# -DCMAKE_CXX_COMPILER=${{matrix.compiler}}
# -DCMAKE_CXX_STANDARD=${{matrix.cxx_standard}}
# -DCMAKE_PREFIX_PATH=${{github.workspace}}/Kerbal-install
# -DKTEST_USE_LIBCXX=${{matrix.stdlib}}
# -DKTEST_ENABLE_PRECOMPILE_HEADER=OFF
# -DKTEST_CI="github"
#
# - name: Configure KerbalTest (MSVC)
# if: matrix.compiler == 'msvc'
# run: >
# cmake
# -S ${{github.workspace}}/KerbalTest
# -B ${{github.workspace}}/KerbalTest-build
# -G "${{matrix.generator}}"
# -DCMAKE_CXX_STANDARD=${{matrix.cxx_standard}}
# -DCMAKE_PREFIX_PATH=${{github.workspace}}/Kerbal-install
# -DKTEST_ENABLE_PRECOMPILE_HEADER=OFF
# -DKTEST_CI="github"
#
# - name: Show Environment Kerbal Detect
# run: >
# cmake --build ${{github.workspace}}/KerbalTest-build --config ${{env.BUILD_TYPE}} --target
# utest.config.architecture
# utest.config.compiler_id
# utest.config.compiler_version
# utest.config.cxx_stdlib
# utest.config.language_standard
# utest.config.system
#
# cmake --build ${{github.workspace}}/KerbalTest-build --config ${{env.BUILD_TYPE}} --target
# run_utest.config.architecture
# run_utest.config.compiler_id
# run_utest.config.compiler_version
# run_utest.config.cxx_stdlib
# run_utest.config.language_standard
# run_utest.config.system
#
# - name: Build
# run: cmake --build ${{github.workspace}}/KerbalTest-build --config ${{env.BUILD_TYPE}} --parallel
#
# - name: Run Unit Test
# run: cmake --build ${{github.workspace}}/KerbalTest-build --config ${{env.BUILD_TYPE}} --target run_utest
cpack:
continue-on-error: true
strategy:
matrix:
include:
# - os: ubuntu-latest
# cpack_generators: "DEB;STGZ;TGZ;ZIP;"
# platform: "ubuntu"
- os: windows-latest
cpack_generators: "WIX;"
platform: "windows"
# - os: macos-latest
# cpack_generators: "DragNDrop;"
# platform: "macos"
runs-on: ${{matrix.os}}
needs: build
steps:
- name: Show CPack Generators Support
run: cpack --help
- name: Clone Kerbal
uses: actions/checkout@v4
with:
repository: WentsingNee/Kerbal
ref: ${{env.KERBAL_BRANCH}}
path: Kerbal
submodules: 'true'
- name: CPack Kerbal
run: >
cmake
-S ${{github.workspace}}/Kerbal/
-B ${{github.workspace}}/Kerbal-pack/
-DCMAKE_BUILD_TYPE=Release
-DCPACK_BUNDLE_NAME="Kerbal"
cd ${{github.workspace}}/Kerbal-pack/
cpack -G "${{matrix.cpack_generators}}"
- name: Upload Package
uses: actions/upload-artifact@v4
with:
name: Kerbal-${{matrix.platform}}
path: ${{github.workspace}}/Kerbal-pack/packages
- name: Upload Log
uses: actions/upload-artifact@v4
if: always()
with:
name: xxx
path: ${{github.workspace}}/Kerbal-pack/_CPack_Packages/win64/WIX/wix.log