ブログ Engineering

A One-Line Devcontainer Fix for LibreSign, Scoped Down in Review

英語の記事. LibreSign's devcontainer defaulted to PHP 8.2 while Nextcloud master needs 8.3. The merged fix bumps the default after review trimmed the scope.

PHPLibreSign/libresigndevcontainerDockerdeveloper experience

Sometimes the best review outcome is a smaller pull request.

短い答え

LibreSign's devcontainer pulled Nextcloud master, which requires PHP 8.3, but defaulted to a PHP 8.2 image, so a clean setup never finished installing. The merged fix changes the default image to PHP 8.3. A second change, making setup.sh fail hard on any error, was dropped at the maintainer's request. It was merged as PR #8001 and closed issue #7985.

The problem

LibreSign is a Nextcloud app for digital document signing. Issue #7985 reported that the devcontainer did not produce a working environment on a clean checkout. The first of several chained failures was this one:

This version of Nextcloud requires at least PHP 8.3<br/>You are currently running 8.2.33. Please update your PHP version.

Because the service restarts automatically, the reporter noted it "looks like a hang rather than a failure."

The fix

-    image: ghcr.io/librecodecoop/nextcloud-dev-php${PHP_VERSION:-82}:latest
+    image: ghcr.io/librecodecoop/nextcloud-dev-php${PHP_VERSION:-83}:latest

By the numbers

  • Repository: LibreSign/libresign, 841 stars (Nov 3, 2026), PHP, AGPL-3.0
  • Files changed: 1
  • Lines: +1 / -1
  • Commits: 2
  • Opened: Aug 21, 2026. Merged: Aug 22, 2026. Time to merge: 20 hours
  • Review: changes requested, then approved by a maintainer

How the review went

The first version also made setup.sh strict, so any failing step would exit with an error. The maintainer agreed with the PHP bump ("Changing PHP 8.2 to 8.3 fixes the current problem with Nextcloud master") but disagreed with the rest:

About setup.sh, I'm not sure we should make every setup error fatal because is a development environment, the developer may need the container running to investigate and fix the problem.

The follow-up commit reverted the setup.sh changes, leaving only the image bump. The maintainer approved it and merged it the next day. They also suggested a follow-up in the image repository so Dependabot could keep the devcontainer PHP version current.

よくある質問

Did this fix every failure in the issue?

The PR addresses the PHP version mismatch, which was the first failure the issue described. The issue was closed when the PR merged.

Where can I read more?

See the pull request and the original issue.

目標

A fix that matches what the maintainers want ships quickly. The extra hardening was reasonable in isolation, but it wasn't this team's call to make in this PR.

ループを実行

本番環境のシグナルをレビュー済みの修正に変える。

無料トライアルで、Prilog が実際のインシデントをコードレベルの Pull Request に結びつける方法をご確認ください。