ci: check alignement workspace E2E (increvable, verdict dans volume e2e_diag)
Some checks failed
CI / secret-scan (push) Successful in 11s
CI / php-lint (push) Successful in 19s
CI / static-tests (push) Successful in 43s
CI / js-tests (push) Successful in 22s
E2E check / check (push) Failing after 8s
CI / auto-merge (push) Has been skipped

This commit is contained in:
Imugiii 2026-06-18 07:15:04 +00:00
parent 68a2690b98
commit 53e308826b

View file

@ -0,0 +1,39 @@
name: E2E check
# Branche jetable ci/e2e-check : determine si le workspace du job est aligne cote hote
# (les bind-mounts des conteneurs freres sont resolus par le demon de l'hote). Le verdict
# est ecrit dans un volume Docker nomme `e2e_diag` pour relecture sur le runner. A supprimer.
# Pas de set -e : on veut ecrire le verdict meme si une etape intermediaire echoue.
on:
push:
branches: ['ci/e2e-check']
jobs:
check:
runs-on: docker
steps:
- uses: actions/checkout@v4
- name: Verdict d'alignement -> volume e2e_diag
run: |
curl -fsSL https://download.docker.com/linux/static/stable/x86_64/docker-27.3.1.tgz -o /tmp/d.tgz && tar -xzf /tmp/d.tgz -C /usr/local/bin --strip-components=1 docker/docker
LOG=/tmp/diag.txt
{
echo "date=$(date -u +%FT%TZ)"
echo "docker_version=$(docker --version 2>&1)"
echo "GITHUB_WORKSPACE=[$GITHUB_WORKSPACE]"
echo "PWD=[$(pwd)]"
echo "DOCKER_HOST=[${DOCKER_HOST:-}]"
echo "socket=$(ls -la /var/run/docker.sock 2>&1)"
echo "docker_info=$(docker info --format '{{.ServerVersion}}' 2>&1)"
echo "--- mountinfo (work) ---"
grep -iE 'work' /proc/self/mountinfo 2>&1 || echo "(aucune ligne work)"
echo "--- marqueur ---"
echo "ALIGN_TOKEN_42" > "${GITHUB_WORKSPACE}/__align_marker" 2>&1
echo "write_marker_rc=$?"
got=$(docker run --rm -v "${GITHUB_WORKSPACE}:/x" alpine sh -c 'cat /x/__align_marker 2>/dev/null' 2>&1)
echo "marker_read=[$got]"
if [ "$got" = "ALIGN_TOKEN_42" ]; then echo "VERDICT=PATH_ALIGNED"; else echo "VERDICT=PATH_NOT_ALIGNED"; fi
} > "$LOG" 2>&1
cat "$LOG"
docker volume create e2e_diag >/dev/null 2>&1
docker run --rm -i -v e2e_diag:/out alpine sh -c 'cat > /out/result.txt' < "$LOG"
echo "(verdict ecrit dans le volume e2e_diag)"