Skip to content

Commit

Permalink
Set up dev containers (#2605)
Browse files Browse the repository at this point in the history
  • Loading branch information
mattleibow authored Sep 15, 2023
1 parent 4799b08 commit b83ed73
Show file tree
Hide file tree
Showing 4 changed files with 63 additions and 12 deletions.
42 changes: 42 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/dotnet
{
"name": ".NET / C# Development",
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
"image": "mcr.microsoft.com/devcontainers/dotnet:dev-7.0",

// Features to add to the dev container. More info: https://containers.dev/features.
"features": {
"ghcr.io/devcontainers/features/dotnet:2": "latest",
},

// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [5000, 5001],
// "portsAttributes": {
// "5001": {
// "protocol": "https"
// }
// }

// Use 'postCreateCommand' to run commands after the container is created.
"postCreateCommand": {
"packages": ".devcontainer/packages.sh",
"native": "dotnet tool restore && dotnet cake --target externals-download",
"tests": "dotnet build tests/SkiaSharp.Tests.Console.sln",
},

// Configure tool-specific properties.
"customizations": {
// Configure properties specific to VS Code.
"vscode": {
// Set *default* container specific settings.json values on container create.
"settings": {},
"extensions": [
"ms-dotnettools.csdevkit",
],
}
},

// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
// "remoteUser": "root"
}
18 changes: 18 additions & 0 deletions .devcontainer/packages.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#!/usr/bin/env bash
set -e

# Update APT package lists
sudo apt update

# Install FontConfig - this is a dependency of libSkiaSharp.so
sudo apt install -y libfontconfig1

# Install the Emoji fonts - for tests
sudo apt install -y ttf-ancient-fonts

# Install the Microsoft fonts (eg: Times New Roman) - for tests
sudo apt install -y software-properties-common
sudo apt-add-repository -y contrib
sudo apt update
# echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | sudo debconf-set-selections
sudo apt install -y ttf-mscorefonts-installer
3 changes: 3 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"dotnet.defaultSolution": "tests/SkiaSharp.Tests.Console.sln"
}
12 changes: 0 additions & 12 deletions scripts/install-linux-test-requirements.sh

This file was deleted.

0 comments on commit b83ed73

Please sign in to comment.