setup update complete

This commit is contained in:
2026-09-21 06:48:49 -06:00
parent b67a76d0da
commit 7b2b01e022
38 changed files with 1376 additions and 848 deletions
+64
View File
@@ -2,6 +2,51 @@
version: 2.1
jobs:
test-setup:
parameters:
image:
type: string
# alpine has no supported installer, so setup can only *verify*
# dependencies there; unresolved ones are expected, not a failure
strict:
type: string
default: '--strict'
docker:
- image: << parameters.image >>
steps:
- run:
name: install test prerequisites
command: |
if command -v pacman >/dev/null 2>&1
then pacman -Syu --noconfirm --needed git zsh sudo openssh tar gzip
elif command -v dnf >/dev/null 2>&1
then dnf install -y git zsh sudo openssh-clients tar gzip
elif command -v apt-get >/dev/null 2>&1
then apt-get update && apt-get install -y git zsh sudo openssh-client ca-certificates tar gzip
elif command -v apk >/dev/null 2>&1
then apk add --no-cache git zsh sudo openssh-client shadow tar
fi
- checkout
- run:
name: run setup as an unprivileged user
command: |
useradd -m tester 2>/dev/null || adduser -D tester
echo 'tester ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/tester
TESTER_HOME="$(getent passwd tester | cut -d: -f6)"
cp -a . "${TESTER_HOME}/.wryn"
chown -R tester "${TESTER_HOME}/.wryn"
# a LOGIN shell, so /etc/profile contributes to PATH exactly as
# it would in a real session (debian puts /usr/games there)
su - tester -c "cd ~/.wryn && ./setup/run \
--only packages \
--min \
--ci \
<< parameters.strict >> \
--no-logfile \
"
deploy:
docker:
- image: docker:git
@@ -16,7 +61,26 @@ workflows:
version: 2
main:
jobs:
- test-setup:
name: test-arch
image: archlinux:base-devel
- test-setup:
name: test-fedora
image: fedora:latest
- test-setup:
name: test-debian
image: debian:stable
- test-setup:
name: test-alpine
image: alpine:latest
strict: ''
- deploy:
requires:
- test-arch
- test-fedora
- test-debian
- test-alpine
context:
- yage-docker
filters: