Add Deck workflow automation Nextcloud app
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:
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user