diff --git a/.forgejo/workflows/e2e-probe.yml b/.forgejo/workflows/e2e-probe.yml new file mode 100644 index 0000000..079ee83 --- /dev/null +++ b/.forgejo/workflows/e2e-probe.yml @@ -0,0 +1,48 @@ +name: E2E probe +# Branche jetable ci/e2e-probe : diagnostic de l'environnement de job pour decider +# comment porter tests/e2e/run.sh en CI (socket Docker propagee ? chemin du checkout +# aligne cote hote pour les bind-mounts des conteneurs freres ?). A supprimer ensuite. +on: + push: + branches: ['ci/e2e-probe'] + +jobs: + probe: + runs-on: docker + steps: + - uses: actions/checkout@v4 + + - name: Contexte du job (chemins + socket) + run: | + echo "PWD=$(pwd)" + echo "GITHUB_WORKSPACE=$GITHUB_WORKSPACE" + echo "DOCKER_HOST=${DOCKER_HOST:-}" + echo "--- socket presente dans le job ? ---" + ls -la /var/run/docker.sock || echo "PAS_DE_SOCKET" + echo "--- mountinfo (workspace) ---" + grep -iE 'work' /proc/self/mountinfo || true + + - name: CLI docker + acces au demon + run: | + set -e + 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 + docker --version + if docker info --format 'Server={{.ServerVersion}} Containers={{.Containers}}'; then + echo "SOCKET_OK" + else + echo "SOCKET_KO" + exit 1 + fi + + - name: Test de translation de chemin (bind-mount frere) + run: | + set -e + MARK="probe_$(cat /proc/sys/kernel/random/uuid)" + echo "$MARK" > "$GITHUB_WORKSPACE/__probe_marker" + echo "marqueur ecrit dans le workspace du job : $MARK" + if docker run --rm -v "$GITHUB_WORKSPACE:/x" alpine sh -c 'cat /x/__probe_marker 2>/dev/null'; then + echo "PATH_ALIGNED" + else + echo "PATH_NOT_ALIGNED" + fi