Skip to content

Commit 38cc089

Browse files
chore(ci): probe round 2 — app image on linux-x64-8-core
1 parent b41650c commit 38cc089

1 file changed

Lines changed: 17 additions & 15 deletions

File tree

.github/workflows/memprobe.yml

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
name: Memory Probe
22

3-
# Throwaway diagnostic. Builds only the app.Dockerfile builder stage (the stage
4-
# that OOM-killed) on a GitHub-hosted runner across heap ceilings, sampling peak
5-
# memory. 8192 is the control: it must fail, or a pass at 4096 proves nothing.
6-
# Delete this file and the ci-memtest branch once the number is settled.
3+
# Throwaway diagnostic. Round 1 (heap ceilings 4096/6144/8192 on free ubuntu-latest)
4+
# failed at all three with exit 137 and ~15.9 GB peak — the heap ceiling is not the
5+
# binding constraint. Round 2 confirms the paid 8-core/32 GB runner builds it.
6+
# Delete this file and the ci-memtest branch once confirmed.
77

88
on:
99
push:
@@ -14,22 +14,22 @@ permissions:
1414

1515
jobs:
1616
probe:
17-
name: Build @ ${{ matrix.heap }} MB
18-
runs-on: ubuntu-latest
19-
timeout-minutes: 45
17+
name: app image @ ${{ matrix.runner }}
18+
runs-on: ${{ matrix.runner }}
19+
timeout-minutes: 60
2020
strategy:
2121
fail-fast: false
2222
matrix:
23-
heap: [8192, 6144, 4096]
23+
runner: [linux-x64-8-core]
2424
steps:
2525
- name: Checkout code
2626
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
2727

2828
- name: Runner specs
2929
run: |
3030
echo "nproc: $(nproc)"
31-
free -h
32-
echo "MemTotal: $(awk '/MemTotal/{printf "%.2f GiB\n", $2/1048576}' /proc/meminfo)"
31+
awk '/MemTotal/{printf "MemTotal: %.2f GiB\n", $2/1048576}' /proc/meminfo
32+
df -h / | tail -1
3333
3434
- name: Start memory sampler
3535
run: |
@@ -52,19 +52,21 @@ jobs:
5252
target: builder
5353
platforms: linux/amd64
5454
push: false
55-
build-args: NEXT_BUILD_HEAP_MB=${{ matrix.heap }}
5655
provenance: false
5756
sbom: false
5857

5958
- name: Report
6059
run: |
6160
kill "${sampler_pid}" 2>/dev/null || true
6261
PEAK=$(sort -n /tmp/mem-samples.log | tail -1)
63-
echo "heap_ceiling_mb=${{ matrix.heap }}"
62+
TOTAL=$(awk '/MemTotal/{printf "%d", $2/1024}' /proc/meminfo)
63+
echo "runner=${{ matrix.runner }}"
6464
echo "build_outcome=${{ steps.build.outcome }}"
6565
echo "peak_used_mb=${PEAK}"
66+
echo "total_mb=${TOTAL}"
6667
{
67-
echo "| heap MB | outcome | peak used MB |"
68-
echo "|---|---|---|"
69-
echo "| ${{ matrix.heap }} | ${{ steps.build.outcome }} | ${PEAK} |"
68+
echo "| runner | outcome | peak used MB | total MB |"
69+
echo "|---|---|---|---|"
70+
echo "| ${{ matrix.runner }} | ${{ steps.build.outcome }} | ${PEAK} | ${TOTAL} |"
7071
} >> $GITHUB_STEP_SUMMARY
72+
[ "${{ steps.build.outcome }}" = "success" ] || exit 1

0 commit comments

Comments
 (0)