meshtastic/docs/developers/publish.md

86 lines
2.1 KiB
Markdown
Raw Normal View History

---
2021-11-16 20:05:19 -08:00
id: publish
title: Publishing Meshtastic
sidebar_label: Publishing Meshtastic
---
This document is a WIP.
If youd like to do real releases with your changes, the procedure is:
## Device
* Update protobufs
* * cd proto
* * git checkout master && git pull
* * cd ..
* * git add proto
* * git commit -m "updating proto submodule to latest"
* run bin/regen-protos.sh
2021-12-08 05:59:02 -08:00
* edit version.properties to set release version
* commit and push (or merge) to root of repo - this should cause GitHub to start a release build (see the CI actions)
2021-11-16 19:52:00 -08:00
* edit the draft release text and click publish
### Update Protobufs
## Android
2021-12-10 20:17:31 -08:00
### Pre-requisites
* Add repository secrets
* * KEYSTORE_FILENAME
* * * name of the .jks
* * KEYSTORE
* * * we will convert the .jks to base64
* * * openssl base64 < filename.jks | tr -d '\n' | tee filename.txt
* * KEYSTORE_PROPERTIES
* * * storePassword=nononononono
keyPassword=nononononono
keyAlias=upload
storeFile=nononononono.jks
2021-11-16 19:52:00 -08:00
2021-12-10 20:17:31 -08:00
### Instructions - Automated
* Update protobufs
* Go to Actions / Make Release / Run Workflow
* Pick the Releases branch
* Enter the version found in app/gradle.build
*
2021-11-16 19:52:00 -08:00
## iOS
TBD
## Python
### Pre-requisites
2021-11-16 19:52:00 -08:00
* Python Packages
* * pip3 install pdoc3
* * pip3 install pygatt
* * pip3 install pandoc
* * pip install twine
2021-12-07 15:04:37 -08:00
* * pip3 install -r requirements.txt
* https://pandoc.org/installing.html
* nanopb 0.4.4 installed
### Instructions
* Update protobufs
* * cd proto
* * git checkout master && git pull
* * cd ..
* * git add proto
* * git commit -m "updating proto submodule to latest"
* run bin/regen-protos.sh
2021-11-16 19:52:00 -08:00
* bump the version in setup.py
* run bin/test-release.sh
* * Ensure no errors.
2021-11-16 19:52:00 -08:00
* run bin/upload-release.sh
I usually just edit setup.py to bump the version number, then run "bin/upload-release.sh" (though you should use bin/test-release.sh for the first time - which is just a dry deploy to the pypi test server). This script does the build (including new docs - which will end up in the git checkin) and upload to pypi. Then I do a git commit/push and tag wit the version number.
:::note
You need permissions in the GitHub project to make a build
:::