github

The Meshtastic project uses Github for its version control system, discussion forums, and issue tracking.

Contributions are welcome from anyone, and we have a Meshtastic organisation, to manage overarching settings for our 100+ repositories, and manage the access that release managers, CI/CD admins, security team members, and core contributors require to perform their functions.

Github Actions

We use GitHub Actions for CI (testing), and CD (releasing) across many projects (E.g. firmware, web, android, python, openwrt). Github provides 20 runner slots to run actions on their infrastructure and we supplement the capacity by running self-hosted runners.

Requirement for Self-Hosted Runners

If you're interested in contributing runners and can meet the requirements below, please send us a message in the #hosting channel on discord.

Hardware Requirements [for 1 runner]

Firewall requirements

Current network usage

Operating System

Security requirements

Reliability requirements

A failed job due to a runner failure really annoys the developers, and only a few people can re-start the failed jobs, so reliability is very important 🙂 In the past we had used desktops at home, but they kept getting network dropouts, power outages, re-purposed machines for other things, filling up hard disks, etc. So, we prefer datacentre-based hosting with reliable cooling, power, network.