Skip to content

Latest commit

 

History

History
61 lines (41 loc) · 2.3 KB

CONTRIBUTING.md

File metadata and controls

61 lines (41 loc) · 2.3 KB

This doc is far from complete.

Build Pipeline

Lets talk about how the software gets built for our users before we talk about making changes to it.

Github Actions

This repo is tested, built and deployed by Github Actions.

The .github/ directory in this repo coordinates the entire process. As long as this document is kept up to date, this is what github does:

  • Builds and Tests code changes
  • Lints code changes
  • On Release (through git tags) it uses goreleaser-pro to build and release:
  •  Linux, Mac and Windows Binaries
    
  •  Provides a packaged source copy
    
  •  Builds Debian, RedHat packages
    
  •  Builds Mac universal binary
    
  •  Builds Windows executable
    
  •  Builds numerous platform docker images and uploads them
    

After the release is built and Docker image tested:

Homebrew

it's a mac thing. Homebrew

Docker

Docker is built automatically and uploaded to ghcr.io by the release github action.

Contributing

Make a pull request and tell me what you're fixing. Pretty simple. If I need to I'll add more "rules." For now I'm happy to have help. Thank you!

Wiki

If you see typos, errors, omissions, etc, please fix them.

At this point, the wiki is pretty solid. Please keep your edits brief and without too much opinion. If you want to provide a way to do something, please also provide any alternatives you're aware of. If you're not sure, just open an issue and we can hash it out. I'm reasonable.

UniFi Libraries

The UniFi data extraction is provided as an external library, and you can import that code directly without futzing with this application. That means, if you wanted to do something like make telegraf collect your data instead of UniFi Poller you can achieve that with a little bit of Go code. You could write a small app that acts as a telegraf input plugin using the unifi library to grab the data from your controller.

This application is very dynamic and built using several package repos. They are all in the UniFi Poller GitHub Org.