Install mosquitto and ccache through the cached apt action - #2586
Conversation
Merging this PR will not alter performance
Comparing Footnotes
|
There was a problem hiding this comment.
Pull request overview
Updates the CI workflow to install mosquitto and ccache via awalsh128/cache-apt-pkgs-action, reducing exposure to flaky apt mirrors (by avoiding apt-get update on cache hits) and bounding cold-cache installs with a step timeout.
Changes:
- Replace direct
apt-get update && apt-get installusage formosquittowith a cached apt-packages action step (with a 10-minute timeout). - Replace direct apt-based
ccacheinstall with the same cached apt-packages action step (with a 10-minute timeout).
Suppressed comments (1)
.github/workflows/test.yml:484
- Same as above: quote
with.versionso it remains a stable, exact string and doesn't get normalized by YAML/JSON parsing.
with:
packages: ccache
version: 1.0
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2586 +/- ##
=======================================
Coverage 99.72% 99.72%
=======================================
Files 274 274
Lines 23074 23074
=======================================
Hits 23010 23010
Misses 64 64
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
What does this implement/fix?
The E2E MQTT job on #2585 spun for an hour inside
apt-get update, retrying the Azure apt mirror until the run was cancelled. Install mosquitto and ccache throughawalsh128/cache-apt-pkgs-actioninstead, the same pattern esphome CI uses; a cache hit restores the packages without runningapt-get updateat all, so a mirror outage can't hang the job, and a 10 minute step timeout bounds the cold cache path. The cache is seeded by push-to-main runs, so PR runs share it.Related issue or feature (if applicable):
Types of changes
bugfixnew-featureenhancementbreaking-changerefactordocsmaintenancecidependenciesFrontend coordination
Checklist
ruff,codespell, yaml/json/python checks).tests/where applicable.components.index.json/definitions/components/*.jsonhave not been hand-edited (regenerate viascript/sync_components.pyif a sync is needed).docs/ARCHITECTURE.mdand/ordocs/API.md.