DEV: Docker development improvements (PR #13117)

  • DEV: Only mount top-level plugin symlinks

    Sometimes plugins directories will end up with other symlinks (e.g. inside node_modules folders). This logic does not work with deeply nested symlinks, and they are unlikely to be necessary for the plugin to work. Therefore we should only look for symlinks in the top-level of the plugins directory

  • DEV: Update docker development binstubs

    • Add d/ember-cli, and publish port 4200
    • Remove d/sidekiq. Sidekiq is now started with the rails server
    • Move all docker exec logic into a single place, so we have one place to set environment variable pass-throughs
    • Use exec for all bash scripts, so that return statuses are passed back correctly
    • Avoid using bin/bash -c unnecessarily, because it makes escaping arguments difficult
  • DEV: Add non-x86_64 warning to d/boot_dev

    Running a development environment using Docker’s qemu architecture emulation is currently not possible because inotify is not supported: In docker desktop preview, the inotify function fails on a container with platform set to linux/amd64. · Issue #5321 · docker/for-mac · GitHub

GitHub

This pull request has been mentioned on Discourse Meta. There might be relevant details there:

Good stuff!