From e253751637bf696cff17821ef187fb71992a321e Mon Sep 17 00:00:00 2001 From: vidplace7 Date: Sat, 12 Jul 2025 18:44:13 -0400 Subject: [PATCH] Update bufbuild GitHub Actions --- .github/workflows/ci.yml | 11 ++--- .github/workflows/create_tag.yml | 10 ++--- .github/workflows/publish.yml | 10 ++--- .github/workflows/pull_request.yml | 19 ++++----- meshtastic/admin.proto | 47 ++++++++++------------ meshtastic/config.proto | 26 ++++++------ meshtastic/device_ui.proto | 19 ++++----- meshtastic/deviceonly.proto | 7 ++-- meshtastic/interdevice.proto | 6 +-- meshtastic/mesh.proto | 64 +++++++++++++++--------------- meshtastic/module_config.proto | 2 - meshtastic/powermon.proto | 39 +++++++++--------- meshtastic/telemetry.proto | 19 +++++---- renovate.json | 6 +++ 14 files changed, 134 insertions(+), 151 deletions(-) create mode 100644 renovate.json diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1023c96..f38ad9f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,12 +16,9 @@ jobs: - name: Checkout code uses: actions/checkout@v4 - - name: Setup Buf - uses: bufbuild/buf-setup-action@v1.30.0 + - name: Push to schema registry + uses: bufbuild/buf-action@v1.2.0 with: github_token: ${{ github.token }} - - - name: Push to schema registry - uses: bufbuild/buf-push-action@v1.2.0 - with: - buf_token: ${{ secrets.BUF_TOKEN }} + token: ${{ secrets.BUF_TOKEN }} + push: true diff --git a/.github/workflows/create_tag.yml b/.github/workflows/create_tag.yml index e8233c7..a1e9768 100644 --- a/.github/workflows/create_tag.yml +++ b/.github/workflows/create_tag.yml @@ -58,14 +58,14 @@ jobs: token: ${{ github.token }} - name: Setup Buf - uses: bufbuild/buf-setup-action@v1.30.0 + uses: bufbuild/buf-action@v1.2.0 with: github_token: ${{ github.token }} + token: ${{ secrets.BUF_TOKEN }} + setup_only: true - name: Push to schema registry - # uses: bufbuild/buf-push-action@v1 - # with: - # buf_token: ${{ secrets.BUF_TOKEN }} + env: + BUF_TOKEN: ${{ secrets.BUF_TOKEN }} run: | - export BUF_TOKEN=${{ secrets.BUF_TOKEN }} buf push --tag ${{ steps.version.outputs.NEW_VERSION }} diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 8ea8360..70c229e 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -17,14 +17,14 @@ jobs: uses: actions/checkout@v4 - name: Setup Buf - uses: bufbuild/buf-setup-action@v1.30.0 + uses: bufbuild/buf-action@v1.2.0 with: github_token: ${{ github.token }} + token: ${{ secrets.BUF_TOKEN }} + setup_only: true - name: Push to schema registry - # uses: bufbuild/buf-push-action@v1 - # with: - # buf_token: ${{ secrets.BUF_TOKEN }} + env: + BUF_TOKEN: ${{ secrets.BUF_TOKEN }} run: | - export BUF_TOKEN=${{ secrets.BUF_TOKEN }} buf push --tag ${{ github.ref_name }} diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index 179d09a..6df3b32 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -2,6 +2,7 @@ name: pull-request permissions: contents: read + pull-requests: write on: pull_request jobs: @@ -12,17 +13,11 @@ jobs: - name: Checkout code uses: actions/checkout@v4 - - name: Setup Buf - uses: bufbuild/buf-setup-action@v1.30.0 + - name: Buf PR Checks + uses: bufbuild/buf-action@v1.2.0 with: github_token: ${{ github.token }} - - - name: Lint - uses: bufbuild/buf-lint-action@v1.1.1 - - - name: Push to schema registry - uses: bufbuild/buf-push-action@v1.2.0 - if: ${{ github.event_name != 'pull_request_target' && github.event_name != 'pull_request' }} - with: - buf_token: ${{ secrets.BUF_TOKEN }} - draft: ${{ github.ref_name != 'master'}} + token: ${{ secrets.BUF_TOKEN }} + format: true + lint: true + breaking: true diff --git a/meshtastic/admin.proto b/meshtastic/admin.proto index c93a964..0259c2a 100644 --- a/meshtastic/admin.proto +++ b/meshtastic/admin.proto @@ -5,9 +5,9 @@ package meshtastic; import "meshtastic/channel.proto"; import "meshtastic/config.proto"; import "meshtastic/connection_status.proto"; +import "meshtastic/device_ui.proto"; import "meshtastic/mesh.proto"; import "meshtastic/module_config.proto"; -import "meshtastic/device_ui.proto"; option csharp_namespace = "Meshtastic.Protobufs"; option go_package = "github.com/meshtastic/go/generated"; @@ -21,7 +21,6 @@ option swift_prefix = ""; * (Prior to 1.2 these operations were done via special ToRadio operations) */ message AdminMessage { - /* * The node generates this key and sends it with any get_x_response packets. * The client MUST include the same key with any set_x commands. Key expires after 300 seconds. @@ -529,18 +528,17 @@ message SharedContact { bool should_ignore = 3; } - /* - * This message is used by a client to initiate or complete a key verification - */ +/* + * This message is used by a client to initiate or complete a key verification + */ message KeyVerificationAdmin { /* * Three stages of this request. */ enum MessageType { - /* - * This is the first stage, where a client initiates - */ + * This is the first stage, where a client initiates + */ INITIATE_VERIFICATION = 0; /* @@ -548,33 +546,32 @@ message KeyVerificationAdmin { * And uses this message to provide it to the node. */ PROVIDE_SECURITY_NUMBER = 1; - - /* - * Once the user has compared the verification message, this message notifies the node. - */ + + /* + * Once the user has compared the verification message, this message notifies the node. + */ DO_VERIFY = 2; - /* - * This is the cancel path, can be taken at any point - */ + /* + * This is the cancel path, can be taken at any point + */ DO_NOT_VERIFY = 3; - } MessageType message_type = 1; - /* - * The nodenum we're requesting - */ + /* + * The nodenum we're requesting + */ uint32 remote_nodenum = 2; - /* - * The nonce is used to track the connection - */ + /* + * The nonce is used to track the connection + */ uint64 nonce = 3; - /* - * The 4 digit code generated by the remote node, and communicated outside the mesh - */ + /* + * The 4 digit code generated by the remote node, and communicated outside the mesh + */ optional uint32 security_number = 4; } diff --git a/meshtastic/config.proto b/meshtastic/config.proto index acbc14e..1586cd7 100644 --- a/meshtastic/config.proto +++ b/meshtastic/config.proto @@ -189,7 +189,7 @@ message Config { * Disabling this will disable the SerialConsole by not initilizing the StreamAPI * Moved to SecurityConfig */ - bool serial_enabled = 2[deprecated = true]; + bool serial_enabled = 2 [deprecated = true]; /* * For boards without a hard wired button, this is the pin number that will be used @@ -224,7 +224,7 @@ message Config { * Clients should then limit available configuration and administrative options inside the user interface * Moved to SecurityConfig */ - bool is_managed = 9[deprecated = true]; + bool is_managed = 9 [deprecated = true]; /* * Disables the triple-press of user button to enable or disable GPS @@ -470,7 +470,7 @@ message Config { * If non-zero, we want powermon log outputs. With the particular (bitfield) sources enabled. * Note: we picked an ID of 32 so that lower more efficient IDs can be used for more frequently used options. */ - uint64 powermon_enables = 32; + uint64 powermon_enables = 32; } /* @@ -783,7 +783,7 @@ message Config { * Rotate the compass by 270 degrees and invert. */ DEGREES_270_INVERTED = 7; - } + } /* * Indicates how to rotate or invert the compass output to accurate display on the display. @@ -923,7 +923,6 @@ message Config { * Kazakhstan 863MHz */ KZ_863 = 24; - } /* @@ -1137,17 +1136,16 @@ message Config { } message SecurityConfig { - - /* - * The public key of the user's device. - * Sent out to other nodes on the mesh to allow them to compute a shared secret key. - */ + /* + * The public key of the user's device. + * Sent out to other nodes on the mesh to allow them to compute a shared secret key. + */ bytes public_key = 1; - /* - * The private key of the device. - * Used to create a shared key with a remote device. - */ + /* + * The private key of the device. + * Used to create a shared key with a remote device. + */ bytes private_key = 2; /* diff --git a/meshtastic/device_ui.proto b/meshtastic/device_ui.proto index b943600..eb1e949 100644 --- a/meshtastic/device_ui.proto +++ b/meshtastic/device_ui.proto @@ -90,7 +90,6 @@ message DeviceUIConfig { bool is_clockface_analog = 18; } - message NodeFilter { /* * Filter unknown nodes @@ -126,7 +125,6 @@ message NodeFilter { * Filter based on channel */ int32 channel = 7; - } message NodeHighlight { @@ -154,7 +152,6 @@ message NodeHighlight { * Highlight nodes by matching name string */ string node_name = 5; - } message GeoPoint { @@ -163,14 +160,14 @@ message GeoPoint { */ int32 zoom = 1; - /* - * Coordinate: latitude - */ + /* + * Coordinate: latitude + */ int32 latitude = 2; - /* - * Coordinate: longitude - */ + /* + * Coordinate: longitude + */ int32 longitude = 3; } @@ -317,7 +314,7 @@ enum Language { */ BULGARIAN = 17; - /* + /* * Simplified Chinese (experimental) */ SIMPLIFIED_CHINESE = 30; @@ -326,4 +323,4 @@ enum Language { * Traditional Chinese (experimental) */ TRADITIONAL_CHINESE = 31; - } +} diff --git a/meshtastic/deviceonly.proto b/meshtastic/deviceonly.proto index acde0f1..d449373 100644 --- a/meshtastic/deviceonly.proto +++ b/meshtastic/deviceonly.proto @@ -3,10 +3,10 @@ syntax = "proto3"; package meshtastic; import "meshtastic/channel.proto"; -import "meshtastic/mesh.proto"; -import "meshtastic/telemetry.proto"; import "meshtastic/config.proto"; import "meshtastic/localonly.proto"; +import "meshtastic/mesh.proto"; +import "meshtastic/telemetry.proto"; import "nanopb.proto"; option csharp_namespace = "Meshtastic.Protobufs"; @@ -16,7 +16,6 @@ option java_package = "com.geeksville.mesh"; option swift_prefix = ""; option (nanopb_fileopt).include = ""; - /* * Position with static location information only for NodeDBLite */ @@ -269,7 +268,7 @@ message ChannelFile { /* * The on-disk backup of the node's preferences */ - message BackupPreferences { +message BackupPreferences { /* * The version of the backup */ diff --git a/meshtastic/interdevice.proto b/meshtastic/interdevice.proto index 54e950f..4616c08 100644 --- a/meshtastic/interdevice.proto +++ b/meshtastic/interdevice.proto @@ -12,9 +12,9 @@ option swift_prefix = ""; enum MessageType { ACK = 0; - COLLECT_INTERVAL = 160; // in ms - BEEP_ON = 161; // duration ms - BEEP_OFF = 162; // cancel prematurely + COLLECT_INTERVAL = 160; // in ms + BEEP_ON = 161; // duration ms + BEEP_OFF = 162; // cancel prematurely SHUTDOWN = 163; POWER_ON = 164; SCD41_TEMP = 176; diff --git a/meshtastic/mesh.proto b/meshtastic/mesh.proto index 1fcc1a5..686bec1 100644 --- a/meshtastic/mesh.proto +++ b/meshtastic/mesh.proto @@ -4,11 +4,11 @@ package meshtastic; import "meshtastic/channel.proto"; import "meshtastic/config.proto"; +import "meshtastic/device_ui.proto"; import "meshtastic/module_config.proto"; import "meshtastic/portnums.proto"; import "meshtastic/telemetry.proto"; import "meshtastic/xmodem.proto"; -import "meshtastic/device_ui.proto"; option csharp_namespace = "Meshtastic.Protobufs"; option go_package = "github.com/meshtastic/go/generated"; @@ -564,22 +564,22 @@ enum HardwareModel { */ HELTEC_CAPSULE_SENSOR_V3 = 65; - /* + /* * Heltec Vision Master T190 with ESP32-S3 CPU, and a 1.90 inch TFT display */ HELTEC_VISION_MASTER_T190 = 66; - /* + /* * Heltec Vision Master E213 with ESP32-S3 CPU, and a 2.13 inch E-Ink display */ HELTEC_VISION_MASTER_E213 = 67; - /* + /* * Heltec Vision Master E290 with ESP32-S3 CPU, and a 2.9 inch E-Ink display */ HELTEC_VISION_MASTER_E290 = 68; - /* + /* * Heltec Mesh Node T114 board with nRF52840 CPU, and a 1.14 inch TFT display, Ultimate low-power design, * specifically adapted for the Meshtatic project */ @@ -590,7 +590,7 @@ enum HardwareModel { */ SENSECAP_INDICATOR = 70; - /* + /* * Seeed studio T1000-E tracker card. NRF52840 w/ LR1110 radio, GPS, button, buzzer, and sensors. */ TRACKER_T1000_E = 71; @@ -611,7 +611,7 @@ enum HardwareModel { */ RADIOMASTER_900_BANDIT = 74; - /* + /* * Minewsemi ME25LS01 (ME25LE01_V1.0). NRF52840 w/ LR1110 radio, buttons and leds and pins. */ ME25LS01_4Y10TD = 75; @@ -640,7 +640,7 @@ enum HardwareModel { /* Seeed XIAO S3 DK*/ SEEED_XIAO_S3 = 81; - /* + /* * Nordic nRF52840+Semtech SX1262 LoRa BLE Combo Module. nRF52840+SX1262 MS24SF1 */ MS24SF1 = 82; @@ -680,7 +680,7 @@ enum HardwareModel { * Seeed XIAO nRF52840 + Wio SX1262 kit */ XIAO_NRF52_KIT = 88; - + /* * Elecrow ThinkNode M1 & M2 * https://www.elecrow.com/wiki/ThinkNode-M1_Transceiver_Device(Meshtastic)_Power_By_nRF52840.html @@ -693,7 +693,7 @@ enum HardwareModel { * Lilygo T-ETH-Elite */ T_ETH_ELITE = 91; - + /* * Heltec HRI-3621 industrial probe */ @@ -703,7 +703,7 @@ enum HardwareModel { * Reserved Fried Chicken ID for future use */ RESERVED_FRIED_CHICKEN = 93; - + /* * Heltec Magnetic Power Bank with Meshtastic compatible */ @@ -724,17 +724,17 @@ enum HardwareModel { */ CROWPANEL = 97; - /** + /* * Lilygo LINK32 board with sensors */ LINK_32 = 98; - /** + /* * Seeed Tracker L1 */ SEEED_WIO_TRACKER_L1 = 99; - /** + /* * Seeed Tracker L1 EINK driver */ SEEED_WIO_TRACKER_L1_EINK = 100; @@ -743,39 +743,37 @@ enum HardwareModel { * Reserved ID for future and past use */ QWANTZ_TINY_ARMS = 101; - - /** + + /* * Lilygo T-Deck Pro */ T_DECK_PRO = 102; - /** + /* * Lilygo TLora Pager */ T_LORA_PAGER = 103; - /** + /* * GAT562 Mesh Trial Tracker */ GAT562_MESH_TRIAL_TRACKER = 104; - - /** - * RAKwireless WisMesh Tag - */ + + /* + * RAKwireless WisMesh Tag + */ WISMESH_TAG = 105; - /** - * RAKwireless WisBlock Core RAK3312 https://docs.rakwireless.com/product-categories/wisduo/rak3112-module/overview/ - */ + /* + * RAKwireless WisBlock Core RAK3312 https://docs.rakwireless.com/product-categories/wisduo/rak3112-module/overview/ + */ RAK3312 = 106; - /** - * Elecrow ThinkNode M5 https://www.elecrow.com/wiki/ThinkNode_M5_Meshtastic_LoRa_Signal_Transceiver_ESP32-S3.html - */ + /* + * Elecrow ThinkNode M5 https://www.elecrow.com/wiki/ThinkNode_M5_Meshtastic_LoRa_Signal_Transceiver_ESP32-S3.html + */ THINKNODE_M5 = 107; - - /* * ------------------------------------------------------------------------------------------------------------------------------------------ * Reserved ID For developing private Ports. These will show up in live traffic sparsely, so we can use a high number. Keep it within 8 bits. @@ -1067,7 +1065,6 @@ message Data { * The actual over-the-mesh message doing KeyVerification */ message KeyVerification { - /* * random value Selected by the requesting node */ @@ -1901,6 +1898,7 @@ message KeyVerificationFinal { } message DuplicatedPublicKey {} message LowEntropyKey {} + /* * Individual File info for the device */ @@ -2174,7 +2172,7 @@ enum ExcludedModules { */ PAXCOUNTER_CONFIG = 0x1000; - /* + /* * Bluetooth config (not technically a module, but used to indicate bluetooth capabilities) */ BLUETOOTH_CONFIG = 0x2000; @@ -2232,7 +2230,7 @@ message ChunkedPayload { * Wrapper message for broken repeated oneof support */ message resend_chunks { - repeated uint32 chunks = 1; + repeated uint32 chunks = 1; } /* diff --git a/meshtastic/module_config.proto b/meshtastic/module_config.proto index e6c1694..683ce9e 100644 --- a/meshtastic/module_config.proto +++ b/meshtastic/module_config.proto @@ -148,7 +148,6 @@ message ModuleConfig { * Detection Sensor Module Config */ message DetectionSensorConfig { - enum TriggerType { // Event is triggered if pin is low LOGIC_LOW = 0; @@ -294,7 +293,6 @@ message ModuleConfig { * BLE RSSI threshold. Defaults to -80 */ int32 ble_threshold = 4; - } /* diff --git a/meshtastic/powermon.proto b/meshtastic/powermon.proto index dbb89b9..77206f4 100644 --- a/meshtastic/powermon.proto +++ b/meshtastic/powermon.proto @@ -1,20 +1,20 @@ syntax = "proto3"; +package meshtastic; + option csharp_namespace = "Meshtastic.Protobufs"; option go_package = "github.com/meshtastic/go/generated"; option java_outer_classname = "PowerMonProtos"; option java_package = "com.geeksville.mesh"; option swift_prefix = ""; -package meshtastic; - /* Note: There are no 'PowerMon' messages normally in use (PowerMons are sent only as structured logs - slogs). -But we wrap our State enum in this message to effectively nest a namespace (without our linter yelling at us) -*/ + * But we wrap our State enum in this message to effectively nest a namespace (without our linter yelling at us) + */ message PowerMon { /* Any significant power changing event in meshtastic should be tagged with a powermon state transition. - If you are making new meshtastic features feel free to add new entries at the end of this definition. - */ + * If you are making new meshtastic features feel free to add new entries at the end of this definition. + */ enum State { None = 0; @@ -22,14 +22,14 @@ message PowerMon { CPU_LightSleep = 0x02; /* - The external Vext1 power is on. Many boards have auxillary power rails that the CPU turns on only - occasionally. In cases where that rail has multiple devices on it we usually want to have logging on - the state of that rail as an independent record. - For instance on the Heltec Tracker 1.1 board, this rail is the power source for the GPS and screen. + The external Vext1 power is on. Many boards have auxillary power rails that the CPU turns on only + occasionally. In cases where that rail has multiple devices on it we usually want to have logging on + the state of that rail as an independent record. + For instance on the Heltec Tracker 1.1 board, this rail is the power source for the GPS and screen. - The log messages will be short and complete (see PowerMon.Event in the protobufs for details). - something like "S:PM:C,0x00001234,REASON" where the hex number is the bitmask of all current states. - (We use a bitmask for states so that if a log message gets lost it won't be fatal) + The log messages will be short and complete (see PowerMon.Event in the protobufs for details). + something like "S:PM:C,0x00001234,REASON" where the hex number is the bitmask of all current states. + (We use a bitmask for states so that if a log message gets lost it won't be fatal) */ Vext1_On = 0x04; @@ -44,22 +44,21 @@ message PowerMon { Wifi_On = 0x400; /* - GPS is actively trying to find our location - See GPSPowerState for more details - */ + * GPS is actively trying to find our location + * See GPSPowerState for more details + */ GPS_Active = 0x800; } } - /* * PowerStress testing support via the C++ PowerStress module */ message PowerStressMessage { /* * What operation would we like the UUT to perform. - note: senders should probably set want_response in their request packets, so that they can know when the state - machine has started processing their request + * note: senders should probably set want_response in their request packets, so that they can know when the state + * machine has started processing their request */ enum Opcode { /* @@ -69,7 +68,7 @@ message PowerStressMessage { PRINT_INFO = 1; // Print board version slog and send an ack that we are alive and ready to process commands FORCE_QUIET = 2; // Try to turn off all automatic processing of packets, screen, sleeping, etc (to make it easier to measure in isolation) - END_QUIET = 3; // Stop powerstress processing - probably by just rebooting the board + END_QUIET = 3; // Stop powerstress processing - probably by just rebooting the board SCREEN_ON = 16; // Turn the screen on SCREEN_OFF = 17; // Turn the screen off diff --git a/meshtastic/telemetry.proto b/meshtastic/telemetry.proto index c39a586..deece46 100644 --- a/meshtastic/telemetry.proto +++ b/meshtastic/telemetry.proto @@ -130,21 +130,21 @@ message EnvironmentMetrics { optional float wind_lull = 17; /* - * Radiation in µR/h - */ + * Radiation in µR/h + */ optional float radiation = 18; /* - * Rainfall in the last hour in mm - */ + * Rainfall in the last hour in mm + */ optional float rainfall_1h = 19; - /* - * Rainfall in the last 24 hours in mm - */ + /* + * Rainfall in the last 24 hours in mm + */ optional float rainfall_24h = 20; - /* + /* * Soil moisture measured (% 1-100) */ optional uint32 soil_moisture = 21; @@ -393,7 +393,7 @@ message LocalStats { /* * Health telemetry metrics */ - message HealthMetrics { +message HealthMetrics { /* * Heart rate (beats per minute) */ @@ -461,7 +461,6 @@ message HostMetrics { optional string user_string = 9; } - /* * Types of Measurements the telemetry module is equipped to handle */ diff --git a/renovate.json b/renovate.json new file mode 100644 index 0000000..5db72dd --- /dev/null +++ b/renovate.json @@ -0,0 +1,6 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": [ + "config:recommended" + ] +}