Files
Discord-Authenticator/.gitea/workflows/temp-diagnose.yml
T

63 lines
2.3 KiB
YAML

name: TEMP diagnose smoke test
# Throwaway: diagnoses why the smoke test in release.yml fails silently.
# Deleted once the cause is known.
on:
workflow_dispatch:
jobs:
diagnose:
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Build image
run: |
set -eu
docker build --file deploy/docker/Dockerfile -t da-diag:latest . 2>&1 | tail -5
- name: Run it and dump everything
run: |
set -u
echo "### docker version"
docker version --format '{{.Server.Version}}' || true
echo
echo "### starting container"
docker rm -f da-diag >/dev/null 2>&1 || true
docker volume rm -f da-diag-vol >/dev/null 2>&1 || true
docker run -d --name da-diag \
--mount type=volume,src=da-diag-vol,dst=/var/lib/discord-authenticator \
da-diag:latest
echo "run exit: $?"
echo
sleep 8
echo "### docker ps -a"
docker ps -a --filter name=da-diag || true
echo
echo "### docker inspect state"
docker inspect --format '{{json .State}}' da-diag || true
echo
echo "### docker logs"
docker logs da-diag 2>&1 || true
echo
echo "### exec: does the binary exist and run?"
docker exec da-diag /usr/local/bin/discord-authenticator --version || echo "exec --version FAILED rc=$?"
echo
echo "### exec: wget present?"
docker exec da-diag sh -c 'command -v wget && wget --version 2>&1 | head -1' || echo "wget check FAILED rc=$?"
echo
echo "### exec: files created?"
docker exec da-diag sh -c 'ls -la /var/lib/discord-authenticator' || echo "ls FAILED rc=$?"
echo
echo "### exec: healthz from inside"
docker exec da-diag sh -c 'wget -qO- http://127.0.0.1:8710/healthz; echo " (rc=$?)"' || echo "healthz FAILED rc=$?"
echo
echo "### exec: whoami / process list"
docker exec da-diag sh -c 'id; ps aux 2>/dev/null | head -10' || echo "ps FAILED rc=$?"
echo
echo "### cleanup"
docker rm -f da-diag || true
docker volume rm -f da-diag-vol || true