Reject empty min_release_age, self-age the e2e fixtures, run self-tests in CI

An empty min_release_age string now maps to unparseable rather than absent,
so "min_release_age": "" fails validation instead of silently running
with a zero-second quarantine. The end-to-end fixtures extend the
checked-in pkgver (.90/.91) so the test keeps working at any future mise
version. A Tests workflow runs bin/sync-upstream self-test and
bin/omarchy-pkgs self-test on every PR in the Arch container, making the
proof machine-checked instead of author-supplied. The README package
metadata field list documents upstream and min_release_age.
This commit is contained in:
Ryan Hughes
2026-08-24 20:22:33 -04:00
parent 83bdfb5fa1
commit fd03757f22
4 changed files with 55 additions and 11 deletions
+31
View File
@@ -0,0 +1,31 @@
name: Tests
on:
pull_request:
push:
branches: [master]
workflow_dispatch:
jobs:
self-tests:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
persist-credentials: false
# An Arch container for vercmp: version ordering has to be decided by
# the same comparator pacman uses on users' machines.
- name: Run self-tests
run: |
docker run --rm \
-v "$PWD:/workspace:ro" \
-w /workspace \
archlinux:base-devel bash -lc '
set -euo pipefail
pacman -Syu --noconfirm jq
./bin/sync-upstream self-test
./bin/omarchy-pkgs self-test
'