Artefakt Renode
Prenosná binárna distribúcia Renode, open-source frameworku od Antmicro na simuláciu a virtuálny vývoj embedded systémov, spolu s renode-test, jeho testovacím runnerom založeným na Robot Framework, ktorý sa používa na integračné/implementačné testovanie simulovaného firmvéru. Tento repozitár využíva Embedbits Platform Artifact Handler na vyhľadanie, stiahnutie, overenie a konfiguráciu Renode v následných embedded projektoch.
Tento repozitár je rozdelený do troch vetiev/referencií podľa úlohy — vetva main (master), ktorú práve čítate, obsahuje iba túto dokumentáciu; skripty handlera sú vo vetve Core a verzované binárky sa publikujú ako GitHub Releases ukotvené vo vetve Bin.
Obsah repozitára
main / master
└── README.md ← This document — no other content
Core
└── ArtifactConfig.cmake ← Renode integration logic (artifact init, version lookup, test helper)
Bin (anchor branch — no tracked binary files)
└── (empty commits only; each release tag points here)
Úloha v platforme
Tento repozitár je jednou z viacerých distribúcií artefaktov v platforme Embedbits. Celkový tok vyzerá takto:
GitHub (Embedbits)
──────────────────────────────────────────────────────────
Artifact-renode
main / master → README only (this document)
Core → ArtifactConfig.cmake
Bin → Anchor branch (empty commits)
Releases → renode-<version>-<platform>.zip + .hash
tagged Bin/<version>-<platform> (platform: Win / Unix)
Renode_Importer.sh publikuje každú verziu Renode ako GitHub Release — označené Bin/<version>-<platform> — namiesto súboru commitnutého do vetvy Bin. Samotná vetva Bin obsahuje iba prázdne kotviace commity, na ktoré ukazujú značky vydaní.
Platform Artifact Handler v následných projektoch odkazuje na vetvu Core ako na Git submodul. Počas konfigurácie CMake načíta ArtifactConfig.cmake, aby zistil, ktoré vydanie sa má stiahnuť, a potom stiahne a overí zodpovedajúci asset vydania pre aktuálnu platformu.
Štruktúra vetiev
| Vetva / referencia | Obsah |
|---|---|
main / master | Iba toto README — žiadny funkčný obsah |
Core | Skript handlera ArtifactConfig.cmake na použitie artefaktu |
Bin | Iba kotviaca vetva — nie sú v nej commitnuté žiadne binárky |
Značka vydania Bin/<version>-<platform> | GitHub Release, ktoré ako assety vydania nesie samotnú binárku .zip a súbor s kontrolným súčtom .hash, pre platform ∈ Win, Unix |
Poznámka: Samotný protokol Embedbits Artifact Handler nie je viazaný na GitHub Releases — len importovacie skripty hostované na GitHube publikujú binárky práve takto. Na Git hostingu bez ekvivalentného Releases API handler podporuje aj zabalené binárky commitnuté priamo ako sledované súbory vo vetve
Bin, označené značkou pre každú verziu/platformu (Bin/<version>-<platform>), namiesto nahrania ako assety vydania. Handler CMake transparentne spracuje obe formy.
⚠️ Žiadne vydania pre macOS (DarwinARM): v aktuálnej línii vydaní Renode upstream publikuje buildy pre macOS iba ako diskové obrazy
.dmg, nie ako obyčajný archív tar/zip.Renode_Importer.shpreto neimportuje platformuDarwinARM, kým upstream nezačne dodávať obyčajný archív (alebo sa doCommon.shnepridá podpora rozbaľovania.dmg).
⚠️ Stiahnutie vydania
Binárky nie sú uložené ako sledované súbory vo vetve Bin — skripty handlera získate klonovaním vetvy Core a binárky sťahujte ako assety vydania pre konkrétnu značku namiesto klonovania vetvy Bin.
# Core handler scripts
git clone --branch Core --single-branch --depth=1 <repository_url> renode-core
# Binary + checksum for one specific version/platform (GitHub Release asset)
gh release download Bin/1.16.1-Unix --repo Embedbits/Artifact-renode --pattern "renode-1.16.1-Unix.*"
Súčasti balíka
| Komponent | Popis |
|---|---|
renode | Hlavný simulátor/CLI: spúšťa a prevádzkuje simulované hardvérové platformy, skriptovacia konzola, GDB server |
renode-test | Testovací runner Robot Framework: spúšťa integračné/implementačné testovacie sady .robot voči simulovanému cieľu a vytvára reporty XML/HTML |
Použitie
Artefakt sa inštaluje automaticky počas fázy nastavenia artefaktov príkazom:
cmake -P Artifacts/Renode/ArtifactConfig.cmake
Skript zabezpečí, že binárky Renode sú dostupné, v prípade potreby rozbalí archív a pridá oba nástroje do systémovej PATH pre nasledujúce kroky buildu/testovania.
Funkcie handlera
renode_ArtifactInit(ARTIFACT_BIN_PATH)
Inicializuje artefakt: nájde binárky renode a renode-test a sprístupní ich cez cache premenné RENODE_EXECUTABLE / RENODE_TEST_EXECUTABLE.
renode_GetArtifactVersion()
Vráti verziu aktuálne vyriešených binárok Renode (cez renode -v).
Renode_AddTest(TEST_NAME ROBOT_FILE)
Zaregistruje test CTest, ktorý spustí zadanú sadu .robot cez renode-test.
Verzovanie
Verzie artefaktu zodpovedajú priamo oficiálnym verziám vydaní Renode:
1.14.0, 1.15.0, 1.15.3, 1.16.0, 1.16.1, ...
Nové verzie publikuje Renode_Importer.sh v repozitári GithubArtifactsHandler, ktorý stiahne oficiálne prenosné binárky Renode, zabalí ich do archívov .zip s overením SHA-256 a publikuje ich ako GitHub Release označené Bin/<version>-<platform> — samotná vetva Bin sa posúva iba prázdnym kotviacim commitom, na ktorý značka ukazuje.
Poznámky
- Inštalácia nie je potrebná — buildy
portable-dotnetsú samostatné (obsahujú .NET runtime), na cieľovom stroji nie je potrebná samostatná inštalácia .NET/mono. - Offline použitie je podporované, keď je artefakt lokálne v cache.
- V Azure DevOps pipeline sa odporúča cachovať priečinok artefaktu, aby sa skrátil čas buildu.
- macOS (DarwinARM) importér momentálne nepodporuje — pozri poznámku vyššie.
Licencia
Renode sa distribuuje pod licenciou MIT. Podrobnosti nájdete na: https://github.com/renode/renode/blob/master/LICENSE
Autori
- Mr.Nobody — embedbits.com
Príspevky sú vítané! Otvorte prosím pull request.