ci: check alignement workspace E2E (increvable, verdict dans volume e2e_diag)
Some checks failed
Some checks failed
This commit is contained in:
parent
68a2690b98
commit
53e308826b
1 changed files with 39 additions and 0 deletions
39
.forgejo/workflows/e2e-check.yml
Normal file
39
.forgejo/workflows/e2e-check.yml
Normal 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)"
|
||||
Loading…
Add table
Reference in a new issue