GitHub Codespaces
We provide support for running trunk
in GitHub Codespaces.
Github Codespaces are fully configured virtual containers for developing your GitHub repositories.
Installing the Trunk Feature
You can install the Trunk Launcher in your codespace by including the following line in your devcontainer.json
file under features
:
The feature is defined here.
To have the launcher binary install the CLI tool and associated linters, you can add trunk install
to updateContentCommand
in devcontainer.json
:
From the GitHub documentation:
You can use the onCreateCommand and updateContentCommand commands in your devcontainer.json to include time-consuming processes as part of the prebuild creation. For more information, see the Visual Studio Code documentation, "devcontainer.json reference."
onCreateCommand is run only once, when the prebuild is created, whereas updateContentCommand is run at > creation of the prebuild and at subsequent updates to it. Incremental builds should be included in updateContentCommand since they represent the source of your project and need to be included for every prebuild update.
Note: You should only add trunk install
if you have a Trunk-configured repository.
You can then configure pre-builds to run from GitHub workflows, ensuring the trunk
CLI and needed linters are available and ready to go when you need to boot up your codespace.
Installing the Trunk Extension
If you are using the Trunk feature, we will automatically install the Trunk extension on your behalf. Note: We highly recommend turning off auto-save in your VSCode settings in your codespace (or to a longer timeout). Saving files triggers the extension to re-lint, which can quickly overload the extension for anything but the fastest linters. The auto-save setting is detailed here.
Otherwise, You can add trunk
to your list of extensions in devcontainer.json
-
Then you're all set to run trunk
in your Codespace!
Last updated