1"use strict";(self.webpackChunkblog=self.webpackChunkblog||[]).push([[6570],{6791:(e,i,t)=>{t.r(i),t.d(i,{assets:()=>l,contentTitle:()=>r,default:()=>u,frontMatter:()=>s,metadata:()=>n,toc:()=>c});var n=t(46257),o=t(74848),a=t(28453);const s={slug:"build-more-configurations",image:"./social-preview.png",title:"Unlock Efficiency & Innovation in C++ Development: Building More Configuration than You Ship",description:"Struggling to keep up with evolving C++ tools and features while maintaining existing code? Feeling stuck with limited access to new capabilities? You're not alone! This blog unveils a powerful solution: building more configurations in your CI pipelines.\nDiscover how this DevOps approach can: * Boost productivity: Unleash the potential of new features and tools. * Ensure project longevity: Guarantee compatibility across platforms and versions. * Improve code quality: Catch issues early through comprehensive testing. * Embrace innovation: Break down barriers to adopting new C++ advancements.\nLearn by example: * We'll explore how Go's backward compatibility inspires similar practices in C++. * See practical techniques for testing with multiple compilers, standards, and platforms. * Get guided steps to implement this approach in your CI pipeline.\nDon't miss out on: * Valuable tips to get started easily. * Real-world examples showcasing successful adoption. * Actionable steps to share your experiences and contribute to the C++ community!\nReady to revolutionize your C++ development workflow? Start now!\n",authors:["chris"],tags:["c++","ci","continuous integration","build configurations","devops","efficiency","innovation","code quality","compatibility","golang","compilers","cmake","github actions"]},r=void 0,l={image:t(30151).A,authorsImageUrls:[void 0]},c=[];function p(e){const i={a:"a",p:"p",...(0,a.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(i.p,{children:["In the steadily evolving landscape of C++, where incremental improvements shape the tools we use, it can quickly become a challenge to stay up to date with the latest technologies while still supporting the code already in production. If you're apart of the ",(0,o.jsx)(i.a,{href:"https://www.jetbrains.com/lp/devecosystem-2023/cpp/",children:"61% of C++ developers"}),", the concept of building more configurations might initially seem counterintuitive. However, it's precisely under such circumstances that this approach serves as a solution to the challenge of limited access to new features and tools within the C++ ecosystem."]}),"\n",(0,o.jsxs)(i.p,{children:["By prioritizing testing a comprehensive list of configuration during CI, your team can unleash access to new features and tools, boosting productivity and ensuring project longevity and compatibility in a competitive landscape by ",(0,o.jsx)(i.a,{href:"https://www.techtarget.com/searchitoperations/tip/Putting-up-DevOps-guardrails-what-does-that-mean",children:"establishing guardrails"})," for the project."]}),"\n",(0,o.jsx)(i.p,{children:"Let's delve deeper into the compelling reasons why this DevOps approach, centered around building more configurations, deserves widespread adoption in C++ environments."})]})}function u(e={}){const{wrapper:i}={...(0,a.R)(),...e.components};return i?(0,o.jsx)(i,{...e,children:(0,o.jsx)(p,{...e})}):p(e)}},30151:(e,i,t)=>{t.d(i,{A:()=>n});const n=t.p+"assets/images/social-preview-727a3d496cfd299981aae502b699951a.png"},28453:(e,i,t)=>{t.d(i,{R:()=>s,x:()=>r});var n=t(96540);const o={},a=n.createContext(o);function s(e){const i=n.useContext(a);return n.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function r(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),n.createElement(a.Provider,{value:i},e.children)}},46257:e=>{e.exports=JSON.parse('{"permalink":"/build-more-configurations","source":"@site/blog/2024-02-05-build-more-configurations/index.md","title":"Unlock Efficiency & Innovation in C++ Development: Building More Configuration than You Ship","description":"Struggling to keep up with evolving C++ tools and features while maintaining existing code? Feeling stuck with limited access to new capabilities? You\'re not alone! This blog unveils a powerful solution: building more configurations in your CI pipelines.\\nDiscover how this DevOps approach can: * Boost productivity: Unleash the potential of new features and tools. * Ensure project longevity: Guarantee compatibility across platforms and versions. * Improve c
1ode quality: Catch issues early through comprehensive testing. * Embrace innovation: Break down barriers to adopting new C++ advancements.\\nLearn by example: * We\'ll explore how Go\'s backward compatibility inspires similar practices in C++. * See practical techniques for testing with multiple compilers, standards, and platforms. * Get guided steps to implement this approach in your CI pipeline.\\nDon\'t miss out on: * Valuable tips to get started easily. * Real-world examples showcasing successful adoption. * Actionable steps to share your experiences and contribute to the C++ community!\\nReady to revolutionize your C++ development workflow? Start now!\\n","date":"2024-02-05T00:00:00.000Z","tags":[{"inline":true,"label":"c++","permalink":"/tags/c"},{"inline":true,"label":"ci","permalink":"/tags/ci"},{"inline":true,"label":"continuous integration","permalink":"/tags/continuous-integration"},{"inline":true,"label":"build configurations","permalink":"/tags/build-configurations"},{"inline":true,"label":"devops","permalink":"/tags/devops"},{"inline":true,"label":"efficiency","permalink":"/tags/efficiency"},{"inline":true,"label":"innovation","permalink":"/tags/innovation"},{"inline":true,"label":"code quality","permalink":"/tags/code-quality"},{"inline":true,"label":"compatibility","permalink":"/tags/compatibility"},{"inline":true,"label":"golang","permalink":"/tags/golang"},{"inline":true,"label":"compilers","permalink":"/tags/compilers"},{"inline":true,"label":"cmake","permalink":"/tags/cmake"},{"inline":true,"label":"github actions","permalink":"/tags/github-actions"}],"readingTime":3.63,"hasTruncateMarker":true,"authors":[{"name":"Christopher McArthur","title":"C++ DevOps Expert","url":"https://github.com/prince-chrismc","imageURL":"https://github.com/prince-chrismc.png","key":"chris","page":null}],"frontMatter":{"slug":"build-more-configurations","image":"./social-preview.png","title":"Unlock Efficiency & Innovation in C++ Development: Building More Configuration than You Ship","description":"Struggling to keep up with evolving C++ tools and features while maintaining existing code? Feeling stuck with limited access to new capabilities? You\'re not alone! This blog unveils a powerful solution: building more configurations in your CI pipelines.\\nDiscover how this DevOps approach can: * Boost productivity: Unleash the potential of new features and tools. * Ensure project longevity: Guarantee compatibility across platforms and versions. * Improve code quality: Catch issues early through comprehensive testing. * Embrace innovation: Break down barriers to adopting new C++ advancements.\\nLearn by example: * We\'ll explore how Go\'s backward compatibility inspires similar practices in C++. * See practical techniques for testing with multiple compilers, standards, and platforms. * Get guided steps to implement this approach in your CI pipeline.\\nDon\'t miss out on: * Valuable tips to get started easily. * Real-world examples showcasing successful adoption. * Actionable steps to share your experiences and contribute to the C++ community!\\nReady to revolutionize your C++ development workflow? Start now!\\n","authors":["chris"],"tags":["c++","ci","continuous integration","build configurations","devops","efficiency","innovation","code quality","compatibility","golang","compilers","cmake","github actions"]},"unlisted":false,"prevItem":{"title":"Comparing Linux System Package Managers with C++ Package Managers","permalink":"/system-vs-cpp-pkg-mngr"},"nextItem":{"title":"Optimizing CI Build Scripts and Enhancing Developer Experience with CMake Presets","permalink":"/simple-ci-with-presets"}}')}}]);
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.