Skip to content

feat: add devcontainer setup for Flipt v2 development#5542

Merged
markphelps merged 5 commits intov2from
feat/devcontainer-setup-v2
Mar 12, 2026
Merged

feat: add devcontainer setup for Flipt v2 development#5542
markphelps merged 5 commits intov2from
feat/devcontainer-setup-v2

Conversation

@markphelps
Copy link
Copy Markdown
Collaborator

@markphelps markphelps commented Mar 10, 2026

Summary

Adds a complete devcontainer configuration for Flipt v2 development, enabling one-click setup in VS Code, GitHub Codespaces, or any devcontainer-compatible environment.

  • Dockerfile: Ubuntu 24.04 base with build tools, mise, and pre-created volume mount points with correct ownership
  • devcontainer.json: Configures workspace, port forwarding (HTTP 8080, gRPC 9000, Vite 5173), persistent volume caches for Go and mise, and automated tool installation via postCreateCommand
  • CI workflow: Builds and validates the devcontainer on any .devcontainer/ changes to prevent regressions

Notable fixes

  • Pre-create volume mount points as vscode user so Docker initializes named volumes with correct ownership
  • chown safety net in postCreateCommand for pre-existing volumes
  • Disable Node.js GPG verification (gpg/keyboxd unavailable in containers)
  • Remove node_modules volume mount (root ownership causes permission errors, minimal caching benefit since npm ci does clean installs)
  • Fix npx --nonpx --yes for non-interactive package-changed installs

Signed-off-by: Mark Phelps <209477+markphelps@users.noreply.github.com>
@markphelps markphelps requested a review from a team as a code owner March 10, 2026 18:39
@markphelps markphelps added the v2 Flipt v2 label Mar 10, 2026
@dosubot dosubot Bot added the size:M This PR changes 30-99 lines, ignoring generated files. label Mar 10, 2026
Signed-off-by: Mark Phelps <209477+markphelps@users.noreply.github.com>
@codecov
Copy link
Copy Markdown

codecov Bot commented Mar 10, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 60.40%. Comparing base (af4f40e) to head (f01bc18).
⚠️ Report is 1 commits behind head on v2.

Additional details and impacted files
@@           Coverage Diff           @@
##               v2    #5542   +/-   ##
=======================================
  Coverage   60.40%   60.40%           
=======================================
  Files         141      141           
  Lines       13995    13995           
=======================================
  Hits         8453     8453           
  Misses       4821     4821           
  Partials      721      721           
Flag Coverage Δ
integrationtests 34.32% <ø> (ø)
unittests 51.53% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

- Pre-create volume mount points in Dockerfile with correct ownership
- Disable Node.js GPG verification (gpg/keyboxd unavailable in containers)
- Fix chown on volume mounts in postCreateCommand for pre-existing volumes
- Remove node_modules volume mount (causes permission issues, minimal benefit)
- Fix npx --no to --yes for non-interactive package-changed installs
- Add CI workflow to build and validate devcontainer on changes

Signed-off-by: Mark Phelps <209477+markphelps@users.noreply.github.com>
@dosubot dosubot Bot added size:L This PR changes 100-499 lines, ignoring generated files. and removed size:M This PR changes 30-99 lines, ignoring generated files. labels Mar 10, 2026
Comment thread .github/workflows/devcontainer.yml Fixed
markphelps and others added 2 commits March 10, 2026 19:14
…ain permissions

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Signed-off-by: Mark Phelps <209477+markphelps@users.noreply.github.com>
@markphelps markphelps merged commit 78d53c3 into v2 Mar 12, 2026
31 of 33 checks passed
@markphelps markphelps deleted the feat/devcontainer-setup-v2 branch March 12, 2026 16:22
@github-project-automation github-project-automation Bot moved this to Done in Flipt V2 Mar 12, 2026
@erka
Copy link
Copy Markdown
Contributor

erka commented Mar 12, 2026

I maybe wrong here but we probably don't need Dockerfile. Mise could be added to devcontainer.json

 "features": {
    "ghcr.io/devcontainers-extra/features/mise:1": {},
    "ghcr.io/devcontainers/features/git:1.3.5": {}
  },

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

Labels

size:L This PR changes 100-499 lines, ignoring generated files. v2 Flipt v2

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants