fwcd / fwcd/d2

Add a `.devcontainer` manifest

Open
#144 0 comments 0 reactions 0 assignees View on GitHub
good first issue
Dominant language
Swift
Stars
17
Forks
5
PR merge metrics
No merged PRs in 30d

Description

This could be useful for quickly spinning up a dev environment, e.g. in a local container or a codespace:

- https://code.visualstudio.com/docs/devcontainers/create-dev-container
- https://github.com/microsoft/vscode/tree/main/.devcontainer (an example)

The setup should follow the standard Ubuntu setup:

- Run `Scripts/install-dependencies-apt` or install the equivalent dependencies manually
- Download Swift from https://www.swift.org/download and place it e.g. in `/opt/swift`
- Add symlinks to make it accessible from the `PATH`:

```sh
ln -s /opt/swift/usr/bin/swift /usr/local/bin/swift
ln -s /opt/swift/usr/bin/sourcekit-lsp /usr/local/bin/sourcekit-lsp
```

The only stumbling block is that the default image in GitHub Codespaces is currently based on Ubuntu 20.04, which doesn't have `libstdc++-12-dev`. However it seems like the installed `libstdc++-9-dev` should be fine too.

Alternatively we could of course try use something based on the `swift`-Docker image, similar to our production image (though of course without the slimmed down runner image or cross-compilation).

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading Scripts/install-dependencies-apt and inspect the existing production Docker image referenced in the issue. Add a .devcontainer manifest that follows the Ubuntu setup, installs Swift and the required symlinks, and works in a local container or Codespace. Verify that the dependency installation and Swift tooling are available in the resulting environment.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, github, swift
Domain
developer-experience, devops
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.