Replace rsync with tar-pipe copy in appstore packaging
Lint info.xml / xml-lint (push) Successful in 44s
Lint PHP / php-lint (8.2) (push) Successful in 2m1s
Lint PHP / php-lint (8.3) (push) Successful in 39s
Lint PHP / php-lint (8.4) (push) Successful in 38s
PHPUnit / unit-tests (push) Successful in 43s
Build release artifact / package (push) Failing after 1m32s

The self-hosted Gitea runner's image has no rsync installed. tar is
a core utility present on essentially any Linux base image, and its
--exclude on a directory prevents descending into it at all, which
also avoids the build/ output dir (itself inside the source tree)
being copied into itself.
This commit is contained in:
Patrick Niebeling
2026-08-13 11:49:08 +02:00
parent d5ce1b3017
commit e761c2c369
+20 -19
View File
@@ -6,25 +6,26 @@ appstore_artifact_directory=$(build_directory)/artifacts/appstore
.PHONY: appstore
appstore: clean
mkdir -p $(appstore_build_directory) $(appstore_artifact_directory)
rsync -av . $(appstore_build_directory) \
--exclude=/.git \
--exclude=/.gitea \
--exclude=/.gitignore \
--exclude=/composer.json \
--exclude=/composer.lock \
--exclude=/package.json \
--exclude=/package-lock.json \
--exclude=/node_modules \
--exclude=/vite.config.js \
--exclude=/src \
--exclude=/tests \
--exclude=/vendor \
--exclude=/build \
--exclude=/.php-cs-fixer.dist.php \
--exclude=/.php-cs-fixer.cache \
--exclude=/phpunit.xml \
--exclude=/README.md \
--exclude=/Makefile
tar -cf - \
--exclude=./.git \
--exclude=./.gitea \
--exclude=./.gitignore \
--exclude=./composer.json \
--exclude=./composer.lock \
--exclude=./package.json \
--exclude=./package-lock.json \
--exclude=./node_modules \
--exclude=./vite.config.js \
--exclude=./src \
--exclude=./tests \
--exclude=./vendor \
--exclude=./build \
--exclude=./.php-cs-fixer.dist.php \
--exclude=./.php-cs-fixer.cache \
--exclude=./phpunit.xml \
--exclude=./README.md \
--exclude=./Makefile \
. | tar -xf - -C $(appstore_build_directory)
tar -czf $(appstore_artifact_directory)/$(app_name).tar.gz -C $(build_directory)/appstore $(app_name)
.PHONY: clean