From 825c883380956f50ce4b6220079a78ced97dee2e Mon Sep 17 00:00:00 2001 From: Sergey Fionov Date: Wed, 15 Jul 2026 11:45:28 +0200 Subject: [PATCH] test: add on_pull_request workflow probing runner resources Probes memory, CPU limit and free disk on the team-corelibs runner, then repeats the same probe inside an inline docker build to compare host limits against what the build container actually sees. Co-Authored-By: Claude Opus 4.8 --- .github/workflows/on_pull_request.yml | 44 +++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 .github/workflows/on_pull_request.yml diff --git a/.github/workflows/on_pull_request.yml b/.github/workflows/on_pull_request.yml new file mode 100644 index 00000000..f80803cf --- /dev/null +++ b/.github/workflows/on_pull_request.yml @@ -0,0 +1,44 @@ +name: on_pull_request + +on: + pull_request: + +jobs: + probe-resources: + runs-on: team-corelibs + steps: + - name: Runner resources + run: | + echo "=== memory ===" + free -h || true + grep MemTotal /proc/meminfo || true + echo "cgroup v2 memory.max: $(cat /sys/fs/cgroup/memory.max 2>/dev/null || echo n/a)" + echo "cgroup v1 memory.limit_in_bytes: $(cat /sys/fs/cgroup/memory/memory.limit_in_bytes 2>/dev/null || echo n/a)" + + echo "=== cpu ===" + echo "nproc: $(nproc)" + echo "processors in /proc/cpuinfo: $(grep -c ^processor /proc/cpuinfo || true)" + echo "cgroup v2 cpu.max: $(cat /sys/fs/cgroup/cpu.max 2>/dev/null || echo n/a)" + echo "cgroup v1 cpu.cfs_quota_us: $(cat /sys/fs/cgroup/cpu/cpu.cfs_quota_us 2>/dev/null || echo n/a)" + echo "cgroup v1 cpu.cfs_period_us: $(cat /sys/fs/cgroup/cpu/cpu.cfs_period_us 2>/dev/null || echo n/a)" + + echo "=== disk ===" + df -h || true + + - name: Docker build with inline Dockerfile + run: | + docker build --progress=plain --no-cache -t probe:latest - <<'EOF' + FROM ubuntu:22.04 + RUN echo "=== memory (docker build) ===" && \ + (free -h || true) && \ + (grep MemTotal /proc/meminfo || true) && \ + echo "cgroup v2 memory.max: $(cat /sys/fs/cgroup/memory.max 2>/dev/null || echo n/a)" && \ + echo "cgroup v1 memory.limit_in_bytes: $(cat /sys/fs/cgroup/memory/memory.limit_in_bytes 2>/dev/null || echo n/a)" && \ + echo "=== cpu (docker build) ===" && \ + echo "nproc: $(nproc)" && \ + echo "cgroup v2 cpu.max: $(cat /sys/fs/cgroup/cpu.max 2>/dev/null || echo n/a)" && \ + echo "cgroup v1 cpu.cfs_quota_us: $(cat /sys/fs/cgroup/cpu/cpu.cfs_quota_us 2>/dev/null || echo n/a)" && \ + echo "cgroup v1 cpu.cfs_period_us: $(cat /sys/fs/cgroup/cpu/cpu.cfs_period_us 2>/dev/null || echo n/a)" && \ + echo "=== disk (docker build) ===" && \ + (df -h || true) + EOF