From 35b636acb3b12c0b23fb61603e0f64c90442a4f2 Mon Sep 17 00:00:00 2001 From: Andrew Kaster Date: Wed, 25 Dec 2024 14:55:14 -0700 Subject: [PATCH] Devcontainer: Add a Fedora 41 devcontainer for use in CI --- .../features/ladybird/install-fedora.sh | 10 ++++++ .devcontainer/fedora-ci/Dockerfile | 2 ++ .devcontainer/fedora-ci/devcontainer.json | 31 +++++++++++++++++++ 3 files changed, 43 insertions(+) create mode 100644 .devcontainer/features/ladybird/install-fedora.sh create mode 100644 .devcontainer/fedora-ci/Dockerfile create mode 100644 .devcontainer/fedora-ci/devcontainer.json diff --git a/.devcontainer/features/ladybird/install-fedora.sh b/.devcontainer/features/ladybird/install-fedora.sh new file mode 100644 index 00000000000..fdd5fe3400a --- /dev/null +++ b/.devcontainer/features/ladybird/install-fedora.sh @@ -0,0 +1,10 @@ +#!/bin/sh +set -e + +# Git and GitHub CLI +dnf install -y git gh + +# Ladybird dev dependencies +dnf install -y autoconf-archive automake ccache cmake curl google-noto-sans-mono-fonts liberation-sans-fonts libglvnd-devel \ + nasm ninja-build perl-FindBin perl-IPC-Cmd perl-lib qt6-qtbase-devel qt6-qtmultimedia-devel qt6-qttools-devel \ + qt6-qtwayland-devel tar unzip zip zlib-ng-compat-static diff --git a/.devcontainer/fedora-ci/Dockerfile b/.devcontainer/fedora-ci/Dockerfile new file mode 100644 index 00000000000..affd3570a26 --- /dev/null +++ b/.devcontainer/fedora-ci/Dockerfile @@ -0,0 +1,2 @@ +ARG VERSION +FROM fedora:$VERSION diff --git a/.devcontainer/fedora-ci/devcontainer.json b/.devcontainer/fedora-ci/devcontainer.json new file mode 100644 index 00000000000..6a2cef971a1 --- /dev/null +++ b/.devcontainer/fedora-ci/devcontainer.json @@ -0,0 +1,31 @@ +// For format details, see https://aka.ms/devcontainer.json. +{ + "name": "Fedora CI", + // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile + "build": { + "context": ".", + "dockerfile": "Dockerfile", + "args": { + "VERSION": "${localEnv:VERSION:41}" + } + }, + + // Features to add to the dev container. More info: https://containers.dev/features. + "features": { + "ghcr.io/devcontainers/features/common-utils:2": {}, + "../features/ladybird" : { + "distro": "fedora" + } + }, + + // Use 'forwardPorts' to make a list of ports inside the container available locally. + // "forwardPorts": [], + + // Use 'postCreateCommand' to run commands after the container is created. + // "postCreateCommand": "uname -a", + + // Configure tool-specific properties. + + // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. + "remoteUser": "vscode" +}