-
Notifications
You must be signed in to change notification settings - Fork 121
Add dev container support #4882
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
a3ac2fd
2afdd13
a012810
1b48f8d
5048e6c
e9a1ee2
a09c568
1ac810e
3be76ca
b409073
8d396ff
aa4238b
f094179
efa01b5
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,2 @@ | ||
| # User-specific devcontainer directory with merged personal preferences | ||
| user/ |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,39 @@ | ||
| # Dev container config | ||
|
|
||
| This folder contains the configuration to work in a [dev container](https://containers.dev/); | ||
| an isolated, reproducible development environment that runs inside a container, typically Docker. | ||
|
|
||
| The configuration skeleton is generated by the Guardian's [devenv](https://github.com/guardian/devenv) config tool. | ||
|
|
||
| ## Contents | ||
|
|
||
| ### `README.md` | ||
|
|
||
| Edit this file as you see fit. It is created on the first run of `devenv init` but it won't be overwritten | ||
| by subsequent runs unless you delete it entirely. | ||
|
|
||
| ### `devenv.yaml` | ||
|
|
||
| The source-of-truth configuration for this project's dev container. Edit this file to add/remove devenv modules, | ||
| or any other config settings. Then run: | ||
| ```bash | ||
| devenv generate | ||
| ``` | ||
| to regenerate the shared `devcontainer.json` file. | ||
|
|
||
| ### `shared/devcontainer.json` | ||
|
|
||
| The main devcontainer configuration, committed to the repository and shared by all developers. | ||
| It is generated from `devenv.yaml`. | ||
|
|
||
| > [!IMPORTANT] | ||
| > Do not edit this file directly! Instead, edit `devenv.yaml` and then run `devenv generate`. | ||
|
|
||
| ### `user/devcontainer.json` | ||
|
|
||
| A personal copy of the devcontainer config, **git-ignored** (see `.gitignore`). | ||
| This file is intended for your own overrides: | ||
| extra VS Code extensions or Intellij plugins, personal settings or tweaks that shouldn't affect other contributors. | ||
|
jonathonherbert marked this conversation as resolved.
|
||
| Modify this file freely without worrying about polluting shared config. | ||
| > [!IMPORTANT] | ||
| > But be aware that `devenv generate` will overwrite it! | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,45 @@ | ||
| # Devenv project configuration | ||
| # Edit this file to configure your project's devcontainer | ||
| # and then run `devenv generate` to create the devcontainer.json files | ||
|
|
||
| name: "grid" | ||
|
|
||
| # Modules: Built-in functionality | ||
| modules: | ||
| - mise | ||
| - docker-in-docker | ||
| - scala | ||
| - github-copilot | ||
|
|
||
| features: | ||
| ghcr.io/devcontainers/features/aws-cli:1.1.4: {} | ||
|
|
||
| # Optional: Ports to forward | ||
| forwardPorts: | ||
| - 9001 | ||
| - 9002 | ||
| - 9003 | ||
| - 9004 | ||
| - 9005 | ||
| - 9006 | ||
| - 9007 | ||
| - 9009 | ||
| - 9010 | ||
| - 9011 | ||
| - 9012 | ||
| - 6080 | ||
|
|
||
| # Optional: Mount directories from host to container | ||
| # mounts: | ||
| # - "source=${localEnv:HOME}/.gu/example,target=/home/vscode/.gu/example,readonly,type=bind,consistency=cached" | ||
|
|
||
| # Optional: IDE plugins - shared project plugins like language support | ||
| # plugins: | ||
| # vscode: [] | ||
| # intellij: [] | ||
|
|
||
| postCreateCommand: | ||
| - cmd: "docker build --target dev -f e2e-tests/images/Dockerfile -t grid-e2e-dev ." | ||
|
jonathonherbert marked this conversation as resolved.
|
||
| workingDirectory: "." | ||
| - cmd: 'PATH="$HOME/.local/share/mise/shims:$PATH" npm ci' | ||
| workingDirectory: "./e2e-tests" | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,14 @@ | ||
| { | ||
| "features": { | ||
| "ghcr.io/devcontainers/features/aws-cli:1.1.4": { | ||
| "version": "1.1.4", | ||
| "resolved": "ghcr.io/devcontainers/features/aws-cli@sha256:1f93c8315b7a6d76982ebb2269f8b0d50413fc0f965c032edf4aee0caceb73ef", | ||
| "integrity": "sha256:1f93c8315b7a6d76982ebb2269f8b0d50413fc0f965c032edf4aee0caceb73ef" | ||
| }, | ||
| "ghcr.io/devcontainers/features/docker-in-docker:3": { | ||
| "version": "3.1.0", | ||
| "resolved": "ghcr.io/devcontainers/features/docker-in-docker@sha256:62e04ec83d944da4fd2830f68a677d1f5466c0654aea1e4baa30232d16029ac1", | ||
| "integrity": "sha256:62e04ec83d944da4fd2830f68a677d1f5466c0654aea1e4baa30232d16029ac1" | ||
| } | ||
| } | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,70 @@ | ||
| { | ||
| "name" : "grid", | ||
| "customizations" : { | ||
| "vscode" : { | ||
| "extensions" : [ | ||
| "hverlin.mise-vscode", | ||
| "scala-lang.scala", | ||
| "scalameta.metals", | ||
| "GitHub.copilot" | ||
| ] | ||
| }, | ||
| "jetbrains" : { | ||
| "plugins" : [ | ||
| "com.github.l34130.mise", | ||
| "org.intellij.scala", | ||
| "com.github.copilot" | ||
| ] | ||
| } | ||
| }, | ||
| "forwardPorts" : [ | ||
| 9001, | ||
| 9002, | ||
| 9003, | ||
| 9004, | ||
| 9005, | ||
| 9006, | ||
| 9007, | ||
| 9009, | ||
| 9010, | ||
| 9011, | ||
| 9012, | ||
| 6080 | ||
| ], | ||
|
jonathonherbert marked this conversation as resolved.
|
||
| "image" : "mcr.microsoft.com/devcontainers/base:ubuntu26.04", | ||
| "remoteUser" : "vscode", | ||
| "features" : { | ||
| "ghcr.io/devcontainers/features/docker-in-docker:3" : { | ||
| "version" : "latest", | ||
| "moby" : false, | ||
| "dockerDashComposeVersion" : "v2" | ||
| }, | ||
| "ghcr.io/devcontainers/features/aws-cli:1.1.4" : { | ||
|
|
||
| } | ||
| }, | ||
| "mounts" : [ | ||
| { | ||
| "source" : "devenv-coursier-cache-volume", | ||
| "target" : "/mnt/coursier-cache", | ||
| "type" : "volume" | ||
| }, | ||
| { | ||
| "source" : "devenv-ivy-cache-volume", | ||
| "target" : "/mnt/ivy-cache", | ||
| "type" : "volume" | ||
| } | ||
| ], | ||
| "containerEnv" : { | ||
| "DEVENV_IVY_CACHE_MOUNT_DIR" : "/mnt/ivy-cache", | ||
| "DEVENV_COURSIER_CACHE_MOUNT_DIR" : "/mnt/coursier-cache" | ||
| }, | ||
| "capAdd" : [ | ||
| "SYS_ADMIN" | ||
| ], | ||
| "securityOpt" : [ | ||
| "seccomp=unconfined" | ||
| ], | ||
| "onCreateCommand" : "((printf \"\\033[1;34m[setup] Starting scalaOnCreateCommand.sh\\033[0m\\n\" && (cd . && printf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojIFNldHMgdXAgSlZNLXJlbGF0ZWQgY2FjaGVzIGluc2lkZSB0aGUgZGV2Y29udGFpbmVyIGFmdGVyIGNyZWF0aW9uLgoKZXJyb3IoKSB7IHByaW50ZiAiXDAzM1sxOzMxbVsuLi5dICVzXDAzM1swbVxuIiAiJCoiOyB9ICAjIHJlZApvaygpICAgIHsgcHJpbnRmICJcMDMzWzE7MzJtWy4uLl0gJXNcMDMzWzBtXG4iICIkKiI7IH0gICMgZ3JlZW4Kd2FybigpICB7IHByaW50ZiAiXDAzM1sxOzMzbVsuLi5dICVzXDAzM1swbVxuIiAiJCoiOyB9ICAjIGdvbGQKbG9nKCkgICB7IHByaW50ZiAiXDAzM1sxOzM2bVsuLi5dICVzXDAzM1swbVxuIiAiJCoiOyB9ICAjIGN5YW4KCmlmIFtbIC16ICRERVZFTlZfSVZZX0NBQ0hFX01PVU5UX0RJUiBdXTsgdGhlbgogICAgd2FybiAiREVWRU5WX0lWWV9DQUNIRV9NT1VOVF9ESVIgbm90IHNldCIKICAgIGV4aXQgMQpmaQoKaWYgW1sgLXogJERFVkVOVl9DT1VSU0lFUl9DQUNIRV9NT1VOVF9ESVIgXV07IHRoZW4KICAgIHdhcm4gIkRFVkVOVl9DT1VSU0lFUl9DQUNIRV9NT1VOVF9ESVIgbm90IHNldCIKICAgIGV4aXQgMQpmaQoKIyBXZSB3aWxsIHVzZSB0aGlzIHRvIGNob3duIGJlbG93CkRFVkVOVl9DT05UQUlORVJfVVNFUj0kKHdob2FtaSkKCkRFVkVOVl9JVllfVVNFUl9ESVI9Ii9ob21lLyRERVZFTlZfQ09OVEFJTkVSX1VTRVIvLml2eTIiCkRFVkVOVl9JVllfQ0FDSEVfTU9VTlRfTElOSz0iJERFVkVOVl9JVllfVVNFUl9ESVIvY2FjaGUiCgpsb2cgIkxpbmsgdGhlIHNoYXJlZCBpdnkgZGF0YSB2b2x1bWUgYXQgdGhlIGNvcnJlY3QgcG9pbnQuIgpta2RpciAtcCAiJERFVkVOVl9JVllfQ0FDSEVfTU9VTlRfTElOSyIKcm1kaXIgIiRERVZFTlZfSVZZX0NBQ0hFX01PVU5UX0xJTksiCmxuIC1zZiAiJERFVkVOVl9JVllfQ0FDSEVfTU9VTlRfRElSIiAiJERFVkVOVl9JVllfQ0FDSEVfTU9VTlRfTElOSyIKCmxvZyAiRW5zdXJpbmcgY29ycmVjdCBvd25lcnNoaXAgb2YgdGhlIHNoYXJlZCBpdnkgZGF0YSB2b2x1bWUuIgpzdWRvIGNob3duIC1STCAiJERFVkVOVl9DT05UQUlORVJfVVNFUiI6IiRERVZFTlZfQ09OVEFJTkVSX1VTRVIiICIkREVWRU5WX0lWWV9VU0VSX0RJUiIKCkRFVkVOVl9DT1VSU0lFUl9VU0VSX0RJUj0iL2hvbWUvJERFVkVOVl9DT05UQUlORVJfVVNFUi8uY2FjaGUiCkRFVkVOVl9DT1VSU0lFUl9DQUNIRV9NT1VOVF9MSU5LPSIkREVWRU5WX0NPVVJTSUVSX1VTRVJfRElSL2NvdXJzaWVyL3YxIgoKbG9nICJMaW5rIHRoZSBzaGFyZWQgY291cnNpZXIgZGF0YSB2b2x1bWUgYXQgdGhlIGNvcnJlY3QgcG9pbnQuIgpta2RpciAtcCAiJERFVkVOVl9DT1VSU0lFUl9DQUNIRV9NT1VOVF9MSU5LIgpybWRpciAiJERFVkVOVl9DT1VSU0lFUl9DQUNIRV9NT1VOVF9MSU5LIgpsbiAtc2YgIiRERVZFTlZfQ09VUlNJRVJfQ0FDSEVfTU9VTlRfRElSIiAiJERFVkVOVl9DT1VSU0lFUl9DQUNIRV9NT1VOVF9MSU5LIgoKbG9nICJFbnN1cmluZyBjb3JyZWN0IG93bmVyc2hpcCBvZiB0aGUgc2hhcmVkIGNvdXJzaWVyIGRhdGEgdm9sdW1lLiIKc3VkbyBjaG93biAtUkwgIiRERVZFTlZfQ09OVEFJTkVSX1VTRVIiOiIkREVWRU5WX0NPTlRBSU5FUl9VU0VSIiAiJERFVkVOVl9DT1VSU0lFUl9VU0VSX0RJUiI=\" | base64 -d | bash -euo pipefail && printf \"\\033[1;32m[setup] Finished scalaOnCreateCommand.sh\\033[0m\\n\") || printf \"\\033[1;31m[setup] Errored! scalaOnCreateCommand.sh\\033[0m\\n\")) 2>&1 | sudo tee /var/log/on-create.log", | ||
| "postCreateCommand" : "((printf \"\\033[1;34m[setup] Starting misePostCreateCommand.sh\\033[0m\\n\" && (cd . && printf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojIFNldHMgdXAgbWlzZSBpbnNpZGUgdGhlIGRldmNvbnRhaW5lciBhZnRlciBjcmVhdGlvbi4KIwojIEFsc28gbG9ncyB1c2VmdWwgaW5mbyAoaW5jbHVkaW5nIHRoZSBvdXRwdXQgZnJvbSBgbWlzZSBkb2N0b3JgKSB0byB0aGUgdGVybWluYWwgdG8gaGVscCB3aXRoIGRlYnVnZ2luZy4KCmVycm9yKCkgeyBwcmludGYgIlwwMzNbMTszMW1bLi4uXSAlc1wwMzNbMG1cbiIgIiQqIjsgfSAgIyByZWQKb2soKSAgICB7IHByaW50ZiAiXDAzM1sxOzMybVsuLi5dICVzXDAzM1swbVxuIiAiJCoiOyB9ICAjIGdyZWVuCndhcm4oKSAgeyBwcmludGYgIlwwMzNbMTszM21bLi4uXSAlc1wwMzNbMG1cbiIgIiQqIjsgfSAgIyBnb2xkCmxvZygpICAgeyBwcmludGYgIlwwMzNbMTszNm1bLi4uXSAlc1wwMzNbMG1cbiIgIiQqIjsgfSAgIyBjeWFuCgppZiB3aGljaCBtaXNlICYmIG1pc2UgLS12ZXJzaW9uOyB0aGVuCiAgbG9nICJtaXNlIGlzIGFscmVhZHkgcHJlc2VudCBhdCAkKHdoaWNoIG1pc2UpLiIKZWxzZQogIGxvZyAiSW5zdGFsbGluZyBtaXNlLi4uIgogIGN1cmwgLWZzU0wgaHR0cHM6Ly9taXNlLnJ1bi9iYXNoIHwgc2gKZmkKCmxvZyAiQ2hlY2tpbmcgbWlzZSBpcyB3b3JraW5nIGNvcnJlY3RseSBhbmQgb24gdGhlIHBhdGguIgptaXNlIC0tdmVyc2lvbgoKbG9nICJVcGRhdGluZyBtaXNlIGlmIG5lZWRlZC4iCm1pc2Ugc2VsZi11cGRhdGUgLS15ZXMgfHwgd2FybiAiU2tpcHBpbmcgbWlzZSBzZWxmLXVwZGF0ZSAtIHlvdSBtYXkgYmUgb2ZmbGluZS4iCgpsb2cgIlRydXN0aW5nIG1pc2UgY29uZmlnIChzZWU6IGh0dHBzOi8vbWlzZS5qZHguZGV2L2NsaS90cnVzdC5odG1sKS4iCm1pc2UgdHJ1c3QgLS15ZXMgfHwgdHJ1ZQoKbG9nICJJbnN0YWxsaW5nIG1pc2UgdG9vbGluZy4iCm1pc2UgaW5zdGFsbCB8fCB3YXJuICJtaXNlIGluc3RhbGwgZmFpbGVkLiBZb3UgbWF5IG5lZWQgdG8gcnVuIG1pc2UgaW5zdGFsbCBtYW51YWxseSBpbnNpZGUgdGhlIGNvbnRhaW5lci4iCgpsb2cgIkVuc3VyZSB0aGF0IG1pc2UgYWN0aXZhdGUgLS1zaGltcyBiYXNoIGlzIGluIGJhc2hyYy4iCnNlZCAtaSAncy9taXNlIGFjdGl2YXRlIGJhc2gvbWlzZSBhY3RpdmF0ZSAtLXNoaW1zIGJhc2gvJyB+Ly5iYXNocmMKZ3JlcCAnbWlzZSBhY3RpdmF0ZSAtLXNoaW1zIGJhc2gnIH4vLmJhc2hyYyB8fCBlY2hvICdldmFsICIkKG1pc2UgYWN0aXZhdGUgLS1zaGltcyBiYXNoKSIgI0FkZGVkIGJ5IGRldmVudicgfCB0ZWUgLWEgfi8uYmFzaHJjCgpsb2cgIkNoZWNrIHRoZXJlIGlzIGV4YWN0bHkgb25lIGFjdGl2YXRlIGNvbW1hbmQgaW4gYmFzaHJjLiIKdGVzdCAiJChncmVwIC1jICdtaXNlIGFjdGl2YXRlJyB+Ly5iYXNocmMpIiAtZXEgMSB8fCBlY2hvICdEaWQgbm90IGZpbmQgZXhhY3RseSBvbmUgYWN0aXZhdGUgY29tbWFuZCcKCmxvZyAiUnVuIHRoZSBhY3RpdmF0ZSBjb21tYW5kIGZyb20gYmFzaHJjLiIKZXZhbCAiJChncmVwICdtaXNlIGFjdGl2YXRlJyB+Ly5iYXNocmMpIgoKbG9nICJMaXN0IGluc3RhbGxlZCB0b29scy4iCm1pc2UgbGlzdAoKbG9nICJGaW5hbCBjaGVja3MuIgptaXNlIGRvY3Rvcgo=\" | base64 -d | bash -euo pipefail && printf \"\\033[1;32m[setup] Finished misePostCreateCommand.sh\\033[0m\\n\") || printf \"\\033[1;31m[setup] Errored! misePostCreateCommand.sh\\033[0m\\n\") && (printf \"\\033[1;34m[setup] Starting githubCopilotPostCreate.sh\\033[0m\\n\" && (cd . && printf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKZXJyb3IoKSB7IHByaW50ZiAiXDAzM1sxOzMxbVsuLi5dICVzXDAzM1swbVxuIiAiJCoiOyB9ICAjIHJlZApsb2coKSAgIHsgcHJpbnRmICJcMDMzWzE7MzZtWy4uLl0gJXNcMDMzWzBtXG4iICIkKiI7IH0gICMgY3lhbgoKIyBBZGRzIGBnaGAgKEdpdEh1YiBDTEkpIGFuZCBgY29waWxvdGAgKEdpdEh1YiBDb3BpbG90IENMSSkgdG8gdGhlIHVzZXIncyBQQVRIIHZpYSBtaXNlLgppZiBjb21tYW5kIC12IG1pc2UgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCiAgbG9nICJJbnN0YWxsaW5nIEdpdEh1YiBDTEkiCiAgbWlzZSB1c2UgZ2hAbGF0ZXN0IC0tZ2xvYmFsCgogIGxvZyAiSW5zdGFsbGluZyBHaXRIdWIgQ29waWxvdCBDTEkiCiAgbWlzZSB1c2UgY29waWxvdEBsYXRlc3QgLS1nbG9iYWwKZWxzZQogIGVycm9yICJtaXNlIGlzIHJlcXVpcmVkOyBza2lwcGluZyB0b29sIGluc3RhbGxhdGlvbiBhbmQgY2hlY2tzLiIKICBleGl0IDEKZmkK\" | base64 -d | bash -euo pipefail && printf \"\\033[1;32m[setup] Finished githubCopilotPostCreate.sh\\033[0m\\n\") || printf \"\\033[1;31m[setup] Errored! githubCopilotPostCreate.sh\\033[0m\\n\") && (printf \"\\033[1;34m[setup] Starting unknown\\033[0m\\n\" && (cd . && docker build --target dev -f e2e-tests/images/Dockerfile -t grid-e2e-dev . && printf \"\\033[1;32m[setup] Finished unknown\\033[0m\\n\") || printf \"\\033[1;31m[setup] Errored! unknown\\033[0m\\n\") && (printf \"\\033[1;34m[setup] Starting unknown\\033[0m\\n\" && (cd ./e2e-tests && PATH=\"$HOME/.local/share/mise/shims:$PATH\" npm ci && printf \"\\033[1;32m[setup] Finished unknown\\033[0m\\n\") || printf \"\\033[1;31m[setup] Errored! unknown\\033[0m\\n\")) 2>&1 | sudo tee /var/log/post-create.log" | ||
| } | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,75 @@ | ||
| { | ||
| "name" : "grid", | ||
| "customizations" : { | ||
| "vscode" : { | ||
| "extensions" : [ | ||
| "hverlin.mise-vscode", | ||
| "scala-lang.scala", | ||
| "scalameta.metals", | ||
| "GitHub.copilot" | ||
| ] | ||
| }, | ||
| "jetbrains" : { | ||
| "plugins" : [ | ||
| "com.github.l34130.mise", | ||
| "org.intellij.scala", | ||
| "com.github.copilot" | ||
| ] | ||
| } | ||
| }, | ||
| "forwardPorts" : [ | ||
| 9001, | ||
| 9002, | ||
| 9003, | ||
| 9004, | ||
| 9005, | ||
| 9006, | ||
| 9007, | ||
| 9009, | ||
| 9010, | ||
| 9011, | ||
| 9012, | ||
| 6080 | ||
| ], | ||
| "image" : "mcr.microsoft.com/devcontainers/base:ubuntu26.04", | ||
| "remoteUser" : "vscode", | ||
| "features" : { | ||
| "ghcr.io/devcontainers/features/docker-in-docker:3" : { | ||
| "version" : "latest", | ||
| "moby" : false, | ||
| "dockerDashComposeVersion" : "v2" | ||
| }, | ||
| "ghcr.io/devcontainers/features/aws-cli:1.1.4" : { | ||
|
|
||
| } | ||
| }, | ||
| "mounts" : [ | ||
| { | ||
| "source" : "devenv-coursier-cache-volume", | ||
| "target" : "/mnt/coursier-cache", | ||
| "type" : "volume" | ||
| }, | ||
| { | ||
| "source" : "devenv-ivy-cache-volume", | ||
| "target" : "/mnt/ivy-cache", | ||
| "type" : "volume" | ||
| } | ||
| ], | ||
| "containerEnv" : { | ||
| "DEVENV_IVY_CACHE_MOUNT_DIR" : "/mnt/ivy-cache", | ||
| "DEVENV_COURSIER_CACHE_MOUNT_DIR" : "/mnt/coursier-cache" | ||
| }, | ||
| "capAdd" : [ | ||
| "SYS_ADMIN" | ||
| ], | ||
| "securityOpt" : [ | ||
| "seccomp=unconfined" | ||
| ], | ||
| "runArgs" : [ | ||
| "--memory=16g", | ||
| "--cpus=8", | ||
| "--shm-size=512m" | ||
| ], | ||
| "onCreateCommand" : "((printf \"\\033[1;34m[setup] Starting scalaOnCreateCommand.sh\\033[0m\\n\" && (cd . && printf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojIFNldHMgdXAgSlZNLXJlbGF0ZWQgY2FjaGVzIGluc2lkZSB0aGUgZGV2Y29udGFpbmVyIGFmdGVyIGNyZWF0aW9uLgoKZXJyb3IoKSB7IHByaW50ZiAiXDAzM1sxOzMxbVsuLi5dICVzXDAzM1swbVxuIiAiJCoiOyB9ICAjIHJlZApvaygpICAgIHsgcHJpbnRmICJcMDMzWzE7MzJtWy4uLl0gJXNcMDMzWzBtXG4iICIkKiI7IH0gICMgZ3JlZW4Kd2FybigpICB7IHByaW50ZiAiXDAzM1sxOzMzbVsuLi5dICVzXDAzM1swbVxuIiAiJCoiOyB9ICAjIGdvbGQKbG9nKCkgICB7IHByaW50ZiAiXDAzM1sxOzM2bVsuLi5dICVzXDAzM1swbVxuIiAiJCoiOyB9ICAjIGN5YW4KCmlmIFtbIC16ICRERVZFTlZfSVZZX0NBQ0hFX01PVU5UX0RJUiBdXTsgdGhlbgogICAgd2FybiAiREVWRU5WX0lWWV9DQUNIRV9NT1VOVF9ESVIgbm90IHNldCIKICAgIGV4aXQgMQpmaQoKaWYgW1sgLXogJERFVkVOVl9DT1VSU0lFUl9DQUNIRV9NT1VOVF9ESVIgXV07IHRoZW4KICAgIHdhcm4gIkRFVkVOVl9DT1VSU0lFUl9DQUNIRV9NT1VOVF9ESVIgbm90IHNldCIKICAgIGV4aXQgMQpmaQoKIyBXZSB3aWxsIHVzZSB0aGlzIHRvIGNob3duIGJlbG93CkRFVkVOVl9DT05UQUlORVJfVVNFUj0kKHdob2FtaSkKCkRFVkVOVl9JVllfVVNFUl9ESVI9Ii9ob21lLyRERVZFTlZfQ09OVEFJTkVSX1VTRVIvLml2eTIiCkRFVkVOVl9JVllfQ0FDSEVfTU9VTlRfTElOSz0iJERFVkVOVl9JVllfVVNFUl9ESVIvY2FjaGUiCgpsb2cgIkxpbmsgdGhlIHNoYXJlZCBpdnkgZGF0YSB2b2x1bWUgYXQgdGhlIGNvcnJlY3QgcG9pbnQuIgpta2RpciAtcCAiJERFVkVOVl9JVllfQ0FDSEVfTU9VTlRfTElOSyIKcm1kaXIgIiRERVZFTlZfSVZZX0NBQ0hFX01PVU5UX0xJTksiCmxuIC1zZiAiJERFVkVOVl9JVllfQ0FDSEVfTU9VTlRfRElSIiAiJERFVkVOVl9JVllfQ0FDSEVfTU9VTlRfTElOSyIKCmxvZyAiRW5zdXJpbmcgY29ycmVjdCBvd25lcnNoaXAgb2YgdGhlIHNoYXJlZCBpdnkgZGF0YSB2b2x1bWUuIgpzdWRvIGNob3duIC1STCAiJERFVkVOVl9DT05UQUlORVJfVVNFUiI6IiRERVZFTlZfQ09OVEFJTkVSX1VTRVIiICIkREVWRU5WX0lWWV9VU0VSX0RJUiIKCkRFVkVOVl9DT1VSU0lFUl9VU0VSX0RJUj0iL2hvbWUvJERFVkVOVl9DT05UQUlORVJfVVNFUi8uY2FjaGUiCkRFVkVOVl9DT1VSU0lFUl9DQUNIRV9NT1VOVF9MSU5LPSIkREVWRU5WX0NPVVJTSUVSX1VTRVJfRElSL2NvdXJzaWVyL3YxIgoKbG9nICJMaW5rIHRoZSBzaGFyZWQgY291cnNpZXIgZGF0YSB2b2x1bWUgYXQgdGhlIGNvcnJlY3QgcG9pbnQuIgpta2RpciAtcCAiJERFVkVOVl9DT1VSU0lFUl9DQUNIRV9NT1VOVF9MSU5LIgpybWRpciAiJERFVkVOVl9DT1VSU0lFUl9DQUNIRV9NT1VOVF9MSU5LIgpsbiAtc2YgIiRERVZFTlZfQ09VUlNJRVJfQ0FDSEVfTU9VTlRfRElSIiAiJERFVkVOVl9DT1VSU0lFUl9DQUNIRV9NT1VOVF9MSU5LIgoKbG9nICJFbnN1cmluZyBjb3JyZWN0IG93bmVyc2hpcCBvZiB0aGUgc2hhcmVkIGNvdXJzaWVyIGRhdGEgdm9sdW1lLiIKc3VkbyBjaG93biAtUkwgIiRERVZFTlZfQ09OVEFJTkVSX1VTRVIiOiIkREVWRU5WX0NPTlRBSU5FUl9VU0VSIiAiJERFVkVOVl9DT1VSU0lFUl9VU0VSX0RJUiI=\" | base64 -d | bash -euo pipefail && printf \"\\033[1;32m[setup] Finished scalaOnCreateCommand.sh\\033[0m\\n\") || printf \"\\033[1;31m[setup] Errored! scalaOnCreateCommand.sh\\033[0m\\n\")) 2>&1 | sudo tee /var/log/on-create.log", | ||
| "postCreateCommand" : "((printf \"\\033[1;34m[setup] Starting misePostCreateCommand.sh\\033[0m\\n\" && (cd . && printf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAojIFNldHMgdXAgbWlzZSBpbnNpZGUgdGhlIGRldmNvbnRhaW5lciBhZnRlciBjcmVhdGlvbi4KIwojIEFsc28gbG9ncyB1c2VmdWwgaW5mbyAoaW5jbHVkaW5nIHRoZSBvdXRwdXQgZnJvbSBgbWlzZSBkb2N0b3JgKSB0byB0aGUgdGVybWluYWwgdG8gaGVscCB3aXRoIGRlYnVnZ2luZy4KCmVycm9yKCkgeyBwcmludGYgIlwwMzNbMTszMW1bLi4uXSAlc1wwMzNbMG1cbiIgIiQqIjsgfSAgIyByZWQKb2soKSAgICB7IHByaW50ZiAiXDAzM1sxOzMybVsuLi5dICVzXDAzM1swbVxuIiAiJCoiOyB9ICAjIGdyZWVuCndhcm4oKSAgeyBwcmludGYgIlwwMzNbMTszM21bLi4uXSAlc1wwMzNbMG1cbiIgIiQqIjsgfSAgIyBnb2xkCmxvZygpICAgeyBwcmludGYgIlwwMzNbMTszNm1bLi4uXSAlc1wwMzNbMG1cbiIgIiQqIjsgfSAgIyBjeWFuCgppZiB3aGljaCBtaXNlICYmIG1pc2UgLS12ZXJzaW9uOyB0aGVuCiAgbG9nICJtaXNlIGlzIGFscmVhZHkgcHJlc2VudCBhdCAkKHdoaWNoIG1pc2UpLiIKZWxzZQogIGxvZyAiSW5zdGFsbGluZyBtaXNlLi4uIgogIGN1cmwgLWZzU0wgaHR0cHM6Ly9taXNlLnJ1bi9iYXNoIHwgc2gKZmkKCmxvZyAiQ2hlY2tpbmcgbWlzZSBpcyB3b3JraW5nIGNvcnJlY3RseSBhbmQgb24gdGhlIHBhdGguIgptaXNlIC0tdmVyc2lvbgoKbG9nICJVcGRhdGluZyBtaXNlIGlmIG5lZWRlZC4iCm1pc2Ugc2VsZi11cGRhdGUgLS15ZXMgfHwgd2FybiAiU2tpcHBpbmcgbWlzZSBzZWxmLXVwZGF0ZSAtIHlvdSBtYXkgYmUgb2ZmbGluZS4iCgpsb2cgIlRydXN0aW5nIG1pc2UgY29uZmlnIChzZWU6IGh0dHBzOi8vbWlzZS5qZHguZGV2L2NsaS90cnVzdC5odG1sKS4iCm1pc2UgdHJ1c3QgLS15ZXMgfHwgdHJ1ZQoKbG9nICJJbnN0YWxsaW5nIG1pc2UgdG9vbGluZy4iCm1pc2UgaW5zdGFsbCB8fCB3YXJuICJtaXNlIGluc3RhbGwgZmFpbGVkLiBZb3UgbWF5IG5lZWQgdG8gcnVuIG1pc2UgaW5zdGFsbCBtYW51YWxseSBpbnNpZGUgdGhlIGNvbnRhaW5lci4iCgpsb2cgIkVuc3VyZSB0aGF0IG1pc2UgYWN0aXZhdGUgLS1zaGltcyBiYXNoIGlzIGluIGJhc2hyYy4iCnNlZCAtaSAncy9taXNlIGFjdGl2YXRlIGJhc2gvbWlzZSBhY3RpdmF0ZSAtLXNoaW1zIGJhc2gvJyB+Ly5iYXNocmMKZ3JlcCAnbWlzZSBhY3RpdmF0ZSAtLXNoaW1zIGJhc2gnIH4vLmJhc2hyYyB8fCBlY2hvICdldmFsICIkKG1pc2UgYWN0aXZhdGUgLS1zaGltcyBiYXNoKSIgI0FkZGVkIGJ5IGRldmVudicgfCB0ZWUgLWEgfi8uYmFzaHJjCgpsb2cgIkNoZWNrIHRoZXJlIGlzIGV4YWN0bHkgb25lIGFjdGl2YXRlIGNvbW1hbmQgaW4gYmFzaHJjLiIKdGVzdCAiJChncmVwIC1jICdtaXNlIGFjdGl2YXRlJyB+Ly5iYXNocmMpIiAtZXEgMSB8fCBlY2hvICdEaWQgbm90IGZpbmQgZXhhY3RseSBvbmUgYWN0aXZhdGUgY29tbWFuZCcKCmxvZyAiUnVuIHRoZSBhY3RpdmF0ZSBjb21tYW5kIGZyb20gYmFzaHJjLiIKZXZhbCAiJChncmVwICdtaXNlIGFjdGl2YXRlJyB+Ly5iYXNocmMpIgoKbG9nICJMaXN0IGluc3RhbGxlZCB0b29scy4iCm1pc2UgbGlzdAoKbG9nICJGaW5hbCBjaGVja3MuIgptaXNlIGRvY3Rvcgo=\" | base64 -d | bash -euo pipefail && printf \"\\033[1;32m[setup] Finished misePostCreateCommand.sh\\033[0m\\n\") || printf \"\\033[1;31m[setup] Errored! misePostCreateCommand.sh\\033[0m\\n\") && (printf \"\\033[1;34m[setup] Starting githubCopilotPostCreate.sh\\033[0m\\n\" && (cd . && printf '%s' \"IyEvdXNyL2Jpbi9lbnYgYmFzaAoKZXJyb3IoKSB7IHByaW50ZiAiXDAzM1sxOzMxbVsuLi5dICVzXDAzM1swbVxuIiAiJCoiOyB9ICAjIHJlZApsb2coKSAgIHsgcHJpbnRmICJcMDMzWzE7MzZtWy4uLl0gJXNcMDMzWzBtXG4iICIkKiI7IH0gICMgY3lhbgoKIyBBZGRzIGBnaGAgKEdpdEh1YiBDTEkpIGFuZCBgY29waWxvdGAgKEdpdEh1YiBDb3BpbG90IENMSSkgdG8gdGhlIHVzZXIncyBQQVRIIHZpYSBtaXNlLgppZiBjb21tYW5kIC12IG1pc2UgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCiAgbG9nICJJbnN0YWxsaW5nIEdpdEh1YiBDTEkiCiAgbWlzZSB1c2UgZ2hAbGF0ZXN0IC0tZ2xvYmFsCgogIGxvZyAiSW5zdGFsbGluZyBHaXRIdWIgQ29waWxvdCBDTEkiCiAgbWlzZSB1c2UgY29waWxvdEBsYXRlc3QgLS1nbG9iYWwKZWxzZQogIGVycm9yICJtaXNlIGlzIHJlcXVpcmVkOyBza2lwcGluZyB0b29sIGluc3RhbGxhdGlvbiBhbmQgY2hlY2tzLiIKICBleGl0IDEKZmkK\" | base64 -d | bash -euo pipefail && printf \"\\033[1;32m[setup] Finished githubCopilotPostCreate.sh\\033[0m\\n\") || printf \"\\033[1;31m[setup] Errored! githubCopilotPostCreate.sh\\033[0m\\n\") && (printf \"\\033[1;34m[setup] Starting unknown\\033[0m\\n\" && (cd . && docker build --target dev -f e2e-tests/images/Dockerfile -t grid-e2e-dev . && printf \"\\033[1;32m[setup] Finished unknown\\033[0m\\n\") || printf \"\\033[1;31m[setup] Errored! unknown\\033[0m\\n\") && (printf \"\\033[1;34m[setup] Starting unknown\\033[0m\\n\" && (cd ./e2e-tests && PATH=\"$HOME/.local/share/mise/shims:$PATH\" npm ci && printf \"\\033[1;32m[setup] Finished unknown\\033[0m\\n\") || printf \"\\033[1;31m[setup] Errored! unknown\\033[0m\\n\")) 2>&1 | sudo tee /var/log/post-create.log" | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,2 +1,4 @@ | ||
| java corretto-11.0.24.8.1 | ||
| nodejs 22.12.0 | ||
| github:guardian/devenv 20260721-123412 | ||
| sbt 1 |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -7,7 +7,7 @@ | |
| "test": "bddgen && playwright test", | ||
| "test:headed": "bddgen && playwright test --headed", | ||
| "test:report": "playwright show-report", | ||
| "test:ui": "bddgen && playwright test --ui" | ||
| "test:ui": "bddgen && playwright test --ui-port 6080" | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Did you not need
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. No 👍
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. How strange, I'm now even more confused as to why I needed it
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It would make sense that you would need it if 0.0.0.0 was not the default 🤔 and it's certainly specified in the docs |
||
| }, | ||
| "keywords": [], | ||
| "author": "", | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.