# sc3dev ## the shimmering clarity c++ development environment This is a set of tools to set up the standard development environment used across shimmering clarity projects. ### Scripts - `build-all-containers.sh` automates building all supported containers. - `build-container.sh` automated building and pushing a container. - `check-code.sh` wraps several code scanning tools. - `cmake-build-and-test.sh` sets up cmake projects building a RelWithDebInfo config. - `cmake-package.sh` packages the project and uploads it. - `cmake-valgrind.sh` run valgrind over all test targets. - `container-setup.sh` is the root script for setting up containers. - `install-cmake-debian.sh` install the latest CMake on Debian-based systems. - `install-development-tools.sh` installs the tools needed to build and package projects. - `is-current-tag.sh` determines if the current commit is tagged. - `validate-container.sh` attempts to clone a few repos and build/test them, validating that the image contains the correct tools to build them. ### OCI imags - `Containerfile` is an OCI-image spec for building development images. - `Containerfile.{flavor}` provide additional images for testing. Current flavors are: - alpine: (Alpine 3.18) a minimal image, suitable for CI - debian: (Debian 12.2) verify Debian installation - fedora: (Fedora 38) verify Fedora installation ### Programs - `sc3dev-packager`: interact with Gitea package repositories.