Did you know? Continuous Integration (CI)

Continuous Integration (CI) is a core software development practice where developers frequently merge their code changes into a shared repository, and each change is automatically built and tested. ๐—–๐—ผ๐—ป๐˜๐—ถ๐—ป๐˜‚๐—ผ๐˜‚๐˜€ ๐—œ๐—ป๐˜๐—ฒ๐—ด๐—ฟ๐—ฎ๐˜๐—ถ๐—ผ๐—ป (๐—–๐—œ) ๐˜„๐—ถ๐˜๐—ต ๐—ฝ๐—ผ๐˜„๐—ฒ๐—ฟ ๐—ผ๐—ฟ ๐—ฒ๐—ป๐—ฒ๐—ฟ๐—ด๐˜† ๐—บ๐—ฒ๐—ฎ๐˜€๐˜‚๐—ฟ๐—ฒ๐—บ๐—ฒ๐—ป๐˜๐˜€ is an automated, data-driven validation of energy efficiency at every code change. It is practiced to:

  • ๐——๐—ฒ๐˜๐—ฒ๐—ฐ๐˜ ๐—ฝ๐—ผ๐˜„๐—ฒ๐—ฟ ๐—ฟ๐—ฒ๐—ด๐—ฟ๐—ฒ๐˜€๐˜€๐—ถ๐—ผ๐—ป๐˜€ ๐—ฒ๐—ฎ๐—ฟ๐—น๐˜† โ€“ e.g., a firmware change that increases current draw.
  • ๐—ค๐˜‚๐—ฎ๐—ป๐˜๐—ถ๐—ณ๐˜† ๐—ฒ๐—ณ๐—ณ๐—ถ๐—ฐ๐—ถ๐—ฒ๐—ป๐—ฐ๐˜† ๐—ถ๐—บ๐—ฝ๐—ฎ๐—ฐ๐˜ ๐—ฝ๐—ฒ๐—ฟ ๐—ฐ๐—ผ๐—บ๐—บ๐—ถ๐˜ โ€“ see how code affects real-world energy use.
  • ๐—ง๐—ฟ๐—ฎ๐—ฐ๐—ธ ๐˜๐—ฟ๐—ฒ๐—ป๐—ฑ๐˜€ ๐—ผ๐˜ƒ๐—ฒ๐—ฟ ๐˜๐—ถ๐—บ๐—ฒ โ€“ build a power-performance history across versions.
  • ๐—”๐˜‚๐˜๐—ผ๐—บ๐—ฎ๐˜๐—ฒ ๐—ฅ๐—ข๐—œ ๐—ฎ๐—ป๐—ฎ๐—น๐˜†๐˜€๐—ถ๐˜€ โ€“ for energy optimizations or component changes