Skip to content

Commit

Permalink
CI: build both RPM and source RPM
Browse files Browse the repository at this point in the history
Source RPM (`.src.rpm`) are needed for package distribution in COPR.
  • Loading branch information
DavidB137 committed Feb 1, 2025
1 parent e12c138 commit 1e359c1
Show file tree
Hide file tree
Showing 11 changed files with 49 additions and 44 deletions.
14 changes: 12 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,11 @@ jobs:
shell: bash

- name: Install dependencies
run: sudo apt update && sudo apt-get install -y make cmake rpm
run: |
# Remove existing cmake installation due to incompatible path
# https://gitlab.kitware.com/cmake/cmake/-/commit/611ad194991950ed32189d7314bdbb6cb7cc673b
rm -f /usr/local/bin/cmake
sudo apt update && sudo apt-get install -y make cmake rpm
- name: Setup Node and npm
uses: actions/setup-node@v4
Expand All @@ -31,6 +35,7 @@ jobs:
mkdir build
cd build
cmake .. -Dpackage_version=$VERSION
make package_source
make package
- name: Package GUI
Expand All @@ -39,12 +44,17 @@ jobs:
mkdir build
cd build
cmake .. -Dpackage_version=$VERSION
make package_source
make package
- name: Package NEMEA modules
run: |
cd nemea_modules
make pkg package_version=$VERSION
mkdir build
cd build
cmake .. -Dpackage_version=$VERSION
make package_source
make package
- name: Create Github release
uses: softprops/action-gh-release@v2
Expand Down
10 changes: 7 additions & 3 deletions dp3_server/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.12)

project(pandda_adict DESCRIPTION "ADiCT lite server for PANDDA project")
project(pandda_adict DESCRIPTION "ADiCT lite server for PANDDA project" LANGUAGES NONE)

add_custom_target(adict ALL)
install(DIRECTORY "${PROJECT_SOURCE_DIR}/config" DESTINATION ".")
Expand All @@ -14,14 +14,18 @@ endif()

# CPack configuration for RPM packaging
set(CPACK_GENERATOR "RPM")
set(CPACK_PACKAGE_CONTACT "Ondřej Sedláček <ondrej.sedlacek@cesnet.cz>")
set(CPACK_SOURCE_GENERATOR "RPM")
set(CPACK_PACKAGE_NAME pandda_adict)
set(CPACK_PACKAGE_RELEASE 1)
set(CPACK_PACKAGE_CONTACT "Ondřej Sedláček <ondrej.sedlacek@cesnet.cz>")
set(CPACK_PACKAGE_VENDOR "CESNET z.s.p.o.")
set(CPACK_PACKAGE_VERSION "${package_version}")
set(CPACK_PACKAGE_RELEASE 1)
set(CPACK_PACKAGING_INSTALL_PREFIX "/opt/adict")
set(CPACK_RPM_PACKAGE_ARCHITECTURE "noarch")
set(CPACK_RPM_PACKAGE_RELOCATABLE OFF)
set(CPACK_RPM_PACKAGE_REQUIRES "")
set(CPACK_RPM_BUILDREQUIRES "cmake >= 3.12")
set(CPACK_RPM_SOURCE_PKG_BUILD_PARAMS "-Dpackage_version=${package_version}")
set(CPACK_SOURCE_IGNORE_FILES "build;\.env;\.venv;env;venv;__pycache__")

include(CPack)
12 changes: 8 additions & 4 deletions frontend/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
cmake_minimum_required(VERSION 3.12)

project(pandda_gui DESCRIPTION "User interface for PANDDA project")
project(pandda_gui DESCRIPTION "User interface for PANDDA project" LANGUAGES NONE)

add_custom_target(gui ALL COMMAND npm install && npm run build)
add_custom_target(gui ALL COMMAND cd ${PROJECT_SOURCE_DIR} && npm install && npm run build)
install(DIRECTORY "${PROJECT_SOURCE_DIR}/dist/" DESTINATION ".")

# Ensure presence of version specifier
Expand All @@ -12,14 +12,18 @@ endif()

# CPack configuration for RPM packaging
set(CPACK_GENERATOR "RPM")
set(CPACK_PACKAGE_CONTACT "Dávid Benko <benko@cesnet.cz>")
set(CPACK_SOURCE_GENERATOR "RPM")
set(CPACK_PACKAGE_NAME pandda_gui)
set(CPACK_PACKAGE_RELEASE 1)
set(CPACK_PACKAGE_CONTACT "Dávid Benko <benko@cesnet.cz>")
set(CPACK_PACKAGE_VENDOR "CESNET z.s.p.o.")
set(CPACK_PACKAGE_VERSION "${package_version}")
set(CPACK_PACKAGE_RELEASE 1)
set(CPACK_PACKAGING_INSTALL_PREFIX "/var/www")
set(CPACK_RPM_PACKAGE_ARCHITECTURE "noarch")
set(CPACK_RPM_PACKAGE_RELOCATABLE OFF)
set(CPACK_RPM_PACKAGE_REQUIRES "pandda_adict == ${package_version}, nginx")
set(CPACK_RPM_BUILDREQUIRES "cmake >= 3.12, nodejs >= 1:18, npm >= 1:10")
set(CPACK_RPM_SOURCE_PKG_BUILD_PARAMS "-Dpackage_version=${package_version}")
set(CPACK_SOURCE_IGNORE_FILES "build;dist;node_modules;.*\.local")

include(CPack)
29 changes: 16 additions & 13 deletions nemea_modules/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,14 +1,6 @@
cmake_minimum_required(VERSION 3.12)

project(adict_nemea_packages VERSION 1.0.0 DESCRIPTION "NEMEA Packages for ADiCT")

include(../cmake/build_type.cmake)
include(../cmake/installation.cmake)

# Ensure presence of version specifier
if(NOT DEFINED package_version)
message(FATAL_ERROR "Variable `package_version` is not set!")
endif()
project(adict_nemea_packages VERSION 1.0.0 DESCRIPTION "NEMEA Packages for ADiCT" LANGUAGES NONE)

add_subdirectory(common)
add_subdirectory(dp_aggregator)
Expand All @@ -17,15 +9,26 @@ add_subdirectory(nemea_adict_sender)
add_subdirectory(open_ports)
add_subdirectory(recog)

# Ensure presence of version specifier
if(NOT DEFINED package_version)
message(FATAL_ERROR "Variable `package_version` is not set!")
endif()

set(CMAKE_INSTALL_PREFIX "/usr")

# CPack configuration for RPM packaging
include(InstallRequiredSystemLibraries)
set(CPACK_GENERATOR "RPM")
set(CPACK_SOURCE_GENERATOR "RPM")
set(CPACK_PACKAGE_NAME "nemea-adict")
set(CPACK_PACKAGE_VERSION "${package_version}")
set(CPACK_PACKAGE_RELEASE 1)
set(CPACK_PACKAGE_CONTACT "Ondrej Sedlacek <ondrej.sedlacek@cesnet.cz>")
set(CPACK_PACKAGE_VENDOR "CESNET z.s.p.o.")
set(CPACK_INSTALL_PREFIX "/usr")
set(CPACK_PACKAGE_VERSION "${package_version}")
set(CPACK_PACKAGE_RELEASE 1)
set(CPACK_PACKAGING_INSTALL_PREFIX "/usr/bin")
set(CPACK_RPM_PACKAGE_ARCHITECTURE "noarch")
set(CPACK_RPM_PACKAGE_REQUIRES "python3-nemea-pytrap")
set(CPACK_RPM_BUILDREQUIRES "cmake >= 3.12")
set(CPACK_RPM_SOURCE_PKG_BUILD_PARAMS "-Dpackage_version=${package_version}")
set(CPACK_SOURCE_IGNORE_FILES "build;\.env;\.venv;env;venv;__pycache__")

include(CPack)
16 changes: 0 additions & 16 deletions nemea_modules/Makefile

This file was deleted.

2 changes: 1 addition & 1 deletion nemea_modules/common/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
install(FILES ip_network_filter.py
DESTINATION ${INSTALL_DIR_BIN}/nemea_adict
DESTINATION nemea_adict
PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
GROUP_EXECUTE GROUP_READ
WORLD_EXECUTE WORLD_READ
Expand Down
2 changes: 1 addition & 1 deletion nemea_modules/dp_aggregator/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
install(FILES dp_aggregator.py
DESTINATION ${INSTALL_DIR_BIN}/nemea_adict
DESTINATION nemea_adict
PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
GROUP_EXECUTE GROUP_READ
WORLD_EXECUTE WORLD_READ
Expand Down
2 changes: 1 addition & 1 deletion nemea_modules/ip_activity2/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
install(FILES ip_activity2.py
DESTINATION ${INSTALL_DIR_BIN}/nemea_adict
DESTINATION nemea_adict
PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
GROUP_EXECUTE GROUP_READ
WORLD_EXECUTE WORLD_READ
Expand Down
2 changes: 1 addition & 1 deletion nemea_modules/nemea_adict_sender/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
install(FILES nead.py
DESTINATION ${INSTALL_DIR_BIN}/nemea_adict
DESTINATION nemea_adict
PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
GROUP_EXECUTE GROUP_READ
WORLD_EXECUTE WORLD_READ
Expand Down
2 changes: 1 addition & 1 deletion nemea_modules/open_ports/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
install(FILES open_ports.py
DESTINATION ${INSTALL_DIR_BIN}/nemea_adict
DESTINATION nemea_adict
PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
GROUP_EXECUTE GROUP_READ
WORLD_EXECUTE WORLD_READ
Expand Down
2 changes: 1 addition & 1 deletion nemea_modules/recog/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
install(FILES recog.py
DESTINATION ${INSTALL_DIR_BIN}/nemea_adict
DESTINATION nemea_adict
PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
GROUP_EXECUTE GROUP_READ
WORLD_EXECUTE WORLD_READ
Expand Down

0 comments on commit 1e359c1

Please sign in to comment.