chore(gitpod): migrate Classic Gitpod config to devcontainers

Spoiler: Gitpod tasks are now under the automations.yaml file, along
side support for services in Gitpod Flex. :)

Signed-off-by: Andrei Jiroh Halili <ajhalili2006@andreijiroh.dev>
This commit is contained in:
Andrei Jiroh Halili 2024-10-03 16:20:26 +00:00
parent e954a7fa74
commit f3c6473e83
3 changed files with 65 additions and 0 deletions

29
.devcontainer/Dockerfile Normal file
View file

@ -0,0 +1,29 @@
# syntax=docker/dockerfile:1
FROM gitpod/workspace-full:latest as workspace
WORKDIR /tmp
# setup work for scdoc and hut cli
RUN git clone https://git.sr.ht/~sircmpwn/scdoc && cd scdoc \
&& make && sudo cp scdoc /usr/local/bin/scdoc && cd .. \
&& git clone https://git.sr.ht/~emersion/hut && cd hut \
&& make PREFIX=/home/gitpod/.local && sudo cp ./hut /usr/local/bin/hut \
&& sudo rm -rv /tmp/*
# https://squidfunk.github.io/mkdocs-material/setup/setting-up-social-cards/#linux
RUN sudo install-packages \
libcairo2-dev \
libfreetype6-dev \
libffi-dev \
libjpeg-dev \
libpng-dev \
libz-dev
# https://docs.docker.com/build/install-buildx/
COPY --from=docker/buildx-bin:latest /buildx /usr/libexec/docker/cli-plugins/docker-buildx
# brew maintenance + install ShellCheck and Hadolint
WORKDIR /home/gitpod
RUN brew update && brew upgrade \
&& brew install hadolint shellcheck \
&& npm i -g wrangler \
&& git -C ~/.pyenv pull origin master

View file

@ -0,0 +1,31 @@
// The Dev Container format allows you to configure your environment. At the heart of it
// is a Docker image or Dockerfile which controls the tools available in your environment.
//
// See https://aka.ms/devcontainer.json for more information.
{
"name": "Gitpod",
// Use "image": "mcr.microsoft.com/vscode/devcontainers/base:ubuntu",
// instead of the build to use a pre-built image.
"build": {
"context": ".",
"dockerfile": "Dockerfile"
},
// Features add additional features to your environment. See https://containers.dev/features
// Beware: features are not supported on all platforms and may have unintended side-effects.
"features": {
"ghcr.io/devcontainers/features/docker-in-docker:2": {}
},
"remoteUser": "gitpod",
"customizations": {
"vscode": {
"extensions": [
"foam.foam-vscode",
"DavidAnson.vscode-markdownlint",
"timonwong.shellcheck",
"ms-azuretools.vscode-docker",
"vivaxy.vscode-conventional-commits",
"akosyakov.gitpod-monitor"
]
}
}
}

5
.gitpod/automations.yaml Normal file
View file

@ -0,0 +1,5 @@
tasks:
devserver:
name: Run dev server
command: pipenv install && pipenv run dev
triggeredBy: [manual,postDevcontainerStart]