chore(devcontainer): consolidate and simplify dev/test/ci envs#3020
chore(devcontainer): consolidate and simplify dev/test/ci envs#3020solnic wants to merge 10 commits into
Conversation
d4384fc to
8d5cf5b
Compare
6d04589 to
afebf1f
Compare
We don't use it after all and using it just to get chromium headless was an overkill.
11ed496 to
f3569ab
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 2 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Want reviews to match your repository better? Bugbot Learning can learn team-specific rules from PR activity. A team admin can enable Learning in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 2a2c499. Configure here.
| up -d --no-build sentry-test | ||
|
|
||
| --env BUNDLE_PATH=/home/sentry/bundle \ | ||
| --env MISE_RUBY_VERSION=${{ matrix.ruby.version }} \ |
There was a problem hiding this comment.
MISE_RUBY_VERSION has no effect
Medium Severity
The e2e workflow passes MISE_RUBY_VERSION into test containers, but nothing in the repo or .mise.toml reads that variable, and the tools feature no longer runs mise use --global for the matrix Ruby. Runtime Ruby stays pinned to .mise.toml's ruby = "latest", so flavor-specific images may not run the intended matrix version.
Reviewed by Cursor Bugbot for commit 2a2c499. Configure here.
| for directory in bin lib lib32 lib64 libo32 libx32 sbin; do | ||
| dpkg-divert --package base-files --no-rename --remove "/${directory}" | ||
| done |
There was a problem hiding this comment.
Bug: The script's use of dpkg-divert --remove within a loop will cause the build to fail due to set -e when it encounters a directory without a diversion.
Severity: HIGH
Suggested Fix
Modify the dpkg-divert --remove command to handle cases where a diversion does not exist, preventing the script from exiting prematurely. For example, append || true to the command to ensure it doesn't trigger an exit on failure: dpkg-divert ... --remove "/${directory}" || true.
Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent. Verify if this is a real issue. If it is, propose a fix; if not, explain why it's
not valid.
Location: .devcontainer/features/tools/install.sh#L17-L19
Potential issue: The `install.sh` script runs with `set -e`, causing it to exit on any
command failure. It iterates through a list of directories to remove `dpkg-divert`
entries. However, on Ubuntu 24.04, not all of these directories (e.g., `libo32`,
`libx32`) will have an existing diversion. The `dpkg-divert --remove` command returns a
non-zero exit code when a diversion doesn't exist, which triggers the `set -e` trap.
This aborts the script and causes the entire devcontainer build to fail for Ubuntu 24.04
environments.
Did we get this right? 👍 / 👎 to inform future reviews.


This unifies our dev/test/ci dev container setup:
misefor Ruby installation exclusively.runscript as the entrypoint - no longer needed.ci-runas a simpler wrapper script for executing e2e specs on CI.