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 .PHONY: appstore
appstore: clean appstore: clean
mkdir -p $(appstore_build_directory) $(appstore_artifact_directory) mkdir -p $(appstore_build_directory) $(appstore_artifact_directory)
rsync -av . $(appstore_build_directory) \ tar -cf - \
--exclude=/.git \ --exclude=./.git \
--exclude=/.gitea \ --exclude=./.gitea \
--exclude=/.gitignore \ --exclude=./.gitignore \
--exclude=/composer.json \ --exclude=./composer.json \
--exclude=/composer.lock \ --exclude=./composer.lock \
--exclude=/package.json \ --exclude=./package.json \
--exclude=/package-lock.json \ --exclude=./package-lock.json \
--exclude=/node_modules \ --exclude=./node_modules \
--exclude=/vite.config.js \ --exclude=./vite.config.js \
--exclude=/src \ --exclude=./src \
--exclude=/tests \ --exclude=./tests \
--exclude=/vendor \ --exclude=./vendor \
--exclude=/build \ --exclude=./build \
--exclude=/.php-cs-fixer.dist.php \ --exclude=./.php-cs-fixer.dist.php \
--exclude=/.php-cs-fixer.cache \ --exclude=./.php-cs-fixer.cache \
--exclude=/phpunit.xml \ --exclude=./phpunit.xml \
--exclude=/README.md \ --exclude=./README.md \
--exclude=/Makefile --exclude=./Makefile \
. | tar -xf - -C $(appstore_build_directory)
tar -czf $(appstore_artifact_directory)/$(app_name).tar.gz -C $(build_directory)/appstore $(app_name) tar -czf $(appstore_artifact_directory)/$(app_name).tar.gz -C $(build_directory)/appstore $(app_name)
.PHONY: clean .PHONY: clean