mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-12-07 09:56:41 +00:00
- Replace inline shell scripts with Python-driven orchestration - Introduce inner dockerd started via detached docker run - Add docker exec–based inventory creation and dedicated deploy execution - Add automatic vault password generation for CI - Update GitHub Actions workflow to use new container deploy wrapper - Add complete unit test suite for container deploy behavior - Fix CLI argument forwarding and ensure single docker run call Conversation reference: https://chatgpt.com/share/6931c45d-4e40-800f-852f-6c9b1f7dc281
69 lines
1.6 KiB
YAML
69 lines
1.6 KiB
YAML
# .github/workflows/test-deploy.yml
|
||
name: Build & Test Infinito.Nexus CLI in Docker Container
|
||
|
||
on:
|
||
push:
|
||
branches:
|
||
- main
|
||
- master
|
||
- develop
|
||
- "*"
|
||
pull_request:
|
||
|
||
jobs:
|
||
test-deploy:
|
||
runs-on: ubuntu-latest
|
||
timeout-minutes: 240
|
||
|
||
env:
|
||
EXCLUDED_ROLES: >
|
||
drv-lid-switch,
|
||
svc-net-wireguard-core,
|
||
svc-net-wireguard-firewalled,
|
||
svc-net-wireguard-plain,
|
||
svc-opt-keyboard-color,
|
||
svc-opt-ssd-hdd,
|
||
web-app-bridgy-fed,
|
||
web-app-oauth2-proxy,
|
||
web-app-postmarks,
|
||
web-app-elk,
|
||
web-app-syncope,
|
||
web-app-socialhome,
|
||
web-svc-xmpp,
|
||
|
||
INFINITO_IMAGE: infinito:latest
|
||
|
||
steps:
|
||
- name: Main Checkout repository
|
||
uses: actions/checkout@v4
|
||
|
||
- name: Show Docker version
|
||
run: docker version
|
||
|
||
# First deploy: normal + debug
|
||
- name: First deploy (normal + debug)
|
||
run: |
|
||
python -m cli.deploy.container --build --exclude "$EXCLUDED_ROLES" -- \
|
||
-T server \
|
||
--debug \
|
||
--skip-cleanup \
|
||
--skip-tests
|
||
|
||
# Second deploy: reset + debug
|
||
- name: Second deploy (--reset --debug)
|
||
run: |
|
||
python -m cli.deploy.container --exclude "$EXCLUDED_ROLES" -- \
|
||
-T server \
|
||
--reset \
|
||
--debug \
|
||
--skip-cleanup \
|
||
--skip-tests
|
||
|
||
# Third deploy: async, no debug
|
||
- name: Third deploy (async deploy – no debug)
|
||
run: |
|
||
python -m cli.deploy.container --exclude "$EXCLUDED_ROLES" -- \
|
||
-T server \
|
||
--skip-cleanup \
|
||
--skip-tests
|