--- /dev/null
+# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.192.0/containers/dotnet/.devcontainer/base.Dockerfile
+
+# [Choice] .NET version: 5.0, 3.1, 2.1
+ARG VARIANT="5.0"
+FROM mcr.microsoft.com/vscode/devcontainers/dotnet:0-${VARIANT}
+
+# Set up machine requirements to build the repo
+RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
+ && apt-get -y install --no-install-recommends cmake llvm-9 clang-9 \
+ build-essential python curl git lldb-6.0 liblldb-6.0-dev \
+ libunwind8 libunwind8-dev gettext libicu-dev liblttng-ust-dev \
+ libssl-dev libnuma-dev libkrb5-dev zlib1g-dev ninja-build
--- /dev/null
+// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
+// https://github.com/microsoft/vscode-dev-containers/tree/v0.192.0/containers/dotnet
+{
+ "name": "C# (.NET)",
+ "build": {
+ "dockerfile": "Dockerfile",
+ "args": {
+ // Update 'VARIANT' to pick a .NET Core version: 2.1, 3.1, 5.0
+ "VARIANT": "5.0",
+ }
+ },
+
+ "settings": {
+ // Loading projects on demand is better for larger codebases
+ "omnisharp.enableMsBuildLoadProjectsOnDemand": true
+ },
+
+ // Add the IDs of extensions you want installed when the container is created.
+ "extensions": [
+ "ms-dotnettools.csharp"
+ ],
+
+ // Use 'onCreateCommand' to run pre-build commands inside the codespace
+ "onCreateCommand": "${containerWorkspaceFolder}/.devcontainer/scripts/onCreateCommand.sh",
+
+ // Add the locally installed dotnet to the path to ensure that it is activated
+ // This allows developers to just use 'dotnet build' on the command-line, and the local dotnet version will be used.
+ "remoteEnv": {
+ "PATH": "${containerWorkspaceFolder}/.dotnet:${containerEnv:PATH}",
+ "DOTNET_MULTILEVEL_LOOKUP": "0"
+ },
+
+ // Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
+ "remoteUser": "vscode"
+}
--- /dev/null
+name: Create Codespaces Prebuild
+on:
+ schedule:
+ # Run at 06:00 am UTC every day
+ - cron: '0 6 * * *'
+ workflow_dispatch:
+jobs:
+ createPrebuild:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - uses: github/codespaces-precache@v1.0.1
+ with:
+ regions: WestUs2
+ sku_name: standardLinux32gb
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}