4 Commits

Author SHA1 Message Date
Uyanide 740411f194 🐛 fix: correct behaviour of --disable-actions
Release / Build ArchLinux Package (push) Successful in 1m0s
Release / Publish to Gitea Release (push) Successful in 3s
Release / Publish to AUR (push) Successful in 9s
2026-03-24 12:48:01 +01:00
Uyanide 1a2daec165 🚀 CD: refactor release workflow 2026-03-24 11:42:41 +01:00
Uyanide 524b53b7b2 CD: rename workflow to Release 2026-03-24 11:23:10 +01:00
Uyanide b5ea96bb8b 🚀 CD: add MAKEFLAGS to optimize local build process 2026-03-24 11:14:08 +01:00
9 changed files with 54 additions and 18 deletions
+27 -10
View File
@@ -1,4 +1,4 @@
name: CI/CD name: Release
on: on:
push: push:
@@ -6,8 +6,8 @@ on:
- 'v*' - 'v*'
jobs: jobs:
build: build-arch:
name: Package name: Build ArchLinux Package
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout Code - name: Checkout Code
@@ -34,6 +34,7 @@ jobs:
license=('MIT') license=('MIT')
depends=('qt6-base' 'qt6-declarative' 'gcc-libs' 'glibc') depends=('qt6-base' 'qt6-declarative' 'gcc-libs' 'glibc')
makedepends=('cmake') makedepends=('cmake')
options=('!debug')
source=("${pkgname}-${pkgver}.tar.gz::https://git.uyani.de/Uyanide/WallReel/archive/v${pkgver}.tar.gz") source=("${pkgname}-${pkgver}.tar.gz::https://git.uyani.de/Uyanide/WallReel/archive/v${pkgver}.tar.gz")
sha256sums=('INSERT_SHA256_HERE') sha256sums=('INSERT_SHA256_HERE')
@@ -66,6 +67,8 @@ jobs:
pacman -Sy --noconfirm archlinux-keyring pacman -Sy --noconfirm archlinux-keyring
pacman -Su --noconfirm base-devel cmake qt6-base qt6-declarative sudo pacman -Su --noconfirm base-devel cmake qt6-base qt6-declarative sudo
echo 'MAKEFLAGS="-j$(nproc)"' >> /etc/makepkg.conf
useradd -m builduser useradd -m builduser
chown -R builduser:builduser /workspace chown -R builduser:builduser /workspace
echo 'builduser ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers echo 'builduser ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
@@ -76,27 +79,27 @@ jobs:
tar -cf - *.pkg.tar.zst PKGBUILD SRCINFO.txt >&3 tar -cf - *.pkg.tar.zst PKGBUILD SRCINFO.txt >&3
" | tar -xf - " | tar -xf -
- name: Upload Artifacts - name: Upload Arch Artifacts
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3
with: with:
name: release-artifacts name: arch-artifacts
path: | path: |
*.pkg.tar.zst *.pkg.tar.zst
PKGBUILD PKGBUILD
SRCINFO.txt SRCINFO.txt
release: publish-gitea:
name: Publish name: Publish to Gitea Release
needs: build needs: [build-arch]
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Extract Version - name: Extract Version
run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_ENV run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_ENV
- name: Download Artifacts - name: Download Arch Artifacts
uses: actions/download-artifact@v3 uses: actions/download-artifact@v3
with: with:
name: release-artifacts name: arch-artifacts
path: . path: .
- name: Publish to Gitea Release - name: Publish to Gitea Release
@@ -109,6 +112,20 @@ jobs:
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
publish-aur:
name: Publish to AUR
needs: [build-arch]
runs-on: ubuntu-latest
steps:
- name: Extract Version
run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_ENV
- name: Download Arch Artifacts
uses: actions/download-artifact@v3
with:
name: arch-artifacts
path: .
- name: Publish to AUR - name: Publish to AUR
env: env:
AUR_KEY: ${{ secrets.AUR_SSH_PRIVATE_KEY }} AUR_KEY: ${{ secrets.AUR_SSH_PRIVATE_KEY }}
+1 -1
View File
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.16) cmake_minimum_required(VERSION 3.16)
project(WallReel VERSION 2.0.1 LANGUAGES CXX) project(WallReel VERSION 2.0.2 LANGUAGES CXX)
set(EXECUTABLE_NAME "wallreel") set(EXECUTABLE_NAME "wallreel")
set(CORELIB_NAME "wallreel-core") set(CORELIB_NAME "wallreel-core")
+1 -1
View File
@@ -1,6 +1,6 @@
.\" Automatically generated by Pandoc 3.5 .\" Automatically generated by Pandoc 3.5
.\" .\"
.TH "WALLREEL" "1" "2026\-03\-24" "WallReel 2.0.1" "User Commands" .TH "WALLREEL" "1" "2026\-03\-24" "WallReel 2.0.2" "User Commands"
.SH NAME .SH NAME
wallreel \- Choose and set desktop wallpapers with customizable themes wallreel \- Choose and set desktop wallpapers with customizable themes
and actions and actions
+1 -1
View File
@@ -1,6 +1,6 @@
.\" Automatically generated by Pandoc 3.5 .\" Automatically generated by Pandoc 3.5
.\" .\"
.TH "WALLREEL" "5" "2026\-03\-24" "WallReel 2.0.1" "File Formats Manual" .TH "WALLREEL" "5" "2026\-03\-24" "WallReel 2.0.2" "File Formats Manual"
.SH NAME .SH NAME
wallreel\-config \- configuration format for wallreel wallreel\-config \- configuration format for wallreel
.SH SYNOPSIS .SH SYNOPSIS
+9 -1
View File
@@ -26,8 +26,9 @@ Manager::Manager(
const QDir& picturesDir, const QDir& picturesDir,
const QStringList& searchDirs, const QStringList& searchDirs,
const QString& configPath, const QString& configPath,
bool disableActions,
QObject* parent) QObject* parent)
: QObject(parent), m_configDir(configDir) { : QObject(parent), m_configDir(configDir), m_disableActions(disableActions) {
connect(this, &Manager::stateCaptured, this, [this]() { connect(this, &Manager::stateCaptured, this, [this]() {
m_stateCaptured = true; m_stateCaptured = true;
WR_INFO("State capture completed"); WR_INFO("State capture completed");
@@ -398,6 +399,13 @@ void Manager::captureState() {
if (m_stateCaptured) { if (m_stateCaptured) {
WR_DEBUG("State already captured, skipping capture"); WR_DEBUG("State already captured, skipping capture");
emit stateCaptured(); emit stateCaptured();
return;
}
if (m_disableActions) {
WR_DEBUG("Actions are disabled, skipping state capture");
emit stateCaptured();
return;
} }
if (m_pendingCaptures > 0) { if (m_pendingCaptures > 0) {
+4
View File
@@ -27,6 +27,7 @@ class Manager : public QObject {
* @param searchDirs Additional directories to search for wallpapers (not recursive) * @param searchDirs Additional directories to search for wallpapers (not recursive)
* @param configPath Optional path to a specific configuration file (overrides the default config path) * @param configPath Optional path to a specific configuration file (overrides the default config path)
* @param picturesDir The pictures directory (default location for user wallpapers) * @param picturesDir The pictures directory (default location for user wallpapers)
* @param disableActions Whether to disable actions
* @param parent QObject parent * @param parent QObject parent
* *
* @note The constructor will load the configuration and scan for wallpapers immediately. * @note The constructor will load the configuration and scan for wallpapers immediately.
@@ -36,6 +37,7 @@ class Manager : public QObject {
const QDir& picturesDir, const QDir& picturesDir,
const QStringList& searchDirs = {}, const QStringList& searchDirs = {},
const QString& configPath = "", const QString& configPath = "",
bool disableActions = false,
QObject* parent = nullptr); QObject* parent = nullptr);
~Manager(); ~Manager();
@@ -88,6 +90,8 @@ class Manager : public QObject {
private: private:
const QDir m_configDir; const QDir m_configDir;
bool m_disableActions = false;
WallpaperConfigItems m_wallpaperConfig; WallpaperConfigItems m_wallpaperConfig;
ThemeConfigItems m_themeConfig; ThemeConfigItems m_themeConfig;
ActionConfigItems m_actionConfig; ActionConfigItems m_actionConfig;
+9 -2
View File
@@ -18,12 +18,13 @@ class Bootstrap {
friend class Carousel; friend class Carousel;
public: public:
Bootstrap(const AppOptions& options) { Bootstrap(const AppOptions& options) : options(options) {
configMgr = new Config::Manager( configMgr = new Config::Manager(
Utils::getConfigDir(), Utils::getConfigDir(),
Utils::getPicturesDir(), Utils::getPicturesDir(),
options.appendDirs, options.appendDirs,
options.configPath); options.configPath,
options.disableActions);
cacheMgr = new Cache::Manager( cacheMgr = new Cache::Manager(
Utils::getCacheDir(), Utils::getCacheDir(),
@@ -58,6 +59,11 @@ class Bootstrap {
} }
bool apply(const QString& path) { bool apply(const QString& path) {
if (options.disableActions) {
Logger::warn("Bootstrap", "Actions are disabled, cannot apply wallpaper");
return false;
}
QEventLoop loop; QEventLoop loop;
bool successFlag = false; bool successFlag = false;
@@ -122,6 +128,7 @@ class Bootstrap {
} }
private: private:
const AppOptions& options;
Cache::Manager* cacheMgr{}; Cache::Manager* cacheMgr{};
Config::Manager* configMgr{}; Config::Manager* configMgr{};
Image::Manager* imageMgr{}; Image::Manager* imageMgr{};
+1 -1
View File
@@ -2,7 +2,7 @@
title: WALLREEL title: WALLREEL
section: 1 section: 1
header: User Commands header: User Commands
footer: WallReel 2.0.1 footer: WallReel 2.0.2
date: 2026-03-24 date: 2026-03-24
--- ---
+1 -1
View File
@@ -2,7 +2,7 @@
title: WALLREEL title: WALLREEL
section: 5 section: 5
header: File Formats Manual header: File Formats Manual
footer: WallReel 2.0.1 footer: WallReel 2.0.2
date: 2026-03-24 date: 2026-03-24
--- ---