CFW weekly builds

Alle APIs oder Firmwares für den TXT: Community-Firmware, .net, C++, usw.
Forumsregeln
Bitte beachte die Forumsregeln!

CFW weekly builds

Beitragvon PHabermehl » 22 Mär 2017, 19:51

So, hallo zusammen.

Wie bereits im Roadmap-to-cfw1.0-thread beschrieben, würde ich gelegentlich beta-builds bereitstellen.
richard.kunze hat ja bereits vorgeschlagen, dies, ähnlich den offiziellen Releases, auf GitHub zu tun.

Jetzt muß ich nur noch wissen, was ich mit den drei beim build erzeugten Dateien
  • output/images/uImage,
  • output/images/am335x-kno_txt.dtb
  • output/images/rootfs.img
genau machen soll.

In ein *zip packen?
Wohin uploaden?

Wie markiere ich die Version?

Sobald die ganzen Details geklärt sind, werden verfügbare beta builds hier in diesem Thread bekanntgegeben.

Gruß
Peter
PHabermehl
 
Beiträge: 621
Registriert: 20 Dez 2014, 23:59
Wohnort: Bad Hersfeld
Alter: 45

Re: CFW weekly builds

Beitragvon MasterOfGizmo » 22 Mär 2017, 21:36

Und am Ende installierst Du einen Jenkins auf einer Amazon-EC2-Instanz und die Nightly-Builds passieren automatisch und landen automatisch auf github. Und was kann Travis denn alles? Können die auch die ganze Firmware bauen?
MasterOfGizmo
 
Beiträge: 1058
Registriert: 30 Nov 2014, 08:44

Re: CFW weekly builds

Beitragvon ski7777 » 22 Mär 2017, 21:38

Theoretisch geht das mit Travis, aber nach mehreren zehtausenden Ausgabezeilen bricht Travis ab und wenn man Stattdessen alles in eine Datei pipet bricht es nach x Minuten Inaktivität auf der Shell ab. Also man braucht ein jenkins.

Raphael
Benutzeravatar
ski7777
 
Beiträge: 669
Registriert: 22 Feb 2014, 15:18
Wohnort: Saarwellingen
Alter: 15

Re: CFW weekly builds

Beitragvon richard.kunze » 22 Mär 2017, 22:00

MasterOfGizmo hat geschrieben:Und was kann Travis denn alles? Können die auch die ganze Firmware bauen?


Prinzipiell ja. Wenn da nicht das doofe Laufzeit-Limit von 15 Minuten (glaube ich) für Travis-Jobs wäre - das reicht nicht ganz für einen CFW-Build ;)
richard.kunze
 
Beiträge: 444
Registriert: 27 Dez 2015, 00:49
Wohnort: Rhein-Main-Gebiet
Alter: 48

Re: CFW weekly builds

Beitragvon PHabermehl » 22 Mär 2017, 22:01

Kinders, ihr sprecht in Rätseln...

Okay, Herrn Jenkins hab ich dank google gerade kennengelernt, aber... Kanone ... Spatz... tut das Not?

Ein script, daß nach dem Build die Trümmer in ein zip packt und nach git pushed, krieg ich wohl noch hin, und das sollte doch reichen?

Ich muß bloß wissen, WOHIN ich pushen soll...
PHabermehl
 
Beiträge: 621
Registriert: 20 Dez 2014, 23:59
Wohnort: Bad Hersfeld
Alter: 45

Re: CFW weekly builds

Beitragvon PHabermehl » 22 Mär 2017, 22:10

Ach so, und ist es ausreichend, in die
board/fischertechnik/TXT/rootfs/etc/fw-ver.txt
dann das von Richard vorgeschlagene Version-Tag "<CFW-VERSION>+snapshot-<YYYYMMDD>" zu schreiben?

Für den aktuellen Status "0.9.3-rc+snapshot-20170322", nach dem release der 0.9.3 dann "0.9.4-dev+snapshot-20xxxxxx", bis wir wieder langsam den Sack zumachen und wieder Release Candidates erstellen?
PHabermehl
 
Beiträge: 621
Registriert: 20 Dez 2014, 23:59
Wohnort: Bad Hersfeld
Alter: 45

Re: CFW weekly builds

Beitragvon PHabermehl » 22 Mär 2017, 22:20

MasterOfGizmo hat geschrieben: einen Jenkins auf einer Amazon-EC2-Instanz


Eher n bash-script auf dem Bauknecht und eine Symbiose aus thkais-Tischtennisball-Uhr, der Unendlichkeitsmaschine und dem ft-Netzschaltgerät, das dann 1x wöchentlich einen RPi einschaltet, der über wake-on-lan dann den Bauknecht weckt ... oder so ähnlich... :mrgreen:
PHabermehl
 
Beiträge: 621
Registriert: 20 Dez 2014, 23:59
Wohnort: Bad Hersfeld
Alter: 45

Re: CFW weekly builds

Beitragvon richard.kunze » 22 Mär 2017, 22:37

Hallo Peter,

PHabermehl hat geschrieben:Wie markiere ich die Version?

Mit "git tag" (die Tags benutzt Github dann, um Release-Dateien und den zugehörigen Sourcecode zusammenzubringen). Für einen Snapshot heute also sowas wie
Code: Alles auswählen
git tag v0.9.3-rc+snapshot-20170322


Das sollte auch der erste Schritt für das Release sein (noch vor dem Build), denn dann landet beim nachfolgenden Build auch genau dieses Tag in /etc/fw-ver.txt (zumindest wenn Du nochmal ein "git pull" machst - ich hab da eben noch einen Bug korrigiert). Das macht die Beta-Firmware dann später leicht identifizierbar.

PHabermehl hat geschrieben:Jetzt muß ich nur noch wissen, was ich mit den drei beim build erzeugten Dateien
output/images/uImage,
output/images/am335x-kno_txt.dtb
output/images/rootfs.img
genau machen soll.

In ein *zip packen?

Genau. Am besten in ein Zipfile mit dem Namen "ftcommunity-txt-<version>.zip", wobei <version> die Version des Snapshots ist (die Version ist das Tag von oben, ohne das führenden "v") - dann passt das zu der Namenskonvention, die wir für die bisherigen Releases auch haben.

PHabermehl hat geschrieben:Wohin uploaden?

Auf Github als Release. Das braucht allerdings ein paar Schritte mehr als nur einen simplen Upload:
  • Zunächst per "git push --tags" dafür sorgen dass das Snapshot-Tag auf Github landet
  • Dann unter https://github.com/ftCommunity/ftcommunity-TXT/releases mit "Draft a new Release" ein Release erstellen. Dabei als Tag das Snapshot-Tag auswählen
  • Eventuell kurz was zum Snapshot-Release schreiben
  • Das Zipfile ans Release (unter "Attach Binaries by dropping them here or selecting them")
  • Den Haken bei "Pre-Release" setzen
  • ... und veröffentlichen

Der ganze Kram sollte sich auch recht einfach Scripten lassen (für die Release-Veröffentlichung hat Github eine passende API).
richard.kunze
 
Beiträge: 444
Registriert: 27 Dez 2015, 00:49
Wohnort: Rhein-Main-Gebiet
Alter: 48

Re: CFW weekly builds

Beitragvon PHabermehl » 22 Mär 2017, 22:40

Danke, das war schon mal super!
Morgen abend schiebe ich den build an, Freitag gibt's dann hoffentlich den ersten release.
PHabermehl
 
Beiträge: 621
Registriert: 20 Dez 2014, 23:59
Wohnort: Bad Hersfeld
Alter: 45

Re: CFW weekly builds

Beitragvon richard.kunze » 22 Mär 2017, 22:47

PHabermehl hat geschrieben:Ach so, und ist es ausreichend, in die
board/fischertechnik/TXT/rootfs/etc/fw-ver.txt
dann das von Richard vorgeschlagene Version-Tag "<CFW-VERSION>+snapshot-<YYYYMMDD>" zu schreiben?

Brauchst du gar nicht - wenn Du aus einem Git-Repository baust und Deine aktuelle Version (genauer: Das, was "git describe --tags --match='v*'" ausspuckt) kompatibel zum Inhalt von board/fischertechnik/TXT/rootfs/etc/fw-ver.txt ist, dann wird /etc/fw-ver.txt im Image automatsich passend gesetzt (und wenn es nicht kompatibel ist bricht der Build ab). Für die dreckigen Details: siehe board/fischertechnik/TXT/post-build.sh

PHabermehl hat geschrieben:Für den aktuellen Status "0.9.3-rc+snapshot-20170322", nach dem release der 0.9.3 dann "0.9.4-dev+snapshot-20xxxxxx", bis wir wieder langsam den Sack zumachen und wieder Release Candidates erstellen?

Gute Idee - das passt dann auch von der Versionsreihenfolge (als "semantic version" ist 0.9.4-dev < 0.9.4-rc < 0.9.4).
richard.kunze
 
Beiträge: 444
Registriert: 27 Dez 2015, 00:49
Wohnort: Rhein-Main-Gebiet
Alter: 48

Re: CFW weekly builds

Beitragvon PHabermehl » 23 Mär 2017, 21:31

So, der build ist gerade gestartet, release auf GitHub vorbereitet, war ja gar nicht soooo schwer, vielen Dank an Richard.
PHabermehl
 
Beiträge: 621
Registriert: 20 Dez 2014, 23:59
Wohnort: Bad Hersfeld
Alter: 45

Re: CFW weekly builds

Beitragvon PHabermehl » 23 Mär 2017, 23:36

Ta-Daaaaaaa:

The first weekly build (cw1712) is avalable:

https://github.com/ftCommunity/ftcommunity-TXT/releases/tag/v0.9.3-rc%2Bsnapshot-20170323

Bootet auf meinem TXT, Installation wie üblich für 0.9.3, fw meldet sich auf dem TXT korrekt mit "v0.9.3-rc+snapshot-20170323"

Richard, schau mal bitte, ob ich formal alles richtig gemacht habe...

Alle anderen: viel Spaß damit!
PHabermehl
 
Beiträge: 621
Registriert: 20 Dez 2014, 23:59
Wohnort: Bad Hersfeld
Alter: 45

Re: CFW weekly builds

Beitragvon richard.kunze » 24 Mär 2017, 00:25

PHabermehl hat geschrieben:Ta-Daaaaaaa:

The first weekly build (cw1712) is avalable:

Ja ist denn heute schon Freitag? :D

PHabermehl hat geschrieben:Richard, schau mal bitte, ob ich formal alles richtig gemacht habe...

Sieht prima aus.

Für die nächsten Snapshots wäre es eventuell eine ganz gute Idee statt nur auf den letzten Commit zu verweisen einen Link auf das Changelog zum Vorgänger zu geben (geht mit "https://github.com/ftCommunity/ftcommunity-TXT/compare/$start...$end", wobei $start das Vorgänger- und $end das aktuelle Tag ist), aber das Changelog von 0.9.2 bis zum aktuellen Snapshot dürfte etwas zu umfangreich sein um das vernünftig anzeigen zu können.
richard.kunze
 
Beiträge: 444
Registriert: 27 Dez 2015, 00:49
Wohnort: Rhein-Main-Gebiet
Alter: 48

Re: CFW weekly builds

Beitragvon ski7777 » 24 Mär 2017, 18:58

Also grundsätzlich ist meine Update App fertig. Es wird ein Feature geben, alle zur Verfügung stehenden Releases (ob sie funktionieren oder nicht) zu installieren, jedoch kann man standardmäßig entweder updaten oder nichts tun.
Die Frage, die sich mir nun stellt ist, wie man dieses Feature aktivieren kann. Ein Knopf in den App-Einstellungen ist wohl zu einfach. Am liebsten wäre mir, wenn in /etc/fw-ver.txt so etwas wie "weekly" drin steht. Dann kann man immer auf die nächste weekly aktualisieren. Dann haben wir zwei Möglichkeiten: Entweder kommt mit jeder stable Release auch eine weekly für einen sauberen Übergang oder man muss dann ein Mal manuell aktualisieren, was auch kein Problem darstellen sollte.

Raphael
Benutzeravatar
ski7777
 
Beiträge: 669
Registriert: 22 Feb 2014, 15:18
Wohnort: Saarwellingen
Alter: 15

Re: CFW weekly builds

Beitragvon PHabermehl » 24 Mär 2017, 19:10

Hallo Raphael,
da steht doch "snapshot" mit drin...

Wie schon geschrieben, wenn auf dem TXT ein snapshot installiert ist, kannst Du die snapshots in der App mit anbieten. Wenn kein snapshot installiert ist, dann nicht!

Wer auf die snapshots umsteigen will, muß dann halt nur 1x manuell installieren. Wer das dann macht, weiß,was er tut... würde ich behaupten. Du kannst ja, wenn man snapshots installieren will, noch mal ne message box aufmachen und warnen und explizit bestätigen lassen... Dafür haben wir ja die erweiterte message box im TouchUI mit okay und cancel button.

Gruß
Peter
PHabermehl
 
Beiträge: 621
Registriert: 20 Dez 2014, 23:59
Wohnort: Bad Hersfeld
Alter: 45

Re: CFW weekly builds

Beitragvon ski7777 » 24 Mär 2017, 19:17

Oh, stimmt, dann habe ich eben beim testen die falsche zip erwischt. Ich werde einfach nach "snapshot" in der /etc/fw-ver.txt suchen, und wenn vorhanden eine Liste aller Releases zeigen.

Raphael
Benutzeravatar
ski7777
 
Beiträge: 669
Registriert: 22 Feb 2014, 15:18
Wohnort: Saarwellingen
Alter: 15

Re: CFW weekly builds

Beitragvon ski7777 » 24 Mär 2017, 20:17

Wie löse ich das?
Code: Alles auswählen
>>> lcl_ver = semantic_version.Version(Path('x/etc/fw-ver.txt').read_text())
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/raphael/ftcommunity-TXT/output/target/usr/lib/python3.5/site-packages/semantic_version/base.py", line 77, in __init__
  File "/home/raphael/ftcommunity-TXT/output/target/usr/lib/python3.5/site-packages/semantic_version/base.py", line 205, in parse
ValueError: Invalid version string: 'v0.9.3-rc+snapshot-20170323\n'
Benutzeravatar
ski7777
 
Beiträge: 669
Registriert: 22 Feb 2014, 15:18
Wohnort: Saarwellingen
Alter: 15

Re: CFW weekly builds

Beitragvon ski7777 » 24 Mär 2017, 23:02

Problem gefunden, wenn bei einem Build die Version in der fw-ver.txt mit der Tag Version übereinstimmen, wird das "v" übernommen. ein .replace("v", "") hat geholfen
Benutzeravatar
ski7777
 
Beiträge: 669
Registriert: 22 Feb 2014, 15:18
Wohnort: Saarwellingen
Alter: 15

Re: CFW weekly builds

Beitragvon PHabermehl » 24 Mär 2017, 23:07

Muss ich da beim build was ändern?
PHabermehl
 
Beiträge: 621
Registriert: 20 Dez 2014, 23:59
Wohnort: Bad Hersfeld
Alter: 45

Re: CFW weekly builds

Beitragvon ski7777 » 24 Mär 2017, 23:08

Benutzeravatar
ski7777
 
Beiträge: 669
Registriert: 22 Feb 2014, 15:18
Wohnort: Saarwellingen
Alter: 15

Nächste

Zurück zu TXT-Sonderprogrammierungen

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste