Skip to content

Commit

Permalink
[73_36] Add CI for Fedora 41
Browse files Browse the repository at this point in the history
## What
+ Add CI for Fedora
+ Tune deps:
  - Use libcurl installed by dnf
  - Use libpng installed by dnf
  - Use mimalloc installed by dnf
## Why
## How
  • Loading branch information
da-liii authored Nov 21, 2024
1 parent 2abc436 commit 2ddfe96
Show file tree
Hide file tree
Showing 3 changed files with 91 additions and 0 deletions.
77 changes: 77 additions & 0 deletions .github/workflows/ci-xmake-fedora.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
name: Build on Fedora
on:
push:
branches: [ branch-1.2 ]
paths:
- 'src/**'
- '!src/Plugins/Macos/**'
- '!src/Plugins/Windows/**'
- 'tests/**'
- 'xmake.lua'
- 'xmake/packages.lua'
- 'xmake/packages/**'
- '.github/workflows/ci-xmake-fedora.yml'
pull_request:
branches: [ branch-1.2 ]
paths:
- 'src/**'
- '!src/Plugins/Macos/**'
- '!src/Plugins/Windows/**'
- 'tests/**'
- 'xmake.lua'
- 'xmake/packages.lua'
- 'xmake/packages/**'
- '.github/workflows/ci-xmake-fedora.yml'

env:
XMAKE_ROOT: y
INSTALL_DIR: tmp/build/packages/app.mogan/
QT_QPA_PLATFORM: offscreen

jobs:
build:
container: fedora:41
runs-on: ubuntu-22.04
steps:
- name: Install dependencies
run: |
sudo dnf update -y
sudo dnf install -y git xmake unzip gcc g++ curl-devel libgit2-devel fontconfig-devel \
qt6-qtbase-devel qt6-qtsvg-devel mimalloc-devel libpng-devel
- uses: actions/checkout@v3
with:
fetch-depth: 1

- name: set XMAKE_GLOBALDIR
run: echo "XMAKE_GLOBALDIR=/tmp/xmake-global" >> $GITHUB_ENV

- name: Xrepo update
run: xmake repo --update

- name: cache packages from xrepo
uses: actions/cache@v3
with:
path: |
${{ env.XMAKE_GLOBALDIR }}/.xmake/packages
key: fedora-xrepo-qt6-${{ hashFiles('**/packages.lua') }}

- name: cache xmake
uses: actions/cache@v3
with:
path: |
tmp/build/.build_cache
key: fedora-build-qt6-${{ hashFiles('**/xmake.lua') }}


- name: config
run: xmake config -vD --policies=build.ccache -o tmp/build -m releasedbg --yes

- name: Build
run: xmake build --yes -vD research && xmake build --yes -vD --group=tests

- name: C++ tests
run: xmake run --yes -vD --group=tests

- name: Scheme tests
run: xmake run --yes -vD --group=scheme_tests

11 changes: 11 additions & 0 deletions xmake/packages.lua
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,11 @@ function add_requires_of_mogan()
else
add_requireconfs("lolly.cpr", {version = CPR_VERSION, system = false, override=true})
end
if is_plat("linux") and linuxos.name() == "fedora" then
add_requireconfs("lolly.mimalloc", {system = true, override=true})
end

-- package: moebius
add_requires("moebius", {system=false})
add_requireconfs("moebius.lolly", {version = LOLLY_VERSION, system = false, override=true})

Expand All @@ -73,6 +78,9 @@ function add_requires_of_mogan()
elseif is_plat("linux") and using_pacman () then
add_requires("pacman::curl", {alias="libcurl"})
add_requireconfs("lolly.cpr.libcurl", {system = true, override=true})
elseif is_plat("linux") and linuxos.name() == "fedora" then
add_requires("pkgconfig::libcurl", {alias="libcurl"})
add_requireconfs("lolly.cpr.libcurl", {system = true, override=true})
else
add_requireconfs("lolly.cpr.libcurl", {version = CURL_VERSION, system = false, override=true})
end
Expand All @@ -98,6 +106,9 @@ function add_requires_of_mogan()
elseif is_plat("linux") and using_pacman () then
add_requires("pacman::libpng", {alias="libpng"})
add_requireconfs("pdfhummus.libpng", {system = true, override=true})
elseif is_plat("linux") and linuxos.name() == "fedora" then
add_requires("pkgconfig::libpng", {alias="libpng"})
add_requireconfs("pdfhummus.libpng", {system = true, override=true})
else
add_requireconfs("pdfhummus.libpng", {version = LIBPNG_VERSION, system = false, override=true})
end
Expand Down
3 changes: 3 additions & 0 deletions xmake/packages/m/mimalloc/xmake.lua
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,9 @@ package("mimalloc")

if is_plat("linux") then
add_extsources("pacman::mimalloc", "apt::libmimalloc-dev")
if linuxos.name() == "fedora" then
add_extsources("pkgconfig::mimalloc")
end
end

add_configs("secure", {description = "Use a secured version of mimalloc", default = false, type = "boolean"})
Expand Down

0 comments on commit 2ddfe96

Please sign in to comment.