Add Deck workflow automation Nextcloud app
Lint info.xml / xml-lint (push) Successful in 30s
Lint PHP / php-lint (8.2) (push) Successful in 55s
Lint PHP / php-lint (8.3) (push) Successful in 44s
Lint PHP / php-lint (8.4) (push) Successful in 41s
PHPUnit / unit-tests (push) Failing after 41s

Ports the standalone due-date cron script into a proper Nextcloud 34
app with a personal-settings UI, per-user workflow configuration
(source/target stack, assigned-user and label filters, email
notification), a TimedJob background runner, and Gitea CI pipelines.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Patrick Niebeling
2026-08-13 10:13:05 +02:00
co-authored by Claude Sonnet 5
commit 300acde27e
34 changed files with 1918 additions and 0 deletions
+35
View File
@@ -0,0 +1,35 @@
name: Build release artifact
on:
push:
tags:
- 'v*'
jobs:
package:
runs-on: gitea-runner-server03
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '24'
- uses: shivammathur/setup-php@v2
with:
php-version: '8.3'
coverage: none
- name: Install JS dependencies
run: npm ci
- name: Build frontend
run: npm run build
- name: Package appstore artifact
run: make appstore
- uses: actions/upload-artifact@v4
with:
name: workflow_deck_automation-${{ gitea.ref_name }}
path: build/artifacts/appstore/*.tar.gz
+23
View File
@@ -0,0 +1,23 @@
name: Lint info.xml
on:
push:
branches: [main]
pull_request:
jobs:
xml-lint:
runs-on: gitea-runner-server03
steps:
- uses: actions/checkout@v4
- name: Install xmllint
run: |
apt-get update
apt-get install -y --no-install-recommends libxml2-utils
- name: Download appstore schema
run: wget -q https://raw.githubusercontent.com/nextcloud/appstore/master/nextcloudappstore/api/v1/release/info.xsd -O info.xsd
- name: Validate appinfo/info.xml
run: xmllint --schema info.xsd appinfo/info.xml --noout
+24
View File
@@ -0,0 +1,24 @@
name: Lint PHP
on:
push:
branches: [main]
pull_request:
jobs:
php-lint:
runs-on: gitea-runner-server03
strategy:
matrix:
php-version: ['8.2', '8.3', '8.4']
steps:
- uses: actions/checkout@v4
- uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
coverage: none
- name: Syntax check
run: |
find lib tests appinfo -name '*.php' -print0 | xargs -0 -n1 -- php -l
+24
View File
@@ -0,0 +1,24 @@
name: PHPUnit
on:
push:
branches: [main]
pull_request:
jobs:
unit-tests:
runs-on: gitea-runner-server03
steps:
- uses: actions/checkout@v4
- uses: shivammathur/setup-php@v2
with:
php-version: '8.3'
extensions: sqlite, pdo_sqlite
coverage: none
- name: Install dependencies
run: composer install --no-progress --prefer-dist
- name: Run unit tests
run: composer run test:unit