Skip to content

Add devcontainer for VCS development without host system dependencies#112

Merged
mattfarina merged 7 commits intomasterfrom
copilot/add-devcontainer-support
Dec 2, 2025
Merged

Add devcontainer for VCS development without host system dependencies#112
mattfarina merged 7 commits intomasterfrom
copilot/add-devcontainer-support

Conversation

Copy link
Contributor

Copilot AI commented Dec 1, 2025

Testing requires git, hg, svn, and bzr installed locally. Most systems don't have all four, making development painful.

Changes

  • .devcontainer/Dockerfile: SUSE BCI Golang 1.25 base with all four VCS tools (git, mercurial, subversion, bzr) plus make, curl, sudo. Non-root vscode user for security.

  • .devcontainer/devcontainer.json: VS Code configuration with Go extension, language server enabled, and go mod download on container creation.

  • README.md: Development section documenting devcontainer usage.

  • Merged with master: Integrated latest changes from master branch including SVN test fixes (using https://svn.riouxsvn.com/vcs-test), Git test path corrections, and removal of obsolete TestTypeSwitch test that depended on GitHub's removed SVN support.

Usage

Open in VS Code with Dev Containers extension → "Reopen in Container". All VCS tools available without host installation.

Original prompt

This section details on the original issue you should resolve

<issue_title>devcontainer</issue_title>
<issue_description>The development environment requires git, hg, svn, and bzr along with Go. Many systems don't need all of these and it's painful to need those installed for testing. A devcontainer (i.e. https://containers.dev/) can provide a wrapper to have all of these installed while not littering the parent system.</issue_description>

<agent_instructions>Details on devcontainers can be found at https://code.visualstudio.com/docs/devcontainers/create-dev-container

Use https://registry.suse.com/repositories/bci-golang-stable as the foundation.

Make sure everything is included to support work in vscode.</agent_instructions>

Comments on the Issue (you are @copilot in this section)


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI changed the title [WIP] Add devcontainer for development environment Add devcontainer for VCS development without host system dependencies Dec 1, 2025
Copilot AI requested a review from mattfarina December 1, 2025 16:25
@mattfarina
Copy link
Member

@copilot Make the go version 1.25 and rebase the commits so that the Co-authored-by is "Matt Farina matt.farina@suse.com"

Copy link
Contributor Author

Copilot AI commented Dec 1, 2025

@copilot Make the go version 1.25 and rebase the commits so that the Co-authored-by is "Matt Farina matt.farina@suse.com"

Updated Go version to 1.25 in commit 72901f3.

Regarding the Co-authored-by line: I cannot directly perform git rebase or amend commits to change the Co-authored-by attribution in the existing commits. The report_progress tool automatically adds the Co-authored-by line based on the configured settings. To change the Co-authored-by line format, this would need to be done through a manual git rebase operation or by updating the tool's configuration.

@mattfarina
Copy link
Member

@copilot tests are failing because the SVN repo no longer exists. Replace "https://github.com/Masterminds/VCSTestRepo" with "https://svn.riouxsvn.com/vcs-test"

Copy link
Contributor Author

Copilot AI commented Dec 1, 2025

@copilot tests are failing because the SVN repo no longer exists. Replace "https://github.com/Masterminds/VCSTestRepo" with "https://svn.riouxsvn.com/vcs-test"

Replaced all SVN test URLs with https://svn.riouxsvn.com/vcs-test in commit ad0f4e2. Updated:

  • svn_test.go: 6 instances
  • repo_test.go: 2 instances

Note: The hostname svn.riouxsvn.com does not currently resolve from my test environment. If the URL is incorrect or if there's a different format needed, please let me know and I'll update it.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • esm.ubuntu.com
    • Triggering command: /usr/lib/apt/methods/https /usr/lib/apt/methods/https (dns block)
  • svn.riouxsvn.com
    • Triggering command: /usr/bin/svn svn --non-interactive info -- REDACTED (dns block)
    • Triggering command: /usr/bin/svn svn info REDACTED (dns block)
    • Triggering command: /usr/bin/nslookup nslookup svn.riouxsvn.com (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

@mattfarina
Copy link
Member

@copilot rebase this from master

Copy link
Contributor Author

Copilot AI commented Dec 1, 2025

@copilot rebase this from master

Rebased from master (commit 38d2d41). The redundant SVN URL commit (ad0f4e2) was dropped since master already includes those fixes in commit ac6b318.

Current state: Branch has been rebased locally but requires a force push to update the remote. The rebased commits are:

  • 4c8bd15 Update Go version to 1.25 in devcontainer
  • 3eccc6d Address code review feedback: use Go 1.22 and remove GOPATH
  • d3af5b3 Add devcontainer documentation to README
  • fbe0f3a Add devcontainer configuration with all VCS tools
  • 24d1c6e Initial plan

However, I cannot perform a force push with my available tools. You'll need to manually run git push --force-with-lease origin copilot/add-devcontainer-support to update the remote branch.

Copilot AI and others added 6 commits December 2, 2025 09:51
Co-authored-by: mattfarina <62991+mattfarina@users.noreply.github.com>
Co-authored-by: mattfarina <62991+mattfarina@users.noreply.github.com>
Co-authored-by: mattfarina <62991+mattfarina@users.noreply.github.com>
Co-authored-by: mattfarina <62991+mattfarina@users.noreply.github.com>
Co-authored-by: mattfarina <62991+mattfarina@users.noreply.github.com>
@mattfarina mattfarina force-pushed the copilot/add-devcontainer-support branch from 6fc10cc to 0a47fee Compare December 2, 2025 15:03
Signed-off-by: Matt Farina <matt.farina@suse.com>
@mattfarina mattfarina marked this pull request as ready for review December 2, 2025 15:11
@mattfarina mattfarina merged commit 93295ce into master Dec 2, 2025
6 checks passed
@mattfarina mattfarina deleted the copilot/add-devcontainer-support branch December 2, 2025 15:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

devcontainer

2 participants