mirror of
https://github.com/falcosecurity/falco.git
synced 2025-09-25 20:30:47 +00:00
feat(ci): create win32 and macos installer
Signed-off-by: Roberto Scolaro <roberto.scolaro21@gmail.com>
This commit is contained in:
10
.github/workflows/reusable_build_packages.yaml
vendored
10
.github/workflows/reusable_build_packages.yaml
vendored
@@ -234,12 +234,18 @@ jobs:
|
|||||||
|
|
||||||
- name: Build project
|
- name: Build project
|
||||||
run: |
|
run: |
|
||||||
cmake --build build --config Release
|
cmake --build build --target package --config Release
|
||||||
|
|
||||||
- name: Run unit Tests
|
- name: Run unit Tests
|
||||||
run: |
|
run: |
|
||||||
build/unit_tests/Release/falco_unit_tests.exe
|
build/unit_tests/Release/falco_unit_tests.exe
|
||||||
|
|
||||||
|
- name: Upload Falco win32 installer
|
||||||
|
uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3
|
||||||
|
with:
|
||||||
|
name: falco-installer-${{ inputs.version }}-win32.exe
|
||||||
|
path: build/falco-*.exe
|
||||||
|
|
||||||
- name: Upload Falco win32 package
|
- name: Upload Falco win32 package
|
||||||
uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3
|
uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3
|
||||||
with:
|
with:
|
||||||
@@ -264,7 +270,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Build project
|
- name: Build project
|
||||||
run: |
|
run: |
|
||||||
cmake --build build
|
cmake --build build --target package
|
||||||
|
|
||||||
- name: Run unit Tests
|
- name: Run unit Tests
|
||||||
run: |
|
run: |
|
||||||
|
@@ -21,7 +21,11 @@ option(MINIMAL_BUILD "Build a minimal version of Falco, containing only the engi
|
|||||||
option(MUSL_OPTIMIZED_BUILD "Enable if you want a musl optimized build" OFF)
|
option(MUSL_OPTIMIZED_BUILD "Enable if you want a musl optimized build" OFF)
|
||||||
option(BUILD_FALCO_UNIT_TESTS "Build falco unit tests" OFF)
|
option(BUILD_FALCO_UNIT_TESTS "Build falco unit tests" OFF)
|
||||||
|
|
||||||
if(EMSCRIPTEN)
|
if(WIN32)
|
||||||
|
set(CPACK_GENERATOR "NSIS") # this needs NSIS installed, and available
|
||||||
|
elseif (APPLE)
|
||||||
|
set(CPACK_GENERATOR "DragNDrop")
|
||||||
|
elseif(EMSCRIPTEN)
|
||||||
set(USE_BUNDLED_DEPS ON CACHE BOOL "" FORCE)
|
set(USE_BUNDLED_DEPS ON CACHE BOOL "" FORCE)
|
||||||
set(BUILD_DRIVER OFF CACHE BOOL "" FORCE)
|
set(BUILD_DRIVER OFF CACHE BOOL "" FORCE)
|
||||||
set(ENABLE_DKMS OFF CACHE BOOL "" FORCE)
|
set(ENABLE_DKMS OFF CACHE BOOL "" FORCE)
|
||||||
@@ -229,7 +233,16 @@ if (NOT MINIMAL_BUILD)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Installation
|
# Installation
|
||||||
install(FILES falco.yaml DESTINATION "${FALCO_ETC_DIR}" COMPONENT "${FALCO_COMPONENT_NAME}")
|
if(WIN32)
|
||||||
|
set(FALCO_INSTALL_CONF_FILE "%PROGRAMFILES%/${PACKAGE_NAME}-${FALCO_VERSION}/etc/falco/falco.yaml")
|
||||||
|
install(FILES falco.yaml DESTINATION etc/falco/ COMPONENT "${FALCO_COMPONENT_NAME}")
|
||||||
|
elseif(APPLE)
|
||||||
|
set(FALCO_INSTALL_CONF_FILE "/etc/falco/falco.yaml")
|
||||||
|
install(FILES falco.yaml DESTINATION etc/falco/ COMPONENT "${FALCO_COMPONENT_NAME}")
|
||||||
|
else()
|
||||||
|
set(FALCO_INSTALL_CONF_FILE "/etc/falco/falco.yaml")
|
||||||
|
install(FILES falco.yaml DESTINATION "${FALCO_ETC_DIR}" COMPONENT "${FALCO_COMPONENT_NAME}")
|
||||||
|
endif()
|
||||||
|
|
||||||
if(NOT MINIMAL_BUILD)
|
if(NOT MINIMAL_BUILD)
|
||||||
# Coverage
|
# Coverage
|
||||||
|
@@ -30,6 +30,10 @@ else()
|
|||||||
set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${CMAKE_SYSTEM_PROCESSOR}")
|
set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${CMAKE_SYSTEM_PROCESSOR}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(WIN32)
|
||||||
|
SET(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}")
|
||||||
|
endif()
|
||||||
|
|
||||||
# Built packages will include only the following components
|
# Built packages will include only the following components
|
||||||
set(CPACK_INSTALL_CMAKE_PROJECTS
|
set(CPACK_INSTALL_CMAKE_PROJECTS
|
||||||
"${CMAKE_CURRENT_BINARY_DIR};${FALCO_COMPONENT_NAME};${FALCO_COMPONENT_NAME};/"
|
"${CMAKE_CURRENT_BINARY_DIR};${FALCO_COMPONENT_NAME};${FALCO_COMPONENT_NAME};/"
|
||||||
|
@@ -34,7 +34,11 @@ set(FALCOSECURITY_RULES_LOCAL_PATH "${PROJECT_BINARY_DIR}/falcosecurity-rules-lo
|
|||||||
file(WRITE "${FALCOSECURITY_RULES_LOCAL_PATH}" "# Your custom rules!\n")
|
file(WRITE "${FALCOSECURITY_RULES_LOCAL_PATH}" "# Your custom rules!\n")
|
||||||
|
|
||||||
if(NOT DEFINED FALCO_ETC_DIR)
|
if(NOT DEFINED FALCO_ETC_DIR)
|
||||||
set(FALCO_ETC_DIR "${CMAKE_INSTALL_FULL_SYSCONFDIR}/falco")
|
set(FALCO_ETC_DIR "${CMAKE_INSTALL_FULL_SYSCONFDIR}/falco")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(WIN32 OR APPLE)
|
||||||
|
set(FALCO_ETC_DIR "etc/falco")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(NOT DEFINED FALCO_RULES_DEST_FILENAME)
|
if(NOT DEFINED FALCO_RULES_DEST_FILENAME)
|
||||||
|
@@ -214,12 +214,16 @@ if(MUSL_OPTIMIZED_BUILD AND CMAKE_BUILD_TYPE STREQUAL "release")
|
|||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (NOT EMSCRIPTEN)
|
if (EMSCRIPTEN)
|
||||||
install(TARGETS falco RUNTIME DESTINATION ${FALCO_BIN_DIR} COMPONENT "${FALCO_COMPONENT_NAME}")
|
install(FILES
|
||||||
|
"$<TARGET_FILE_DIR:falco>/falco.js"
|
||||||
|
"$<TARGET_FILE_DIR:falco>/falco.wasm"
|
||||||
|
DESTINATION ${FALCO_BIN_DIR}
|
||||||
|
COMPONENT "${FALCO_COMPONENT_NAME}")
|
||||||
|
elseif (WIN32)
|
||||||
|
install(TARGETS falco
|
||||||
|
DESTINATION bin
|
||||||
|
COMPONENT "${FALCO_COMPONENT_NAME}")
|
||||||
else()
|
else()
|
||||||
install(FILES
|
install(TARGETS falco RUNTIME DESTINATION ${FALCO_BIN_DIR} COMPONENT "${FALCO_COMPONENT_NAME}")
|
||||||
"$<TARGET_FILE_DIR:falco>/falco.js"
|
|
||||||
"$<TARGET_FILE_DIR:falco>/falco.wasm"
|
|
||||||
DESTINATION ${FALCO_BIN_DIR}
|
|
||||||
COMPONENT "${FALCO_COMPONENT_NAME}")
|
|
||||||
endif()
|
endif()
|
||||||
|
Reference in New Issue
Block a user