Skip to content

Ease contribution with Devcontainer - #1041

Open
mk-mxp wants to merge 3 commits into
exercism:mainfrom
mk-mxp:add-devcontainer
Open

Ease contribution with Devcontainer#1041
mk-mxp wants to merge 3 commits into
exercism:mainfrom
mk-mxp:add-devcontainer

Conversation

@mk-mxp

@mk-mxp mk-mxp commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

Provide a Devcontainer setup for contributors. This provides all required PHP modules / extensions.

mk-mxp added 2 commits August 2, 2026 14:40
PHPUnit cannot be used directly, the extension does not work for us.

PHPCS extension requires advanced setup to be used in a container,
so don't provide it.
@mk-mxp mk-mxp self-assigned this Aug 2, 2026
@mk-mxp mk-mxp added x:action/improve Improve existing functionality/content x:knowledge/elementary Little Exercism knowledge required x:type/coding Write code that is not student-facing content (e.g. test-runners, generators, but not exercises) x:size/small Small amount of work x:rep/small Small amount of reputation labels Aug 2, 2026
@mk-mxp
mk-mxp requested a review from homersimpsons August 2, 2026 13:37
Comment thread .devcontainer/Dockerfile
Comment on lines +7 to +13
# ds is pinned to v1, since v2 (the only version building against PHP 8.4 via
# PECL/docker-php-ext-install) dropped Vector/Deque/Stack/Queue/PriorityQueue.
RUN curl -L -o install-php-extensions \
https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions \
&& chmod +x install-php-extensions \
&& ./install-php-extensions gmp ds-^1@stable intl \
&& rm install-php-extensions

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we instead upgrade the test runner and everything to V2 ? Or would you prefer doing this in the php 8.5 upgrade ?

Note that even if they were removed, new alternatives were provided https://github.com/php-ds/ext-ds/releases/tag/v2.0.0

Comment thread README.md
- PHP V8.4+ CLI, with the following extensions:
- `ds` (V1.x)
- `intl`
- Default modules: `Core`, `ctype`, `date`, `dom`, `fileinfo`, `filter`, `hash`, `iconv`, `json`, `libxml`, `mbstring`, `pcre`, `random`, `Reflection`, `SimpleXML`, `sodium`, `SPL`, `standard`, `tokenizer`, `xml`, `xmlreader`, `xmlwriter`, `zlib`

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't we just mention ext-* requirements? It does not look relevant to mention "Core", "ctype", "date"...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

x:action/improve Improve existing functionality/content x:knowledge/elementary Little Exercism knowledge required x:rep/small Small amount of reputation x:size/small Small amount of work x:type/coding Write code that is not student-facing content (e.g. test-runners, generators, but not exercises)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants