Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. Frage zur Veröffentlichung von Adapter Updates

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Frage zur Veröffentlichung von Adapter Updates

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      ticaki Developer last edited by ticaki

      @mcm57 sagte in Frage zur Veröffentlichung von Adapter Updates:

      www.iobroker.dev

      https://www.iobroker.dev
      🙂

      1 Reply Last reply Reply Quote 0
      • haus-automatisierung
        haus-automatisierung Developer Most Active last edited by haus-automatisierung

        Ich habe den kompletten Prozess mal für einen Adapter dokumentiert. ALLES und jedes Detail ist natürlich nicht enthalten, aber eventuell ein guter Überblick für Dich:

        https://www.youtube.com/watch?v=A9UETXyAmL4

        Ganz am Ende siehst Du,

        • wie das release-script angestoßen wird
        • dieses erstellt ein neues Tag und pusht die Änderungen ins Repo
        • das neue Tag stößt den GitHub Workflow test-and-release an und erstellt z.B. ein Release für GitHub
        • Damit wird (wenn NPM secret usw. richtig im Repository konfiguriert ist) automatisch die Version zusammengepackt und auf npm gestellt.
        mcm1957 1 Reply Last reply Reply Quote 4
        • mcm1957
          mcm1957 @haus-automatisierung last edited by mcm1957

          Wie im PR geschrieben werde ich dir voraussichtlich morgen einen PR schicken der die notwendigen Anpassungen am test-and-and release workflow vornimmt (wegen node 12-> 16 bis 20). Ich werd da auch den automatischen deploy auf npm aktivieren sodass du dann nur mehr dein Secret hinterlegen musst.

          @haus-automatisierung
          DANKE für den Link

          1 Reply Last reply Reply Quote 1
          • A
            AxLED last edited by

            @mcm57
            @haus-automatisierung

            danke für die vielen Antworten und den Link zum Video, dann versuche ich diese mal zusammenzufassen, wie ich diese verstanden habe.

            Das Portal https://www.iobroker.dev ist mir neu, sieht aber vielversprechend aus.

            • Anpassung Code in der eigenen Entwicklungsumgebung (bei mir Win10 mit Visual Studio Code)
            • Upload Code in sein eigenes github repository mittels folgender Befehle (im Arbeitsverzeichnis des Adapters ausführen, in meinem Fall: C:\iobroker\node_modules\ioBroker.powerfox2)
              git add .
              git status
              git commit -m "changes"
              npm test
              git push origin main
            • (Alternativ upload zu Github mittels Quellcodeverwaltung in Visual Studio Code)
            • ggfls. von weiteren Usern testen lassen

            Ab hier ist es mir noch nicht ganz klar wie es weitergeht:

            • wie geht es korrekterweise weiter oder gibt es mehrere Wege?
            • im Portal Portal https://www.iobroker.dev den Adapter Check ausführen?
            • Angezeigte Fehler im Code beheben und neu auf github hochladen und Adapter Check ausführen (diesen Schritt ggfls. wiederholen bis alles passt)
            • auf npm veröffentlichen mit npm run release
            • Versionsnummer des geänderten Adapters in sources-dist-stable.json in einem Fork von https://github.com/ioBroker/ioBroker.repositories durchführen und PullRequest durchführen
            • welchen der "unklaren" Schritte/Reihenfolge könnne alternativ über https://www.iobroker.dev erfolgen?

            Gruß

            AxLED

            T 1 Reply Last reply Reply Quote 0
            • T
              ticaki Developer @AxLED last edited by

              @axled sagte in Frage zur Veröffentlichung von Adapter Updates:

              Es gibt mehrere Wege. Deiner ist soweit ok. Es ist aber npm run test

              Bevor du eine PR für stable machst, lassen den Adapter mal etwas testen, ne Woche oder so. 🙂

              mcm1957 1 Reply Last reply Reply Quote 1
              • mcm1957
                mcm1957 @ticaki last edited by

                AxLED

                Zuerst mal eine Frage: Benutzt du Telegram? Interaktive Hilfe bei konkreten Schritten kann dort leichter und schneller erfolgen da 90% der Entwickelr dort mitlesen. Discord ist auch OK (da mit Telegramm synchronisiert) ur kann ich dir dort beim Einstieg nicht helfen.

                Zu deinem Ablauf:

                • Anpassung Code in der eigenen Entwicklungsumgebung (bei mir Win10 mit Visual Studio Code)

                Richtig, Ich benutze ebenfalls VS Code unter Win 10.

                • Upload Code in sein eigenes github repository mittels folgender Befehle (im Arbeitsverzeichnis des Adapters ausführen, in meinem Fall: C:\iobroker\node_modules\ioBroker.powerfox2)
                  git add .
                  git status
                  git commit -m "changes"
                  npm test
                  git push origin main
                  (Alternativ upload zu Github mittels Quellcodeverwaltung in Visual Studio Code)
                  ggfls. von weiteren Usern testen lassen

                Teilweise richtig 🙂

                Du kannst mit npm run test alles testen bevor du irgendwas committest. Die Tests laufen ja lokal.

                Bezüglich Upload zu Github verwende ich den Github Desktop: https://desktop.github.com/
                Ich empfinde ihn angenehmer als die vs Integration - aber das ist wie bei den meisten Dev-Tools Geschmacksache. Schau ihn dir einfach mal an. Die Commandline ist für 0815 Dinge nicht meine Erste Wahl. Sie zu kennen ist aber seht gut.

                Ab hier ist es mir noch nicht ganz klar wie es weitergeht:
                wie geht es korrekterweise weiter oder gibt es mehrere Wege?

                im Portal Portal https://www.iobroker.dev den Adapter Check ausführen?
                Angezeigte Fehler im Code beheben und neu auf github hochladen und Adapter Check ausführen (diesen Schritt ggfls. wiederholen bis alles passt)

                Ja das ist ein guter Zeitpunkt das mal zu tun

                auf npm veröffentlichen mit npm run release

                Dieser Befehl legt eine neue Release an. Das bedeutet, dass in diverse Files (package.json, io-package.json) die neue Versionsnummer eingetragen wird, releasenotes aktualisisert werden etc.

                Technisch werden die Änderungen dann auf Github kopiert und dort getagged. Der commit und das Taggen lösen den Github Workflow test-and-release aus. Ist dieser erfolgreich veröffentlicht er das Package (die neue Release) auch gleich auf npm.

                Sobald die Release auf npm veröffentlicht wurde wird diese binnen 24h im LATEST Repository zur Installation angeboten. Sinnvoller Weise eröffnest oder aktualisiserst du nun einen Thread im TESTER Bereich hier im Forum https://forum.iobroker.net/category/91/tester. (Falls du dort nicht posten darfs schreib hier z,B. Homoran an dass er dich freischaltet). Damit infirmierst du potenziell Testinterissierte dass es da was neues gibt.

                Nach frühestens eienr Woche kannst du dann die Adapterrelease in Stable veröffentlichen lassen sofern beim test im Latest keine ernsten Probleme entdeckt wurden. (Ausnahmen für Feuer-Hot-Fixes sind möglich, das sprengt aber hier den Rahmen. Gib einfach Bescheid, wenn du galubst dass das notwendig wäre.) Nach 14 bis 30 Tagen bekommst du ein ErinnerungsIssue im Repository falls du auf stable vergisst.

                Versionsnummer des geänderten Adapters in sources-dist-stable.json in einem Fork von https://github.com/ioBroker/ioBroker.repositories durchführen und PullRequest durchführen

                Zur Veröffentlichung in Stable am besten https://www.iobroker.dev verwenden. Alternativ direkt in Github auf der Webseite editieren (2te Wahl).
                Warum: ioborker.dev prüft gleich mal die wichtigsten Dinge und vor allem stellt es sicher, dass der PR technisch i.O. ist. Vergessene Strichpunkte und verlorene Zeichen gibts da nicht. Und bei einem Fork kriegt der PR öfter mal ältere commits mehr mit was mir im günstigsten Fall nur mehr Arbeit beim Checken macht - im Extremfall aber Nebenwirkungen hat 🙂

                welchen der "unklaren" Schritte/Reihenfolge könnne alternativ über https://www.iobroker.dev erfolgen?

                siehe oben 🙂

                P.S. PR mit Update der Testumgebung ist in Arbeit

                mcm1957 1 Reply Last reply Reply Quote 0
                • mcm1957
                  mcm1957 @mcm1957 last edited by

                  @AxLED

                  Ich habe jetzt mal ein paar PRs für dich erstellt:

                  https://github.com/Ax-LED/ioBroker.powerfox2/pull/9

                  Der PR aktualisiert die testumgebung auf aktuellen Stand.

                  https://github.com/Ax-LED/ioBroker.powerfox2/pull/11

                  Der PR aktualisiert das Releasescript auf aktuellen Stand

                  https://github.com/Ax-LED/ioBroker.powerfox2/pull/12

                  Der PR aktiviert dependabot. Dependabot hilft dir deine Abhängigkeiten auf akteullem Stand zu halten und erstellt automatisch PRs für den Update. Da du "ein wenig" veraltete Abhängigkeiten hast, kann es sein, dass da nach dem Update einige PRs erscheinen. Schau sie dir an und merge sie. Nachher solltes du unbedingt den Adapter neiu testen um allfällige Inkompatibiltäten zu entdecken (und zu beheben). Bitte beachte auch dass es sinnvoll ist VOR dem merge des PRs das im PR angegebene Token in Github einzutragen damit Patchänderungen (= kleine Änderungen) automatisch gemerged werden können.

                  Ich zieh mich dann mal aus dem Adapter einw enig zurück. Meld dich wenn du Hilfe brauchst (vorzugsweise auf Telegramm abder gerne auch hier). Bin sicher dass du Hilfe bekommsgt wenn du sie brauchst.

                  UND NOCHMALS DANKE für den Adapter und dass du deine Zeit dafür aufwendest !

                  mcm1957 created this issue in Ax-LED/ioBroker.powerfox2

                  closed Update test environment, fix linter errors at sources #9

                  mcm1957 created this issue in Ax-LED/ioBroker.powerfox2

                  closed update releasescript #11

                  mcm1957 created this issue in Ax-LED/ioBroker.powerfox2

                  closed activate dependabot #12

                  haus-automatisierung 1 Reply Last reply Reply Quote 2
                  • haus-automatisierung
                    haus-automatisierung Developer Most Active @mcm1957 last edited by

                    @mcm57 Danke auch Dich, für Deine unermüdliche Arbeit in allen Adaptern 🙂

                    mcm1957 1 Reply Last reply Reply Quote 0
                    • mcm1957
                      mcm1957 @haus-automatisierung last edited by

                      @AxLED

                      Disen Beitrag mal als Link für den Github PR. Inhalt folgt gleich 🙂

                      mcm1957 1 Reply Last reply Reply Quote 0
                      • mcm1957
                        mcm1957 @mcm1957 last edited by

                        @AxLED

                        Sodala - hier ist der besserer Platz für ausführlichere Diskussionen. PRs / Issues sind da nur zweite Wahl.

                        Du schriebst in https://github.com/ioBroker/ioBroker.repositories/pull/2946#issuecomment-1816273341

                        i could merge 2 of the 3 PR in https://github.com/Ax-LED/ioBroker.powerfox2/pulls, the 3rd one shows an error Ax-LED/ioBroker.powerfox2#11.
                        The 2 merged PR produced some more PRs in my repo, also with error.
                        I dont know how to move forward.
                        AxLED

                        Die Ursache des Merge Konflikts war, dass ich nicht beachtet habe, dasss ich den zweiten PR auf Basis des IST Standes erstellt habe und nicht auf Basis meines ersten PRs. Sorry.
                        @ticaki hat dir dazu schon geschrieben (DANKE) wie man auf Github mit Merge Konflikten umgeht und diese Beheben kann.

                        These are merge conflicts, the update of Axios has changed your package.json and therefore git cannot merge them without help.
                        https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-on-github
                        If your conflict is too complex for Github and you need to continue on the command line, please ask again.
                        The 2 merged PR produced some more PRs in my repo, also with error.
                        u can merge them. Error comes from missing token for auto merge.
                        other thing: its near impossible that the native change of io-package.json break ur adapter.

                        DANKE Tim.

                        Da das manulle Beheben eine Merge-Konflikts in package-lock (fast) unmöglich ist, hab ich einen neuen PR erstellt. Generell ist was wohl am besten bei einem Merge Konflikt in package-lock.json "irgendwas" zu committen und anschließen auf dem eigenen Rechner das File neu zu erstellen (= Löchen + mit npm i neu bauen).

                        Zu den zahlreichen anderen PRs mit roten X.
                        Wie @ticaki dir schonr ichtig mitgeteilt hat, die kommen davon dass dur nicht wie im PR geschrieben ein AUTOMERGE_TOKEN angelegt hats.
                        https://github.com/Ax-LED/ioBroker.powerfox2/pull/12

                        This PR activates dependabot.
                        
                        Dependabot creates update PRs to help keeping your dependencies up to date, paatch (and development minor) upodates will be merged automaticall, other PRs miust be reviewed and merged by you.
                        
                        To use automrge the following must be done:
                        
                        # In order to use this, you need to go to https://github.com/settings/tokens and
                        # create a Personal Access Token with the permission "public_repo".
                        # Enter this token in your repository settings under "Secrets" and name it AUTO_MERGE_TOKEN
                        

                        Sofern sie keine Merge Konflikte haben, kannst du sie manuell mergen. Um dein Token zu testen, kannst du aber auch in jeden PR als Kommentar posten "@dependebot recreate".
                        Der Einzrag @dependabot recreate" veranlasst dependabot den PR neu zu erstellen. Dann sollten die Actions neu anlaufen und wenn das Token passt dann sollte der PR gemerged werden.

                        Ich würde dir auch Testgründen den zweiten Weg raten.

                        Bitte beachte, dass sich die PRs gegenseitig beeinflussen. Du solltes als erstes (!) den releasescript PR mergen. Dann kann dependabot seine PRs ggF anpassen.

                        Mcm1957

                        Ax-LED created this issue in ioBroker/ioBroker.repositories

                        closed Update update powerfox2 to 0.0.13 #2946

                        mcm1957 created this issue in Ax-LED/ioBroker.powerfox2

                        closed activate dependabot #12

                        mcm1957 1 Reply Last reply Reply Quote 0
                        • mcm1957
                          mcm1957 @mcm1957 last edited by

                          Und nochmal die Frage:
                          Telegramm?
                          Discord?

                          Wär halt interaktiver als hier das Forum für solche Fälle...

                          A 1 Reply Last reply Reply Quote 0
                          • A
                            AxLED @mcm1957 last edited by

                            @mcm57
                            @ticaki

                            danke für eure unermüdliche Hilfe. Austausch gerne über discord.
                            Schaue mir jetzt mal die ganzen ToDos in euren Anmerkungen an und versuche diese umzusetzen.

                            Gruß

                            AxLED

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            797
                            Online

                            31.7k
                            Users

                            79.8k
                            Topics

                            1.3m
                            Posts

                            4
                            14
                            608
                            Loading More Posts
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes
                            Reply
                            • Reply as topic
                            Log in to reply
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                            The ioBroker Community 2014-2023
                            logo