stdlib icon indicating copy to clipboard operation
stdlib copied to clipboard

[BUG]: Codespaces Devcontainer Fails Due to Moved gh-release Dependency in shellcheck Feature

Open deepak427 opened this issue 5 months ago • 5 comments

Description

Encountered an error when setting up stdlib in GitHub Codespaces, the devcontainer fails to build due to a broken dependency reference in the shellcheck feature.

shellcheck feature used in .devcontainer/devcontainer.json: "ghcr.io/marcozac/devcontainer-features/shellcheck:1": {}

declares an installsAfter dependency (ref: https://github.com/marcozac/devcontainer-features/blob/main/src/shellcheck/devcontainer-feature.json): "ghcr.io/devcontainers-contrib/features/gh-release"

This path has since moved to: "ghcr.io/devcontainers-extra/features/gh-release"

Because of this, the container build fails completely.

Related Issues

No.

Questions

No.

Demo

No response

Reproduction

To reproduce this issue:

  • Open the repo in GitHub Codespaces (default config).
  • Wait for the container to initialize.
  • Observe the following error during setup.

Expected Results

The devcontainer should build correctly and allow contributors to begin work using Codespaces without any manual setup.

Actual Results

Error: installsAfter dependency 'ghcr.io/devcontainers-contrib/features/gh-release' of Feature 'ghcr.io/marcozac/devcontainer-features/shellcheck:1' could not be processed.
2025-07-04 13:19:42.070Z:     at FX (/.codespaces/agent/bin/node_modules/@devcontainers/cli/dist/spec-node/devContainersSpecCLI.js:287:10922)
2025-07-04 13:19:42.070Z:     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
2025-07-04 13:19:42.070Z:     at async eC (/.codespaces/agent/bin/node_modules/@devcontainers/cli/dist/spec-node/devContainersSpecCLI.js:287:12258)
2025-07-04 13:19:42.071Z:     at async vu (/.codespaces/agent/bin/node_modules/@devcontainers/cli/dist/spec-node/devContainersSpecCLI.js:287:12484)
2025-07-04 13:19:42.073Z: {"outcome":"error","message":"installsAfter dependency 'ghcr.io/devcontainers-contrib/features/gh-release' of Feature 'ghcr.io/marcozac/devcontainer-features/shellcheck:1' could not be processed.","description":"An error occurred setting up the container."}
2025-07-04 13:19:42.075Z:     at async Tu (/.codespaces/agent/bin/node_modules/@devcontainers/cli/dist/spec-node/devContainersSpecCLI.js:392:1818)
2025-07-04 13:19:42.075Z:     at async gC (/.codespaces/agent/bin/node_modules/@devcontainers/cli/dist/spec-node/devContainersSpecCLI.js:395:2228)
2025-07-04 13:19:42.075Z:     at async Wu (/.codespaces/agent/bin/node_modules/@devcontainers/cli/dist/spec-node/devContainersSpecCLI.js:395:282)
2025-07-04 13:19:42.077Z:     at async dw (/.codespaces/agent/bin/node_modules/@devcontainers/cli/dist/spec-node/devContainersSpecCLI.js:467:1923)
2025-07-04 13:19:42.078Z:     at async Ix (/.codespaces/agent/bin/node_modules/@devcontainers/cli/dist/spec-node/devContainersSpecCLI.js:467:608)
2025-07-04 13:19:42.081Z:     at async Y6 (/.codespaces/agent/bin/node_modules/@devcontainers/cli/dist/spec-node/devContainersSpecCLI.js:484:3842)
2025-07-04 13:19:42.085Z: devcontainer process exited with exit code 1

====================================== ERROR ====================================
2025-07-04 13:19:42.094Z: Failed to create container.
=================================================================================
2025-07-04 13:19:42.095Z: Error: installsAfter dependency 'ghcr.io/devcontainers-contrib/features/gh-release' of Feature 'ghcr.io/marcozac/devcontainer-features/shellcheck:1' could not be processed.
2025-07-04 13:19:42.100Z: Error code: 1302 (UnifiedContainersErrorFatalCreatingContainer)

====================================== ERROR ====================================
2025-07-04 13:19:42.116Z: Container creation failed.
=================================================================================
2025-07-04 13:19:42.137Z:

Version

No response

Environments

N/A

Browser Version

No response

Node.js / npm Version

No response

Platform

GitHub Codespaces (Linux)

Checklist

  • [x] Read and understood the Code of Conduct.
  • [x] Searched for existing issues and pull requests.

deepak427 avatar Jul 04 '25 16:07 deepak427

:wave: Hi there! :wave:

And thank you for opening your first issue! We will get back to you shortly. :runner: :dash:

If you have any further questions while waiting for a response, please join our Gitter channel to chat with project maintainers and other community members.

stdlib-bot avatar Jul 04 '25 16:07 stdlib-bot

Suggested Fix

Since the current shellcheck feature is outdated (no updates in 2+ years) and relies on an outdated dependency path, a working and maintained alternative is available:

"features": {
  "ghcr.io/devcontainers-extra/features/shellcheck:1": {}
}

https://github.com/devcontainers-extra/features/tree/main/src/shellcheck

Happy to raise a PR with this change, if the approach looks good.

deepak427 avatar Jul 04 '25 16:07 deepak427

@Planeshifter Does the suggested fix seem reasonable to you?

kgryte avatar Jul 05 '25 07:07 kgryte

Ping @Planeshifter. This came up again, as discussed in office hours. cc @sagar7162

kgryte avatar Nov 11 '25 18:11 kgryte

hi @kgryte and @Planeshifter i have resolved the above issue in ##8600 , please have a look and give your valueable feedback. Thanks

sayantan007pal avatar Nov 25 '25 20:11 sayantan007pal