Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
95 changes: 95 additions & 0 deletions .github/workflows/ci-macOS.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
name: macOS Build

on:
push:
paths-ignore:
- '**/*.md'
pull_request:
paths-ignore:
- '**/*.md'

concurrency:
group: ${{ github.workflow}}-${{ github.head_ref }}
cancel-in-progress: true

permissions:
contents: read

jobs:
build:
runs-on: macos-14
permissions:
actions: write
defaults:
run:
shell: bash

steps:
- name: Setup XCode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: 15.0.1

- name: Show current version of Xcode
run: xcodebuild -version

- name: Checkout repository RetroShare
uses: actions/checkout@v6
with:
persist-credentials: false
repository: 'RetroShare/RetroShare'
submodules: 'false'

- name: Setup Homebrew
id: set-up-homebrew
uses: Homebrew/actions/setup-homebrew@main

- name: Show OpenSSL version
run: pkg-config --cflags libcrypto

- name: Install Packages
run: brew install openssl
miniupnpc
rapidjson
sqlcipher
bzip2
zlib
botan@2
libxslt
libxml2
qt

- name: Checkout submodules
run: |
env
git submodule update --init --remote libbitdht/ libretroshare/ retroshare-webui/
git submodule update --init supportlibs/librnp supportlibs/rapidjson supportlibs/restbed openpgpsdk/

- name: CI-Build
run: |
qmake6 . -r \
"CONFIG+=rs_macos14.0" \
"CONFIG+=debug" \
"CONFIG+=release" \
"CONFIG+=rs_autologin" \
"CONFIG+=wikipoos" \
"CONFIG+=gxsthewire" \
"CONFIG+=retroshare_plugins" \
"CONFIG+=no_rs_sam3" \
"CONFIG+=no_rs_sam3_libsam3" \
"CONFIG+=rs_no_rnplib" \
INCLUDEPATH+="/opt/homebrew/opt/openssl@3/include" \
INCLUDEPATH+="/opt/homebrew/opt/rapidjson/include" \
INCLUDEPATH+="/opt/homebrew/opt/sqlcipher/include" \
INCLUDEPATH+="/opt/homebrew/opt/miniupnpc/include" \
INCLUDEPATH+="/opt/homebrew/opt/libxslt/include" \
INCLUDEPATH+="/opt/homebrew/opt/libxml2/include" \
QMAKE_LIBDIR+="/opt/homebrew/opt/openssl@3/lib" \
QMAKE_LIBDIR+="/opt/homebrew/opt/rapidjson/lib" \
QMAKE_LIBDIR+="/opt/homebrew/opt/sqlcipher/lib" \
QMAKE_LIBDIR+="/opt/homebrew/opt/miniupnpc/lib" \
QMAKE_LIBDIR+="/opt/homebrew/opt/libxslt/lib" \
QMAKE_LIBDIR+="/opt/homebrew/opt/libxml2/lib" \
CONFIG+=no_retroshare_service \
CONFIG+=no_retroshare_friendserver
make
22 changes: 19 additions & 3 deletions .github/workflows/ci-mingw64.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,13 @@ jobs:
shell: msys2 {0}

steps:
- name: Checkout repository
uses: actions/checkout@v4
# Checkout RetroShare: it is needed, because libretroshare.pro is looking for retroshare.pri
- name: Checkout repository RetroShare
uses: actions/checkout@v6
with:
persist-credentials: false
repository: 'RetroShare/RetroShare'
submodules: 'false'

- name: Setup MSYS2
uses: msys2/setup-msys2@40677d36a502eb2cf0fb808cc9dec31bf6152638 # v2.28.0
Expand Down Expand Up @@ -58,6 +61,11 @@ jobs:
mingw-w64-x86_64-libbotan
mingw-w64-x86_64-asio

- name: list directory and print working directory
run: |
pwd
ls -la

- name: Checkout submodules
run: |
env
Expand All @@ -66,5 +74,13 @@ jobs:

- name: CI-Build
run: |
qmake . -r -spec win32-g++ "CONFIG+=release" "CONFIG+=rs_autologin" "CONFIG+=no_rs_sam3" "CONFIG+=no_rs_sam3_libsam3"
qmake . -r -spec win32-g++ \
"CONFIG+=debug" \
"CONFIG+=release" \
"CONFIG+=rs_autologin" \
"CONFIG+=wikipoos" \
"CONFIG+=gxsthewire" \
"CONFIG+=retroshare_plugins" \
"CONFIG+=no_rs_sam3" \
"CONFIG+=no_rs_sam3_libsam3"
mingw32-make -j3
53 changes: 53 additions & 0 deletions .github/workflows/ubuntu-qt6_c-cpp.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Ubuntu Qt 6 C/C++ CI

on:
push:
paths-ignore:
- '**/*.md'
pull_request:
paths-ignore:
- '**/*.md'

concurrency:
group: ${{ github.workflow}}-${{ github.head_ref }}
cancel-in-progress: true

permissions:
contents: read

jobs:
build:
runs-on: ubuntu-24.04
steps:
# Checkout RetroShare: it is needed, because libretroshare.pro is looking for retroshare.pri
- name: Checkout repository RetroShare
uses: actions/checkout@v6
with:
persist-credentials: false
repository: 'RetroShare/RetroShare'
submodules: 'false'
- name: git init submodules
run: git submodule update --init --remote libbitdht/ libretroshare/ openpgpsdk/ retroshare-webui/ && git --no-pager log --max-count 1
- name: git submodule supportlibs
run: git submodule update --init supportlibs/librnp supportlibs/restbed #supportlibs/rapidjson
- name: run apt update
run: sudo apt-get update
- name: apt install
run: sudo apt-get install g++ cmake qt6-base-dev qt6-multimedia-dev libasio-dev libbz2-dev libjson-c-dev libssl-dev libsqlcipher-dev libupnp-dev libxss-dev rapidjson-dev libbotan-2-dev doxygen qt6-5compat-dev libqt6core5compat6-dev libsecret-1-dev libxml2-dev libxslt1-dev libcurl4-openssl-dev
- name: print working directory and list directory
run: pwd && ls -la
- name: qmake
run: |
qmake6 \
CONFIG+=debug \
CONFIG+=release \
CONFIG+=rs_autologin \
CONFIG+=rs_webui \
CONFIG+=rs_jsonapi \
CONFIG+=wikipoos \
CONFIG+=gxsthewire \
CONFIG+=retroshare_plugins
- name: make
run: make
- name: make check
run: make check
Loading