diff --git a/.forgejo/workflows/e2e-check.yml b/.forgejo/workflows/e2e-check.yml new file mode 100644 index 0000000..d3cb791 --- /dev/null +++ b/.forgejo/workflows/e2e-check.yml @@ -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. +on: + push: + branches: ['ci/e2e-check'] + +jobs: + check: + runs-on: docker + steps: + - uses: actions/checkout@v4 + - name: Verdict d'alignement -> volume e2e_diag + 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 + { + echo "date=$(date -u +%FT%TZ)" + echo "GITHUB_WORKSPACE=$GITHUB_WORKSPACE" + echo "PWD=$(pwd)" + echo "DOCKER_HOST=${DOCKER_HOST:-}" + ls -la /var/run/docker.sock 2>&1 | sed 's/^/socket: /' + echo "docker_info=$(docker info --format '{{.ServerVersion}}' 2>&1)" + echo "--- mountinfo (workspace) ---" + grep -iE 'work' /proc/self/mountinfo || echo '(aucune ligne work)' + echo "--- test marqueur ---" + echo "ALIGN_TOKEN_42" > "$GITHUB_WORKSPACE/__align_marker" + if docker run --rm -v "$GITHUB_WORKSPACE:/x" alpine sh -c 'cat /x/__align_marker 2>/dev/null'; then + echo "VERDICT=PATH_ALIGNED" + else + echo "VERDICT=PATH_NOT_ALIGNED" + fi + } > /tmp/diag.txt 2>&1 + cat /tmp/diag.txt + docker volume create e2e_diag >/dev/null 2>&1 || true + docker run --rm -i -v e2e_diag:/out alpine sh -c 'cat > /out/result.txt' < /tmp/diag.txt + echo "(verdict ecrit dans le volume e2e_diag)"