Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 21 additions & 2 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,23 @@
FROM python:3.10.4-slim-buster
FROM debian:bookworm-20250317

RUN apt-get update
RUN apt-get install -y libsass-dev build-essential libcairo2 git libpango-1.0-0 libpangoft2-1.0-0 pangocairo-1.0 pngquant
RUN apt-get install -y \
build-essential git checkinstall libssl-dev openssl software-properties-common \
cmake golang-go \
python3.11 python3-pip python3.11-venv libsass-dev libcairo2 libpango-1.0-0 libpangoft2-1.0-0 pangocairo-1.0 pngquant \
sudo

## vscode user
RUN useradd -ms /bin/bash vscode \
&& apt-get update \
&& apt-get install -y sudo \
&& echo vscode ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/vscode \
&& chmod 0440 /etc/sudoers.d/vscode

USER vscode
WORKDIR /home/vscode

## Python will run in venv
RUN python3 -m venv /home/vscode/venv
ENV PATH="/home/vscode/venv/bin:$PATH"

2 changes: 2 additions & 0 deletions .devcontainer/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,6 @@ does not yet include the build tools.

## Included Toolchains

- C/C++ - For building the project itself
- Docker-in-Docker - For the included integration tests
- Python/MkDocs - for the project site and documentation development
25 changes: 20 additions & 5 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@
// Credits - https://github.com/hitsumabushi845/MkDocs-with-Remote-Containers
{
"name": "Material for MkDocs",
"name": "Testcontainers Native Development",
"dockerFile": "Dockerfile",
"features": {
"ghcr.io/devcontainers/features/docker-in-docker:2.12.4": {
"version": "latest",
"moby": true
}
},
"customizations": {
"vscode": {
// Set *default* container specific settings.json values on container create.
Expand All @@ -11,6 +17,15 @@
},
// Add the IDs of extensions you want installed when the container is created.
"extensions": [
// C/C++ development
"ms-vscode.cmake-tools",
"ms-vscode.makefile-tools",
"ms-vscode.cpptools-extension-pack",
"ms-azuretools.vscode-docker",
// Golang development
"golang.go",
// Generic site and documentation development
"streetsidesoftware.code-spell-checker",
"yzhang.markdown-all-in-one",
"redhat.vscode-yaml",
"shardulm94.trailing-spaces",
Expand All @@ -23,8 +38,8 @@
"forwardPorts": [
8000
],
// Use 'postCreateCommand' to run commands after the container is created.
"postCreateCommand": "pip3 install -r .devcontainer/requirements.txt "
// Uncomment to connect as a non-root user. See https://aka.ms/vscode-remote/containers/non-root.
//"remoteUser": "vscode"
"remoteUser": "vscode",
// Updates cache on new container runs
"postCreateCommand": "pip3 install -r .devcontainer/requirements.txt",
// "overrideCommand": false
}
8 changes: 8 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,14 @@
Contributions are welcome!
For any feedback and suggestions, use GitHub Issues.

## Developer Environment

You can use one of the following developer environments:

* [Dev Containers](.devcontainer/README.md) - for local development, testing,
and also for the documentation site development.
* Nix

## Community Slack

We use the `#testcontainers-native` channel on [Testcontainers Slack](https://slack.testcontainers.com/).
Expand Down
7 changes: 7 additions & 0 deletions cspell.config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
version: "0.2"
ignorePaths: []
dictionaryDefinitions: []
dictionaries: []
words: []
ignoreWords: []
import: []
4 changes: 3 additions & 1 deletion demo/wiremock/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,6 @@ add_dependencies(${TARGET_OUT} testcontainers-c-shim)
target_include_directories(${TARGET_OUT} PRIVATE ${testcontainers-c-wiremock_SOURCE_DIR})
target_link_libraries(${TARGET_OUT} PRIVATE testcontainers-c)
target_link_libraries(${TARGET_OUT} PRIVATE testcontainers-c-wiremock)
add_test(NAME wiremock_module_demo COMMAND ${TARGET_OUT})

# FIXME: APi call crashes on the recent version
# add_test(NAME wiremock_module_demo COMMAND ${TARGET_OUT})