chronos-samples/Firmware uploader action

Uploads OTA firmware to updater API

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Activelast commit Mar 9, 2026
License
None

Pinned Snippet

workflow.ymlSHA-pinned
uses: chronos-samples/action-firmware-uploader@779e09445d249cc5fa4aa1cede2aa592a5c352d6 # v1.0.3

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
KEYCLOAK_URLKeycloak URLnohttps://auth.chronosai.xyz
KEYCLOAK_REALMThe realm in Keycloak to authenticate with. Default is 'master'.nomaster
KEYCLOAK_CLIENT_IDThe client ID for Keycloak access.yes
KEYCLOAK_CLIENT_SECRETThe client secret associated with the Keycloak client.yes
KEYCLOAK_USERNAMEThe username for Keycloak authentication.yes
KEYCLOAK_PASSWORDThe password for Keycloak authentication.yes
KEYCLOAK_GRANT_TYPEThe grant type for Keycloak authentication. Commonly set to 'password'.nopassword
API_URLThe URL of the API to interact with. Default: 'https://wss.dev.chronosai.xyz'.nohttps://wss.dev.chronosai.xyz
DEVICE_KINDThe type of device, allowed values: 'nrf' or 'esp'.yes
FIRMWARE_VERSIONThe version of the firmware to upload via OTA.yes
DESCRIPTIONWhat exactly do you not understand about the word "description"? What do you expect to see here?no""
DEVICE_TYPEThe type of the device, allowed values: 'tag' or 'anchor'.yes
FIRMWARE_PATHThe file path to the firmware zip to upload.yes
MODELThe model of the device. Allowed values: 'LocatorLite', 'xLocator', 'SPECTRE', 'xSpot' or 'SpectreMavlink'.yes
namedescription
IDUnique identifier of the uploaded file.
URLURL of the uploaded file.
ChecksumChecksum of the uploaded file for verification.
SizeSize of the uploaded file in bytes.
UploadedByThe username of the individual who uploaded the file.
UploadedAtTimestamp of when the file was uploaded.