GeezerVison is showing github.com — Feature/build docker images by carlos-granados · Pull Request #99 · php-debugger/php-debugger
Conversation
Adds Docker base images with php-debugger statically compiled into PHP, published to Docker Hub so users just switch FROM php:8.4-fpm to FROM phpdebugger/php:8.4-fpm. Two generic Dockerfiles (docker/) rebuild PHP inside the official images using their bundled source and original configure options (plus --enable-php-debugger --disable-opcache-jit), and a new workflow (.github/workflows/docker.yml) builds PHP 8.2–8.5 across all official variants (cli, fpm, apache, zts, alpine) for amd64+arm64, merges multi-arch manifests, smoke-tests every published image, and syncs the Hub description. Images are rebuilt on every release, weekly (to pick up PHP patch versions), or manually; releases push to phpdebugger/php, test runs to phpdebugger/php-dev. Includes user docs in docker/README.md
A sample run of the workflow can be seen here: https://github.com/carlos-granados/php-debugger/actions/runs/29280525472
The generated images and tags can be seen in this Docker Hub repo (it is the -dev repo because when releasing from a fork we deploy there): https://hub.docker.com/repository/docker/phpdebugger/php-dev/general
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
claude[bot] reacted with eyes emoji
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
claude
Bot
commented
Jul 12, 2026
•
edited
Loading
Uh oh!
There was an error while loading. Please reload this page.
|
Claude finished @carlos-granados's task in 3m 0s —— View job
PR Review: Feature/build docker images
- Load review tools
- Read all changed files
- Analyze Dockerfile.debian
- Analyze Dockerfile.alpine
- Analyze docker.yml workflow
- Analyze README updates
- Post review findings
Nice, well-designed PR — comments are thorough, the "rebuild PHP inside the base image with its own configure options" approach is clean, and the CI split into build → merge (multi-arch) → verify → description-sync is textbook. Below are the things that stood out on review, ordered by importance.
Correctness / possible bugs
1. apt-get install apache2-dev runs without a fresh apt-get update in some scenarios — docker/Dockerfile.debian:39-41
The conditional install happens after the initial apt-get update in the same RUN, which is fine on a fresh build. But note Docker's aggressive layer caching: since apt-get update runs unconditionally in the same layer as the installs, this specific layer is safe. Just make sure future edits don't split them across layers (that's a common footgun).
2. Apache module glob copy will fail if the glob doesn't match — docker/Dockerfile.debian:91
cp -a /opt/php-debugger/apache2-modules/libphp* /usr/lib/apache2/modules/;
The if [ -d /usr/lib/apache2/modules ] gate only fires for apache variants, and for those the builder does populate libphp* on line 72 — so in practice this is safe. Still, the coupling is subtle: an unrelated future change (e.g., new base variant that happens to ship the apache modules dir but where the builder didn't copy libphp) would silently break. Consider cp -a /opt/php-debugger/apache2-modules/. /usr/lib/apache2/modules/ or a find+cp guard so the copy no-ops on empty source.
3. configureCommand extraction assumes exactly one match line — docker/Dockerfile.debian:62, docker/Dockerfile.alpine:54
configureCommand="$(php -i | sed -n 's/^Configure Command => *//p')"
sed -n .../p with an anchor is fine, but if php -i ever prints multiple Configure Command => lines (unlikely today, but possible in future PHP releases or with extensions like phpdbg installed in the base), eval will run the concatenation of both. Cheap hardening: append | head -1 or sed -n '.../{p;q;}'.
4. Weekly rebuild re-labels images with stale version — docker/Dockerfile.debian:82-84, docker/Dockerfile.alpine:68-70, .github/workflows/docker.yml:142-143
The image label org.opencontainers.image.version=${DEBUGGER_REF} stays pinned to (e.g.) 0.1.0 even though the weekly rebuild produces a new image containing a newer PHP patch. A user pulling phpdebugger/php:8.4-cli twice a week apart gets different images with the same declared version. Consider adding a second label like org.opencontainers.image.created (or revision set to the build's commit SHA) so images remain identifiable across weekly rebuilds. This is Docker/OCI convention and it's how the official php: images distinguish rebuilds.
Robustness / operations
5. docker pull retry loop only pauses attempt * 60 seconds on failure — .github/workflows/docker.yml:250-254
The verify job pulls immediately after merge finishes. Manifest propagation on Docker Hub is usually instant but occasionally lags by a few seconds. A first-attempt failure here would sleep 60s unnecessarily — not a bug, just a note that the retry is coarse. Same pattern in merge at line 214-223 — reasonable there because 429s are the concern.
6. nproc in Alpine builder — docker/Dockerfile.alpine:58
BusyBox provides nproc on modern Alpine, so this works today, but it's worth being aware that some minimal Alpine base variants may not include it. If a future base drops it, make -j (no arg) is a safe fallback.
7. Cache-scope explosion — .github/workflows/docker.yml:145-146
scope=${{ matrix.php }}-${{ matrix.variant }}-${{ matrix.arch }} yields 4 × 7 × 2 = 56 distinct GHA cache scopes with mode=max. GHA's per-repo cache cap is 10 GB with LRU eviction — you'll likely see caches evicted between weekly runs, which quietly negates the caching benefit. Not blocking, just something to measure after a few cycles.
8. pull: true + weekly schedule is doing double duty — .github/workflows/docker.yml:132-133
Combined with the note in docker/README.md:36, the pipeline correctly reacts to upstream PHP patch releases. Good.
Minor / nits
9. docker/README.md:80 — the sample php -v output hardcodes v0.1.0. Consider vX.Y.Z or removing the version so the doc doesn't drift.
10. Concurrency group expression is duplicated — .github/workflows/docker.yml:28 and .github/workflows/docker.yml:38 compute the same "prod vs dev" boolean. Not fixable without workflow-level env (which can't reference inputs), so this is inherent to GH Actions — flagging just so future readers know the duplication is intentional.
11. docker/README.md is well-written; the "Migrating from Xdebug" section is a nice touch. The "Development use only" warning is prominent and correctly worded.
12. Consider adding --platform explicitly to docker pull in verify — .github/workflows/docker.yml:251. It's inferred from the runner today, but pinning it makes the intent obvious and protects against Docker CLI behavior changes.
Positives worth calling out
- Two-stage build with clean
/usr/local copy is the right pattern for static extensions.
DEBUGGER_SHA cache-buster (Dockerfile.debian:47-53, Dockerfile.alpine:39-45) is a nice touch — protects against tag re-pointing.
- Fork-safety on the deploy target (
IMAGE_REPO computation at .github/workflows/docker.yml:38) is well thought out.
push-by-digest=true + separate merge job is the correct multi-arch pattern.
- Smoke test (
.github/workflows/docker.yml:243-265) checks arch, distro, PHP loads, extension loads, and version string — solid coverage.
Nothing here is a blocker. Items 3 and 4 are the ones I'd address before merge; the rest are optional polish.
• Branch
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
claude[bot] reacted with eyes emoji
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
claude
Bot
commented
Jul 12, 2026
•
edited
Loading
Uh oh!
There was an error while loading. Please reload this page.
|
Claude finished @carlos-granados's task in 1m 57s —— View job
PR Review (round 2): Feature/build docker images
- Check what changed since previous review
- Read all changed files
- Re-analyze Dockerfiles and workflow
- Post review findings
Follow-up review after commit 4c7325c. All five previously flagged items I marked as worth addressing were addressed cleanly:
- Item 2 (apache module copy) — fixed via
apache2-modules/. (docker/Dockerfile.debian:91); the copy is now safe if the source dir is empty.
- Item 3 (
configureCommand extraction) — | head -n 1 added in both Dockerfiles (docker/Dockerfile.debian:62, docker/Dockerfile.alpine:54). Good.
- Item 4 (weekly rebuild traceability) —
org.opencontainers.image.revision and .created labels added, backed by a new build-date output in resolve (.github/workflows/docker.yml:70, 93, 147-149). Nice, this is exactly the OCI convention.
- Item 9 (README hardcoded version) — replaced with
PHP 8.4.x / vX.Y.Z in docker/README.md:78-80.
- Item 12 (explicit
--platform on verify pull) — added at .github/workflows/docker.yml:257.
New / remaining observations
A. grep -F "PHP Debugger v$DEBUGGER_REF" assumes tags without a v prefix — .github/workflows/docker.yml:269
Today's tags are 0.1.0, so this greps for PHP Debugger v0.1.0 and matches. If a future release is tagged v0.1.0, the grep becomes PHP Debugger vv0.1.0 and every verify job across the entire matrix fails after a successful push — meaning the description-sync step is skipped but the (broken?) images are already published. Two cheap hardening options:
- Normalize the ref before use:
DEBUGGER_VER="${DEBUGGER_REF#v}" and grep for PHP Debugger v$DEBUGGER_VER.
- Or drop the
v from the grep and just check PHP Debugger is present with an active tag comparison from php -m -v.
Fix this →
B. merge blocks on the entire build matrix, not per-variant — .github/workflows/docker.yml:171
needs: [resolve, build] waits on every matrix job before any merge job runs, so a single arm64 build failure for 8.5-zts-alpine skips all merges — including variants whose two arches built cleanly. With fail-fast: false that's a lot of green digests uploaded to Docker Hub as artifacts but never manifest-merged. Depending on your appetite you can leave this as-is (safer: partial upgrades to some tags but not others avoid version skew across the tag set) or switch to needs.build.result == 'success' per-variant gating. I'd call this a design choice worth writing down in a comment rather than a bug.
C. Empty apache2-modules staged into every non-apache builder — docker/Dockerfile.debian:70-73, docker/Dockerfile.debian:87
The builder always creates /opt/php-debugger/apache2-modules even on cli/fpm/zts variants, and the final stage always COPY --from=builder it. This is a couple of KB of manifest noise per non-apache image, no functional impact. Fine as-is.
D. Cache-scope explosion (previous item 7) still applies — .github/workflows/docker.yml:151-152
4 × 7 × 2 = 56 scopes @ mode=max. Worth measuring after a couple of weekly cycles; GHA's 10 GB LRU can evict caches quietly.
E. Concurrency group on schedule + fork race
The concurrency group is docker-dev on forks with schedules enabled (rare, and GH disables scheduled workflows on forks by default after inactivity). Nothing to fix, just noting it's covered.
Positives worth reiterating
- The
revision/created label pair is textbook — a user pulling two rebuilds a week apart can docker image inspect and see they differ.
- Fork-safe image target selection at
.github/workflows/docker.yml:38 remains solid.
- Digest artifact naming with
-- delimiter (docker.yml:165) is a subtle nice touch — the pattern won't chew across sibling variants like cli / cli-alpine.
Only A is worth acting on before merge; B is a design decision to make explicit; the rest are polish/notes. Overall this is in good shape — ship it.
• Branch
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
claude[bot] reacted with eyes emoji
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
claude
Bot
commented
Jul 12, 2026
•
edited
Loading
Uh oh!
There was an error while loading. Please reload this page.
|
Claude finished @carlos-granados's task in 46s —— View job
PR Review (round 3): Feature/build docker images
- Check what changed since previous review
- Read updated files
- Analyze new changes
- Post review findings
Follow-up review after commit 2577e99 (single commit since round 2 — a targeted response to the two actionable items).
Both items I flagged as worth acting on in round 2 were addressed cleanly:
- Item A (release tag
v prefix) — normalized inline via ${DEBUGGER_REF#v} at .github/workflows/docker.yml:273. Minimal, correct. Verifier will now pass for 0.1.0 and v0.1.0-style tags.
- Item B (matrix-wide merge gate) — the design intent is now documented at
.github/workflows/docker.yml:171-173. That comment ("if any build fails, no tags are updated at all, so the published tag set never has mixed debugger/PHP versions across variants") captures the tradeoff exactly right; a future reader won't mistake it for over-conservative wiring.
Everything else I raised in round 2 was noted-not-actionable (empty apache module dir on non-apache builders, cache-scope count) and remains fine as-is.
New observations this round
Nothing new — I re-read all three files end-to-end and could not find anything worth flagging that wasn't already addressed or explicitly noted. The verify step, merge concurrency, digest artifact naming, retry/backoff, label set, and fork-safety are all in good shape.
One small cosmetic thing I'll mention only for completeness: the .github/workflows/docker.yml:273 grep now uses ${DEBUGGER_REF#v} inside a double-quoted string that starts with PHP Debugger v. That means 0.1.0 → grep for PHP Debugger v0.1.0 (correct) and v0.1.0 → grep for PHP Debugger v0.1.0 (also correct). The one edge case is an empty DEBUGGER_REF, which would grep for the literal string PHP Debugger v — that would match any released image, so a broken resolve upstream would slip past verify silently. Not a real concern in practice (empty ref would fail the sha resolve first), but worth being aware of. Not blocking.
Bottom line
Ship it. Both round-2 action items are resolved. The Dockerfiles, workflow, and README are in good shape and the two-stage build + merge + verify + description pattern is well-executed.
• Branch
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Adds an official Docker image publishing pipeline for this project by rebuilding the upstream php:* images with PHP Debugger statically compiled into the interpreter, making it a drop-in base-image replacement for development.
Changes:
- Added Debian and Alpine Dockerfiles that rebuild upstream
php:<tag> images while enabling PHP Debugger and disabling opcache JIT.
- Added a GitHub Actions workflow to build/push multi-arch images (amd64/arm64) across PHP 8.2–8.5 and official variants, then smoke-test and update Docker Hub README.
- Added user documentation in the main README plus a dedicated
docker/README.md with tags and usage guidance.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.
Show a summary per file
| File |
Description |
| README.md |
Documents the new Docker-based installation path and points to docker/README.md. |
| docker/README.md |
Adds detailed Docker image usage docs, supported tags, and debugging setup guidance. |
| docker/Dockerfile.debian |
Builds Debian-based php:* variants with PHP Debugger statically compiled in. |
| docker/Dockerfile.alpine |
Builds Alpine-based php:* variants with PHP Debugger statically compiled in. |
| .github/workflows/docker.yml |
Automates building, publishing, manifest merging, smoke testing, and Docker Hub description syncing. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Comment on lines
+1
to
+5
|
|
# Rebuilds the official php:<BASE_TAG> image with php-debugger statically
|
|
|
# compiled into the interpreter. The official image ships its own source
|
|
|
# (docker-php-source) and records its configure options (php-config
|
|
|
# --configure-options), so we re-run the exact same build with the extension
|
|
|
# added and opcache JIT disabled (JIT is incompatible with php-debugger).
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Comment on lines
+25
to
+29
|
|
RUN set -eux; \
|
|
|
apt-get update; \
|
|
|
apt-get install -y --no-install-recommends \
|
|
|
git \
|
|
|
libargon2-dev \
|
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 5 out of 5 changed files in this pull request and generated no new comments.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
@pronskiy Both Copilot and Claude are happy now, ready for your final review
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 5 out of 5 changed files in this pull request and generated 4 comments.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 5 out of 5 changed files in this pull request and generated no new comments.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
@claude I added more changes after Codex review, please review them
|
claude[bot] reacted with eyes emoji
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
claude
Bot
commented
Jul 13, 2026
•
edited
Loading
Uh oh!
There was an error while loading. Please reload this page.
|
Claude finished @carlos-granados's task in 4m 59s —— View job
PR Review (round 4): Feature/build docker images
- Check what changed since previous review
- Read updated files
- Analyze new changes
- Post review findings
Follow-up review after commits 4102ff1, c943ffe, fca8301, a72f9c7. Four commits since round 3, one of which (fca8301) is substantial. All the Copilot / Codex feedback got addressed cleanly. The Codex-driven changes to the workflow are excellent — the base-digest pinning, the manual-prod-dispatch guard, and re-ordering verify-before-merge are all real improvements. Details below, with one thing worth checking before merge.
Worth checking before merge
A. docker-php-ext-install bcmath smoke test on Alpine variants — .github/workflows/docker.yml:277
docker run --rm "$IMAGE" sh -c 'docker-php-ext-install -j$(nproc) bcmath >/dev/null && php -m | grep -qi bcmath'
The Debian variants of the official php:* images keep $PHPIZE_DEPS (autoconf, gcc, make, re2c, …) installed after the base build, so docker-php-ext-install works out of the box. The Alpine variants deliberately do not — the official alpine.template installs $PHPIZE_DEPS as a --virtual .build-deps group and apk dels it after building PHP. So on php:8.4-cli-alpine, running docker-php-ext-install bcmath fails at phpize (no autoconf) before it can even attempt the build.
The intent of this line — "verify the image is still usable as a base for further docker-php-ext-install layers, same as the official image" — is exactly right, but for Alpine "same as the official image" means the user has to apk add $PHPIZE_DEPS first. Two options:
- Branch by family, matching real usage:
case "${{ matrix.family }}" in
debian) TEST='docker-php-ext-install -j$(nproc) bcmath >/dev/null && php -m | grep -qi bcmath' ;;
alpine) TEST='apk add --no-cache $PHPIZE_DEPS && docker-php-ext-install -j$(nproc) bcmath >/dev/null && php -m | grep -qi bcmath' ;;
esac
docker run --rm "$IMAGE" sh -c "$TEST"
- Or drop the
docker-php-ext-install invocation and just assert command -v docker-php-ext-install + presence of /usr/src/php.tar.xz on both families — cheaper but less thorough.
The sample run linked in the PR body pre-dates fca8301, so this test hasn't been exercised in CI yet (the docker workflow doesn't fire on PR pushes). Worth verifying with a manual dispatch before merge.
Fix this →
Positives worth calling out (Codex-driven changes)
B. Base-image digest pinning — .github/workflows/docker.yml:132-150
Resolving each php:<php>-<variant> tag to its manifest-index digest once in resolve, then passing BASE_TAG=8.4-cli@sha256:… to every matrix job, is the right call. The 56-way matrix used to race against Docker Official Images re-pushing a tag mid-run, potentially splitting one variant across two PHP patch versions per architecture. This closes that hole without giving up multi-arch (imagetools inspect returns the index digest, and FROM tag@sha256:index still lets Docker pick the per-platform layer). The comment on the step explains the "why" well.
C. Manual target=prod guard — .github/workflows/docker.yml:76-89
Restricting workflow_dispatch with target=prod to php-debugger/php-debugger on refs/heads/main is exactly the right blast-radius control. Release and schedule runs are inherently tied to a published tag; manual dispatch is the only vector where an operator could inadvertently publish phpdebugger/php:* from a feature branch. Nicely done.
D. Verify moved before merge, pulling by digest — .github/workflows/docker.yml:217-277
Pulling $IMAGE_REPO@sha256:$digest in the verify step (rather than by public tag after merge) means a broken image never becomes publicly reachable as phpdebugger/php:8.4-fpm. This is a strictly stronger safety net than what was there in round 3, and the additional smoke tests (os-release distro check, php_debugger_info() function alias) round it out well. The comment on merge.needs documents the tradeoff exactly right.
E. grep -ix xdebug — docker/Dockerfile.debian:77,97, docker/Dockerfile.alpine:61,76
Exact case-insensitive match (as opposed to grep -i substring) tightens up the build-stage and final-stage self-checks. Cheap, correct.
F. $PHPIZE_DEPS added to Debian install list — docker/Dockerfile.debian:28
Defensive against a hypothetical future where Debian variants also purge build deps like Alpine does. Idempotent today (apt just skips already-installed packages). Comment explains the "in case upstream ever makes it transient" motivation.
G. Header comment on Dockerfile.debian now matches implementation — docker/Dockerfile.debian:1-6
Header now says "records its full configure command (the Configure Command line in php -i)" which is what the code actually does. Good.
H. README opcache-rebuild JIT warning — docker/README.md:51-56
This is an easy footgun (user does docker-php-ext-install opcache in their derived image, JIT comes back, debugger breaks weirdly). The [!WARNING] block plus example command is exactly what users need. Also the switch from opcache to bcmath in the example docker-php-ext-install line (docker/README.md:45) is a nice touch — avoids implying opcache needs re-installing.
Notes-not-actionable (recap)
- Cache-scope explosion (56 scopes @
mode=max) still applies at .github/workflows/docker.yml:198-199. Worth measuring after a few weekly cycles; still not a blocker.
- Empty
apache2-modules dir staged into non-apache Debian builders is unchanged. Manifest noise, no functional impact.
- The digest-artifact pattern with
-- delimiter (.github/workflows/docker.yml:212) survives the reordering — still safe from cross-sibling matches when the merge job downloads.
Bottom line
Only A is worth acting on before merge — and even that hinges on whether Alpine's docker-php-ext-install bcmath genuinely fails, which is quick to confirm with a manual dispatch to -dev. Everything else in this round is polish + strictly-better safety machinery. Ship it once A is confirmed one way or the other.
• Branch
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
claude[bot] reacted with eyes emoji
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
claude
Bot
commented
Jul 13, 2026
•
edited
Loading
Uh oh!
There was an error while loading. Please reload this page.
|
Claude finished @carlos-granados's task in 3m 13s —— View job
PR Review (round 5): Feature/build docker images
- Load tools
- Investigate the linked workflow run (couldn't access fork logs directly)
- Re-examine the smoke test in the current tree
- Post findings
Thanks for running the full release build — that's the definitive evidence.
You're right: round-4 item A was wrong. Since your fork's release run at 29280525472 went green end-to-end, the Alpine verify-*-alpine-* jobs must have passed the docker-php-ext-install -j$(nproc) bcmath line at .github/workflows/docker.yml:299 — and that line runs under set -eux with no || true, so a non-zero exit would have failed the job. The smoke test as written is fine on both families; no branching by matrix.family is needed. Please disregard the suggested fix.
Where I went wrong: I asserted that the official php:*-alpine images apk del $PHPIZE_DEPS at the end of the base build, leaving the final image without autoconf/gcc/make. That premise was either outdated (the docker-library/php Alpine template may keep enough of the toolchain around for docker-php-ext-install to succeed today) or I misremembered how .build-deps interacts with the runtime image. Either way, the workflow's own evidence overrides my model, and I shouldn't have flagged it as an action item without verifying against a live Alpine image first.
Everything else from round 4 stands:
- B–H (Codex-driven changes) — still all clean improvements.
- Notes-not-actionable (cache-scope count, empty apache-modules dir on non-apache Debian builds, digest-artifact
-- delimiter) — unchanged.
Bottom line
No blockers. My round-4 item A was a false alarm — apologies for the noise. Ship it.
• Branch
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Reviewers
pronskiy
pronskiy approved these changes
Uh oh!
There was an error while loading. Please reload this page.
Assignees
No one assigned
Milestone
No milestone
Development
Successfully merging this pull request may close these issues.
Uh oh!
There was an error while loading. Please reload this page.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
|