PageSourceSearch

https://chronolog.dev/docs/assets/js/4e852cec.7ec357c5.js

js chronolog.dev collected 2026-10-04 18:02:22 UTC 5,897 bytes, 1 lines download raw bytes

1"use strict";(globalThis.webpackChunkdocs=globalThis.webpackChunkdocs||[]).push([[1842],{51621(e,n,t){t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>l,default:()=>u,frontMatter:()=>r,metadata:()=>i,toc:()=>c});const i=JSON.parse('{"id":"contributing/development/overview","title":"Overview","description":"The Development section covers everything you need to set up a working development environment, build ChronoLog from source, and run its test suite. Whether you are fixing a bug, adding a feature, or exploring the codebase, start here to get your toolchain in place.","source":"@site/versioned_docs/version-3.1.1/contributing/development/overview.md","sourceDirName":"contributing/development","slug":"/contributing/development/overview","permalink":"/docs/3.1.1/contributing/development/overview","draft":false,"unlisted":false,"editUrl":"https://github.com/grc-iit/ChronoLog/tree/main/docs/versioned_docs/version-3.1.1/contributing/development/overview.md","tags":[],"version":"3.1.1","sidebarPosition":0,"frontMatter":{"sidebar_position":0,"title":"Overview"},"sidebar":"contributingSidebar","previous":{"title":"Overview","permalink":"/docs/3.1.1/contributing/overview"},"next":{"title":"Environment Setup","permalink":"/docs/3.1.1/contributing/development/environment-setup"}}');var o=t(74848),s=t(28453);const r={sidebar_position:0,title:"Overview"},l="Development Overview",d={},c=[{value:"What's in this section",id:"whats-in-this-section",level:2},{value:"Environment Setup",id:"environment-setup",level:3},{value:"Building for Development",id:"building-for-development",level:3},{value:"Running Tests",id:"running-tests",level:3},{value:"Typical workflow",id:"typical-workflow",level:2}];function a(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",ol:"ol",p:"p",strong:"strong",...(0,s.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.header,{children:(0,o.jsx)(n.h1,{id:"development-overview",children:"Development Overview"})}),"\n",(0,o.jsx)(n.p,{children:"The Development section covers everything you need to set up a working development environment, build ChronoLog from source, and run its test suite. Whether you are fixing a bug, adding a feature, or exploring the codebase, start here to get your toolchain in place."}),"\n",(0,o.jsx)(n.h2,{id:"whats-in-this-section",children:"What's in this section"}),"\n",(0,o.jsx)(n.h3,{id:"environment-setup",children:"Environment Setup"}),"\n",(0,o.jsx)(n.p,{children:"ChronoLog builds on Linux with a C++17 compiler and manages its dependency tree through Spack. This page walks through two setup paths: building from source with Spack v0.21.2 or using the pre-built Docker image with all dependencies included. It also covers optional IDE configuration for CLion and VS Code."}),"\n",(0,o.jsxs)(n.p,{children:["See ",(0,o.jsx)(n.a,{href:"/docs/3.1.1/contributing/development/environment-setup",children:"Environment Setup"})," for the full setup instructions."]}),"\n",(0,o.jsx)(n.h3,{id:"building-for-development",children:"Building for Development"}),"\n",(0,o.jsxs)(n.p,{children:["Once your environment is ready, the developer deployment scripts handle the build-install-run cycle. This page documents the single-node (",(0,o.jsx)(n.code,{children:"local_single_user_deploy.sh"}),") and cluster (",(0,o.jsx)(n.code,{children:"single_user_deploy.sh"}),") scripts, their execution modes (build, install, start, stop, clean), and all available options including build type, directory paths, and process counts."]}),"\n",(0,o.jsxs)(n.p,{children:["See ",(0,o.jsx)(n.a,{href:"/docs/3.1.1/contributing/development/building-for-development",children:"Building for Development"})," for build workflows and script reference."]}),"\n",(0,o.jsx)(n.h3,{id:"running-tests",children:"Running Tests"}),"\n",(0,o.jsx)(n.p,{children:"ChronoLog's test suite spans unit, integration, communication, overhead, and system tests, with ~133 CTest entries in a debug build. This page catalogs every test, explains how to run subsets with CTest, and documents which tests require a live deployment (manual tests) or are temporarily disabled."}),"\n",(0,o.jsxs)(n.p,{children:["See ",(0,o.jsx)(n.a,{href:"/docs/3.1.1/contributing/development/running-tests",children:"Running Tests"})," for the full test catalog and execution instructions."]}),"\n",(0,o.jsx)(n.h2,{id:"typical-workflow",children:"Typical workflow"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Set up your environment"})," \u2014 install dependencies via Spack or pull the Docker image"]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Build in Debug mode"})," \u2014 use ",(0,o.jsx)(n.code,{children:"local_single_user_deploy.sh --build --build-type Debug"})]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Install"})," \u2014 use ",(0,o.jsx)(n.code,{children:"local_single_user_deploy.sh --install"})]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Run tests"})," \u2014 ",(0,o.jsx)(n.code,{children:"ctest --output-on-failure -j$(nproc)"})," from the build directory"]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Start ChronoLog"})," \u2014 use ",(0,o.jsx)(n.code,{children:"local_single_user_deploy.sh --start"})," for manual/integration tests that need a live deployment"]}),"\n"]})]})}function u(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(a,{...e})}):a(e)}},28453(e,n,t){t.d(n,{R:()=>r,x:()=>l});var i=t(96540);const o={},s=i.createContext(o);function r(e){const n=i.useContext(s);return i.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),i.createElement(s.Provider,{value:n},e.children)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.