setup update complete
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user