- Use the file
.devcontainer/devcontainer-to-instantiate-template.jsonto create a devcontainer (or just use the default Codespace devcontainer) - Inside that devcontainer, run
python .devcontainer/install-ci-tooling.pyto install necessary tooling to instantiate the template (you can copy/paste the script from this repo...and you can paste it in the root of the repo if you want) - Delete all files currently in the repository. Optional...but makes it easiest to avoid git conflicts.
- Run copier to instantiate the template:
copier copy --trust gh:LabAutomationAndScreening/copier-base-template.git . - Run
python .devcontainer/manual-setup-deps.py --only-create-lock --allow-uv-to-install-python --skip-updating-devcontainer-hashto generate the lock file(s) - Stage all files to prepare for commit (
git add .) - Run
python3 .github/workflows/hash_git_files.py . --for-devcontainer-config-updateto update the hash for your devcontainer file - Commit the changes (optional). Ensure to stage the modified
.devcontainer/devcontainer.jsonfile:git add .devcontainer/devcontainer.json - Rebuild your new devcontainer
If you are running into issues with the SSH port, confirm the randomly chosen port is not in the excluded ranges on your computer. On Windows you can run this in an elevated command prompt to check netsh interface ipv4 show excludedportrange protocol=tcp