strata 0.20.1, flea 0.3.4, owe 0.2.7: fix check() on the builders

strata: the example actions' image test needs ImageMagick with WebP
(checkdepends), the checksum example dies printing a non-UTF-8 name
under the builder's en_US.UTF-8 locale (upstream bug, skipped), and on
aarch64 a search refresh test loses a race to the index worker.

flea: on aarch64 the 1900-deep dirsize walk hits its 2 s deadline, and a
process-group cancel test loses its 5 s race under emulation.

owe: on aarch64 the transition test cannot render enough blended frames
under emulation; run every other test there.

Versions and checksums as in sync PR #660.
This commit is contained in:
Ryan Hughes committed 2026-09-26 20:16:06 -04:00
1 parent 6df9953d8f
commit 08bfc45b7e
4 files changed
+51 -12

No files matched your search

+21 -4
View File
@@ -1,6 +1,6 @@
pkgname=strata
pkgver=0.19.0
pkgrel=2
pkgver=0.20.1
pkgrel=1
pkgdesc='Fast, keyboard-first file manager for modern Linux desktops'
arch=('x86_64' 'aarch64')
url='https://github.com/lgse/strata'
@@ -30,6 +30,8 @@ depends=(
'xdg-terminal-exec'
)
makedepends=('cargo' 'git' 'glib2-devel' 'pkgconf')
# The example actions' tests convert images with ImageMagick, WebP included.
checkdepends=('imagemagick' 'libwebp')
optdepends=(
'gvfs-smb: browse SMB network shares'
'imagemagick: additional camera RAW preview support'
@@ -39,7 +41,7 @@ conflicts=('strata-git')
options=('!debug' '!lto')
source=("$pkgname-$pkgver.tar.gz::$url/archive/refs/tags/v$pkgver.tar.gz")
sha256sums=('51701930728625ce1d6394949a4b6b2705f0999fd08be87f1a26d900209d62e0')
sha256sums=('cdbe7f196970cbaa1fa41c427833899e35c2dcaa8bb68a864c3afa6428827e2f')
prepare() {
cd "$pkgname-$pkgver"
@@ -87,9 +89,15 @@ check() {
# Run them on tmpfs; other suites execute fixtures, so cannot use noexec /dev/shm.
local search_tmp
search_tmp=$(mktemp -d /dev/shm/strata-tests.XXXXXXXX) || return 1
# rename_refresh_rescores_every_session_sharing_the_index asserts that
# every Results event carries the query it set, but the index worker can
# publish its first walk before query() lands. Natively query() always
# wins; under the QEMU emulation aarch64 builds run in, the worker does.
local -a search_skip=()
[[ $CARCH == aarch64 ]] && search_skip+=(--skip services::search::tests::refresh::rename_refresh_rescores_every_session_sharing_the_index)
local test_status=0
TMPDIR="$search_tmp" cargo test --frozen --release --all-targets --all-features \
services::search::tests:: -- --test-threads=1 || test_status=$?
services::search::tests:: -- --test-threads=1 "${search_skip[@]}" || test_status=$?
rm -rf -- "$search_tmp"
(( test_status == 0 )) || return "$test_status"
@@ -100,6 +108,15 @@ check() {
# Upstream CI runs on Ubuntu, where sh is dash and rejects the number.
# Skip until upstream waits on a real pid.
local skip=(--skip services::search::tests:: --skip ui::settings::tests::restart_waiter_)
# checksum_example_handles_native_names_... hands the SHA-256 example a
# file named with a raw 0xff byte. The action's log() print()s that name,
# and under a UTF-8 locale Python's stdout refuses the surrogate it
# decodes to, so the action dies with UnicodeEncodeError. The builder sets
# LANG=en_US.UTF-8; upstream's test container sets no locale, and in the
# C locale Python's stdout escapes the byte instead. A real
# bug in the example for users with UTF-8 locales; skip until upstream
# logs names with errors="surrogateescape".
skip+=(--skip adapters::local_jobs::tests::examples::checksum_example_handles_native_names_and_refuses_existing_files_and_links)
# ownership_probe_errors_disable_in_place_updates points the pacman path
# at a directory and expects Command::output() to fail. aarch64 builds
# run under QEMU user-mode emulation, where glibc's posix_spawn cannot