Home New Trending Search
About Privacy Terms
#
#TrunkBasedDevelopment
Posts tagged #TrunkBasedDevelopment on Bluesky

#CSudberyRecordings #ContinuousIntegration #TrunkBasedDevelopment

0 0 0 0
Preview
Trunk-Based Development Applied to Chemistry Simulations ## Trunk-Based Development Applied to Chemistry Simulations _Streamline your Git workflow with atomic precision—just like molecules in motion._ In software projects that model scientific processes, staying agile and accurate is crucial. Let’s explore **Trunk-Based Development (TBD)** through a chemistry-inspired scenario: building a **molecular dynamics simulation engine** for modeling atomic behavior in chemical reactions. This blog adopts an artistic and structured lens to walk through Git best practices using TBD. We'll move like electrons—quick, clean, and in sync with the main trunk. ## What is Trunk-Based Development? Trunk-Based Development is a Git strategy that emphasizes: * One shared branch (`main` or `trunk`) as the **single source of truth**. * Fast, **frequent integrations** of short-lived feature branches. * Strong reliance on **automated CI/CD pipelines** to maintain quality. It’s ideal for fast iterations and scientific experiments where time-to-insight matters. ## Project: Chemistry Engine We are building a chemistry simulator that: * Models particle interactions using Lennard-Jones potentials. * Supports real-time temperature control and visualization. * Runs CI tests for energy conservation. ## Branch Visualization (main) *--*--*--*--*--*--* (live, deployable) | | | | | | (feature/temp) * | | | | | * | | | | * | | | * | | *--* All branches are temporary—no `develop`, `release`, or long-lived staging branches. ## Git Commands in Practice ### 1. Start a Feature: Temperature Control git checkout main git pull origin main git checkout -b feature/temp-control ### 2. Write the Feature // src/thermostat.ts export function applyThermostat(particles, targetTemp) { // Simple rescaling algorithm } ### 3. Commit Frequently git add src/thermostat.ts git commit -m "feat: implement velocity rescaling thermostat" git push -u origin feature/temp-control ### 4. Merge into Main git checkout main git pull origin main git merge feature/temp-control git push origin main CI runs: npm run test npm run validate-energy-conservation ## Continuous Chemistry with CI/CD Add a GitHub workflow or GitLab CI config: on: push: branches: [main] jobs: simulate: steps: - run: npm test - run: node validate-energy.js deploy: steps: - run: ./deploy-sim-env.sh ## Use Feature Flags for Experimental Code if (flags.useThermostat) { applyThermostat(particles, 300); } This keeps `main` deployable even when simulations are incomplete. ## Rebase Often git checkout feature/temp-control git pull --rebase origin main git push --force-with-lease ## Practical Example: Adding Molecule Viewer git checkout main git checkout -b feature/molecule-visualizer # Write code... git add . git commit -m "feat: 3D molecule visualization" git push -u origin feature/molecule-visualizer # Merge it! git checkout main git merge feature/molecule-visualizer git push origin main ## Clean Code History Use interactive rebase to squash noisy commits: git rebase -i HEAD~5 Use atomic, clear commit messages: feat: add force calculation for Lennard-Jones interaction fix: correct sign in acceleration integration test: validate total energy conservation ## Combined Git Tricks Command | Purpose ---|--- `git pull --rebase origin main` | Sync feature branch `git stash && git stash pop` | Manage quick switches `git mergetool` | Resolve visual conflicts `git cherry-pick <hash>` | Apply hot patches ## Key Takeaways Principle | Why It Works ---|--- Frequent commits | Lower risk of conflicts Always deployable `main` | Safe for production Feature flags | Allow partial releases CI/CD enforcement | Maintain quality automatically Short-lived branches | Encourage small, reviewable changes ## Final Thoughts Trunk-Based Development in scientific software development is like **controlling a lab experiment** —clean, controlled, and reactive. With short cycles and continuous delivery, your simulation engine evolves organically—one molecule (commit) at a time. Harness Git’s precision. Embrace flow. And bring elegance to your code—chemically and structurally. Follow for more workflow artistry and Git wizardry! ⚛️🚀
0 0 0 0
Preview
Code reviews (Synchronous and Asynchronous) There are different types of Code Reviews with different objectives. This article only refers to those Code Reviews that another team member...

repost: www.eferro.net/2021/09/code...

#TrunkBasedDevelopment #CI #pairing

7 1 0 1
Preview
Trunk-Based Ping-Pong A collaborative programming style that incentivizes taking small steps together and is FUN.

"As we can only rotate on code that can be integrated into Trunk, we are incentivized to take small steps. The smaller the step, the faster we can rotate. The..."

www.industriallogic.com/blog/trunk-based-ping-po... #softwareengineering #productengineering #smaller #trunkbaseddevelopment #c

5 0 1 2

T*D:
#trunkbaseddevelopment
#testdrivendevelopment
#teamfocuseddevelopment

6 0 1 0

#ContinuousIntegration and #TrunkBasedDevelopment not only make your own developer life easier by avoiding growing integration debt. It also makes other's lives easier when you publish small increments often instead of infrequently dumping incohesive merge commits.

1 0 0 0

TeachLearnSky

I've discovered that only a few of us seem to teach #trunkbaseddevelopment instead of #gitflow in the #github teaching community. This seems odd. My thinking is set out in
simplybegin.co.uk/teach-trunk-... #edtech #softwaredevelopment #teamcollaboration #softwareengineering

0 0 0 0
Post image

🚀 Trunk Based Development : La voie de l'efficacité

#TrunkBasedDevelopment #CICD #CodeQuality #BestPractices

🖼️ Image: monkeyuser.com

🧵 J'explique 🧵👇 [1/8]

0 0 1 0

Despite being sick as a dog, this was a *good* work week.

Prepped a client for a prod release that moves them forward in a number of ways - using #Terraform for the first time (and doing it well), tons of #TestAutomation, #TrunkBasedDevelopment, 1/

0 0 1 0