<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    Ludovic,<br>
    <br>
    there actually is a Travis CI workflow defined (see
<a class="moz-txt-link-freetext" href="https://github.com/openvehicles/Open-Vehicle-Monitoring-System-3/blob/master/.travis.yml">https://github.com/openvehicles/Open-Vehicle-Monitoring-System-3/blob/master/.travis.yml</a>),
    but that apparently stopped working due to unknown reasons. My
    impresssion was, these CI tools add some comfort but need continuous
    maintenance.<br>
    <br>
    Your workflows catch/handle a lot more cases than the old Travis
    workflow. This would be quite nice to have, especially with heading
    towards IDF v4/v5 & different hardware platforms to support.<br>
    <br>
    My 2 cents: I don't see a lock-in issue here, it's just a GitHub
    addon, building is always possible without. Github itself is
    completely optional, as are all other Git hosters.<br>
    <br>
    Regards,<br>
    Michael<br>
    <br>
    <br>
    <div class="moz-cite-prefix">Am 07.06.23 um 11:15 schrieb Ludovic
      LANGE:<br>
    </div>
    <blockquote type="cite"
      cite="mid:32f5b50d-29f9-3569-efce-99c4f2f212aa@lange.nom.fr">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <p>Dear list,</p>
      <p>I've been playing a little with GitHub's automatic builds / CI
        for a few months, and I'm thinking about having it in master.</p>
      <p>The advantages I can think of would be:</p>
      <ul>
        <li>Ability to "catch" early on any incompatibility we could
          introduce in a PR. Still in a transition period between
          ESP-IDFv3.3 - the official builds, and ESP-IDFv5.x (the
          future, I hope, once all the issues are ironed out) ; it can
          add some value in trying to build the firmware for different
          combinations, and thus with different compiler versions /
          libraries versions.</li>
        <li>It could also be a backup build system for the nightly /
          releases firmwares. Hosting, compiling there is free of charge
          for public GitHub projects</li>
      </ul>
      <p>Possible concerns:</p>
      <ul>
        <li>Very tied to GitHub's hosting and API - vendor lock-in<br>
          However a) it's completely isolated in its own directory, and
          b) some of GitHub's competitors have a similar mechanism
          (GitLab, ...)</li>
      </ul>
      <p><br>
      </p>
      <p>In my tests, I'm using it to:</p>
      <ul>
        <li>Ensure that the documentation always compile without any
          warning. Sometime, we have very small issues that can impact
          the visual rendering of the HTML, and this step can trigger
          when the compiler emits a warning (or error)</li>
        <li>Ensure that the changes I'm doing are building without error
          for a "matrix" of different environments:</li>
        <ul>
          <li>target: ESP32 (but could also be other processor of the
            Espressif portfolio, as supported by the build chains: -S2,
            -S3, -C2, -C3, -C6, -H2 ...)</li>
          <li>ESP-IDF version : v3.3.4 (our current), v4.4 branch, v5.0,
            v5.0, v5.0.1, v5.0.2, v5.0 branch (could also use v5.1
            branch and latest, but compile errors from time to time)</li>
          <li>Mongoose version: 7.9, 7.10, 6.11 (our current)<br>
          </li>
        </ul>
      </ul>
      <p><br>
      </p>
      <p>If you want to have a look, please check:</p>
      <ul>
        <li>Some of the automated builds here <a
            class="moz-txt-link-freetext"
href="https://github.com/llange/Open-Vehicle-Monitoring-System-3/actions"
            moz-do-not-send="true">https://github.com/llange/Open-Vehicle-Monitoring-System-3/actions</a></li>
        <li>A set of corresponding build recipes here
          <a class="moz-txt-link-freetext"
href="https://github.com/llange/Open-Vehicle-Monitoring-System-3/tree/build-master/.github/workflows"
            moz-do-not-send="true">https://github.com/llange/Open-Vehicle-Monitoring-System-3/tree/build-master/.github/workflows</a></li>
        <li>The output of a random build:</li>
        <ul>
          <li>The log of commands:
            <a class="moz-txt-link-freetext"
href="https://github.com/llange/Open-Vehicle-Monitoring-System-3/actions/runs/5193543334/jobs/9364221425"
              moz-do-not-send="true">https://github.com/llange/Open-Vehicle-Monitoring-System-3/actions/runs/5193543334/jobs/9364221425</a></li>
          <li>The build artefacts:
            <a class="moz-txt-link-freetext"
href="https://github.com/llange/Open-Vehicle-Monitoring-System-3/suites/13419490939/artifacts/735285471"
              moz-do-not-send="true">https://github.com/llange/Open-Vehicle-Monitoring-System-3/suites/13419490939/artifacts/735285471</a>
            (NB: Do not flash ! Just an example :-))</li>
        </ul>
      </ul>
      <p><br>
      </p>
      <p>I'd be happy to have some feedback about the interest (or not)
        to have this in master.</p>
      <p>For that the next plans would be:</p>
      <ul>
        <li>Step1 : a PR (to be written) including all these config
          files in <root>/.github/workflows</li>
        <li>Step2 : a configuration of our GitHub repo to :</li>
        <ul>
          <li>activate the CI actions</li>
          <li>After some time, mark some of these actions as "required"
            in PRs (Can be overriden of course, but will show the
            creator of the PR how to improve the PR and have it work
            across all the combinations of environments we aim to
            support)<br>
          </li>
        </ul>
      </ul>
      <p><br>
      </p>
      <p>Thanks for your time.</p>
      <p><br>
      </p>
      <p>Regards,<br>
      </p>
      <br>
      <fieldset class="moz-mime-attachment-header"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
OvmsDev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OvmsDev@lists.openvehicles.com">OvmsDev@lists.openvehicles.com</a>
<a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a>
</pre>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">-- 
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26</pre>
  </body>
</html>