Commit Graph

30 Commits

Author SHA1 Message Date
Gioacchino Mazzurco
086184ad21
Fix GitLab mirror failing on GitHub PR refs
The mirror workflow cloned with --mirror and pushed all refs, including
GitHub's refs/pull/* and upstream/pr/*, which GitLab rejects as hidden
refs ("deny updating a hidden ref" on upstream/pr/3213), failing the
whole push. Clone --bare and push only refs/heads/* and refs/tags/*
with --prune, keeping deletion sync while never touching PR refs.
2026-07-23 18:10:46 +02:00
csoler
89a1f5482c removed spurious yml file from 3213 2026-06-17 18:39:15 +02:00
csoler
fc696f8dae merging with upstream/master 2026-06-17 18:33:04 +02:00
Gioacchino Mazzurco
5374a746e2
Merge pull request #3235 from defnax/update-workflows
update workflows
2026-06-17 11:46:16 +02:00
jolavillette
f3e5f8541d refactor(cmake): rename "monorepo" -> super-project terminology
The root build is a modular super-project: libretroshare, retroshare-gui,
retroshare-service, retroshare-friendserver and plugins are each a standalone
CMake project that the top-level CMakeLists.txt only aggregates (and they live
in separate git repos pulled as submodules). Rename project(retroshare-monorepo)
-> project(retroshare-superproject) and reword the CI header comments. Purely
cosmetic: the old name was referenced nowhere.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 19:41:45 +02:00
jolavillette
5ced3c66a7 ci(cmake): add Windows and macOS Qt6 CMake build workflows
Qt6 counterparts of windows-cmake.yml and macos-cmake.yml: build the tree
against Qt6 on UCRT64 (qt6-* incl. qt6-5compat) and macOS (Homebrew 'qt'). Both
keep plugins OFF since VOIP/FeedReader are not yet Qt6-ported. Completes the
Qt6 CMake CI matrix (Ubuntu already green).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 17:19:09 +02:00
jolavillette
0f15a9eec5 ci(cmake): add Ubuntu Qt6 CMake build workflow
Qt6 counterpart of ubuntu-cmake.yml: builds the tree against Qt6 on
ubuntu-24.04 to exercise the version-agnostic Qt detection. Plugins kept OFF
since VOIP (Qt5 QtMultimedia API) and FeedReader (Qt5-hardcoded CMake) are not
yet ported.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 16:41:41 +02:00
jolavillette
aa22a42d32 ci(cmake): add concurrency guard, bump checkout v5, use Ninja everywhere
- ubuntu-cmake: add concurrency cancel-in-progress (stop run pile-up per push)
- all 3: actions/checkout@v4 -> @v5 (Node 24; clears the Node 20 deprecation)
- ubuntu + macos: build with -G Ninja for consistency with Windows and a
  slightly faster build (ninja already present on Ubuntu; add brew ninja on macOS)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 13:09:09 +02:00
jolavillette
4683a595ef ci(windows-cmake): -Wno-template-body for GCC 16 (rapidjson 1.1.0)
Build reached 863/906 then failed in the FeedReader plugin: GCC 16's new
-Wtemplate-body diagnoses rapidjson 1.1.0's GenericStringRef::operator=
(assigns const members, never instantiated) as a hard error. FeedReader
includes rapidjson via -I (warnings active) unlike other targets that use
-isystem. Disable the check for the whole Windows build.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 10:48:40 +02:00
jolavillette
43bd9c2b1a ci(windows-cmake): use native UCRT64 doxygen for JSON API generator
The MSYS base /usr/bin/doxygen.exe treats CMake's Windows-style OUTPUT_DIRECTORY
(D:/...) as relative, producing a bogus mixed path and failing the jsonapi
generator. Use the native-Windows mingw-w64-ucrt-x86_64-doxygen instead, which
understands D:/ drive paths.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 10:18:38 +02:00
jolavillette
e09c0fef5b ci(windows-cmake): force-include cstring/cstdint for GCC 16 strictness
MSYS2 now ships GCC 16.1, which dropped many transitive includes. The pinned
librnp commit uses strlen() without <cstring>, so it failed to build
(crypto/mem.cpp: 'strlen' was not declared). Force-include the standard
string/stdint headers for the whole Windows build as a non-intrusive
workaround.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 10:09:39 +02:00
jolavillette
d2ef3c9335 ci(cmake): disable RS_FORUM_DEEP_INDEX (Xapian) on all platforms
Deep index is currently disabled in the project (Xapian unused; it will be
re-enabled via the ForumContentSearchFTS5 branch). Forcing it ON pulled
Xapian, which broke the Windows build: the MSYS2 xapian-core package ships
no import lib, so linking libretroshare.dll failed on a missing
/ucrt64/lib/libxapian.dll.a. Set RS_FORUM_DEEP_INDEX=OFF and drop the xapian
dependency everywhere so the CIs reflect the real config.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 10:01:00 +02:00
jolavillette
dd0bd44f94 ci: add Windows (MSYS2 UCRT64) CMake workflow building the full tree
CMake counterpart of the legacy qmake ci-ucrt64.yml, but builds the whole
tree (service/friendserver/sam3/rnp/plugins all ON) with Ninja and a shared
libretroshare, mirroring the user's validated local Windows command.
Submodules init without --remote (like the Linux/macOS CMake CIs).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 09:50:45 +02:00
jolavillette
0abb7888fd ci(macos-cmake): point find_package(Qt5) at keg-only qt@5
Configure failed because the broad CMAKE_PREFIX_PATH put the Homebrew
prefix ahead of qt@5, so find_package(Qt5) picked a broken Qt5 config
(referencing a non-existent mkspecs/macx-clang). Put qt@5 first and set
Qt5_DIR explicitly, matching the local build_retroshare.sh approach.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 09:27:56 +02:00
jolavillette
2a79b50b32 ci: add macOS CMake workflow building the full tree from root
CMake counterpart of the legacy qmake ci-macOS.yml, but builds the whole
tree (service/friendserver/sam3/rnp/plugins all ON) on macos-14 / Qt5,
using the user's validated Homebrew -I/-L flag harvesting plus
CMAKE_PREFIX_PATH so find_package() locates keg-only qt@5/botan@2/etc.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 09:22:56 +02:00
jolavillette
dd93c5a9f1 ci(ubuntu-cmake): install ffmpeg dev libs for the VOIP plugin
CMake configure failed at plugins/VOIP/CMakeLists.txt (pkg_check_modules
REQUIRED libavcodec/libavutil). Add libavcodec-dev and libavutil-dev.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 08:01:33 +02:00
jolavillette
8ef5f5f6cf ci: add Ubuntu CMake workflow building the full tree from root
Adds .github/workflows/ubuntu-cmake.yml as the CMake counterpart to the
legacy qmake CI. Builds the whole super-project from the top-level
CMakeLists.txt (libretroshare + gui + service + friendserver + plugins,
JSON API / WebUI on) on ubuntu-22.04 / Qt5.

Submodules are initialised without --remote so libretroshare stays on the
pinned CMake-enabled commit; librnp is fetched recursively for src/libsexpp.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 07:49:06 +02:00
defnax
abfef2c8e7 update workflows
remove not needed ucrt flow
2026-06-14 21:39:19 +02:00
Gioacchino Mazzurco
50b8967ecc
Add github workflow to automatically sync to gitlab.com repo 2026-06-14 15:50:30 +02:00
defnax
1070f39ad0 Fix workflows by saurabh 2026-05-01 12:52:36 +02:00
Christoph Johannes Kleine
8ef3f2bb54
github workflow rename qmake to qmake-qt5.exe 2026-01-07 20:07:57 +01:00
defnax
bc34ef1ac8 Added macos workflow 2025-09-06 21:47:15 +02:00
Christoph Johannes Kleine
e0087ea8ee
ADD: apt update 2025-08-10 17:22:17 +02:00
Christoph Johannes Kleine
fd48b6b1ba
ADD: ubuntu workflow files 2025-08-10 17:08:49 +02:00
csoler
4617015412
Merge pull request #3003 from defnax/qt6-workflow-mingw64
Added Qt6 workflow
2025-08-10 09:46:04 +02:00
defnax
47c49ca534
Disable webui &jsonapi 2025-08-04 10:38:29 +02:00
defnax
e26ed4c3c3 Removed jsonapi & webui config from workflow 2025-08-03 00:29:06 +02:00
defnax
6899b1548c update changes 2025-07-30 22:07:26 +02:00
defnax
9ec24f826f Added Qt5 workflow 2025-07-30 21:55:38 +02:00
defnax
9e121480c0 Added Qt6 workflow 2025-07-25 20:23:15 +02:00