Skip to content

Commit 9bb4740

Browse files
committed
docs: enhance contributing guide with Wokwi simulation diagrams and CI/CD setup instructions
1 parent f41e6e9 commit 9bb4740

File tree

1 file changed

+53
-1
lines changed

1 file changed

+53
-1
lines changed

docs/en/contributing.rst

Lines changed: 53 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,8 @@ To enable compiling the example in the CI system, you need to add a ``ci.yml`` f
135135
The ``ci.yml`` file is used to specify some configurations for the CI system, like required configurations, supported targets, and more.
136136
You can enable compilation of the example by adding targets under the ``upload-binary`` directive in the ``ci.yml`` file.
137137

138-
Here is an example of a ``ci.yml`` file that enables compilation for ESP32 and ESP32-S3 targets:
138+
Here is an example of a ``ci.yml`` file that enables compilation for ESP32 and ESP32-S3 targets.
139+
This configuration adds default diagrams for Wokwi simulations with just dev boards.
139140

140141
.. code-block:: yaml
141142
@@ -144,6 +145,57 @@ Here is an example of a ``ci.yml`` file that enables compilation for ESP32 and E
144145
- esp32
145146
- esp32s3
146147
148+
If you want to add custom diagrams for Wokwi simulations, you can add the ``diagram.<target>.json`` file in the same folder as the sketch.
149+
The ``<target>`` is the target name (e.g., ``esp32``, ``esp32s3``, etc.). You can create the diagram using ``docs-embed`` tool installed together with documentation building tools.
150+
151+
To create the diagram, run the ``docs-embed init-diagram --platforms esp32`` command in the sketch folder.
152+
You can edit them and before you run the documentation build command, you have to convert the diagram config to the ``ci.yml`` file format by running:
153+
154+
.. code-block:: bash
155+
156+
docs-embed ci-from-diagram
157+
# OR
158+
docs-embed ci-from-diagram --override
159+
160+
There is also opposite command to generate diagram from ``ci.yml`` file:
161+
162+
.. code-block:: bash
163+
164+
docs-embed diagram-from-ci
165+
166+
167+
The documentation building tools is working only with `ci.yml` files, so `diagram.<target>.json` files are just for configuration using GUI tool.
168+
169+
Please keep in mind that the ``ci.yml`` does not store the chip and its position on the diagram, just the components and their connections (to save space).
170+
The chip is added automatically and positioned vertically in the center of the diagram (same as the default behavior of the `docs-embed init-diagram` command).
171+
172+
To run the documentation build command locally and in the CI system, you need to add those environment variables:
173+
174+
* ``DOCS_EMBED_ABOUT_WOKWI_URL``: URL to the info about Wokwi (default: ``https://docs.espressif.com/projects/arduino-esp32/en/latest/third_party/wokwi.html``)
175+
* ``DOCS_EMBED_BINARIES_DIR``: Path to the folder where the pre-compiled binaries are stored (default: ``_static/binaries``)
176+
* ``DOCS_EMBED_LAUNCHPAD_URL``: URL to the launchpad page (default: ``https://espressif.github.io/esp-launchpad/``)
177+
* ``DOCS_EMBED_WOKWI_VIEWER_URL``: URL to the Wokwi iframe viewer (default: ``https://wokwi.com/experimental/viewer``)
178+
179+
180+
CI/CD
181+
*****
182+
183+
This repository uses GitHub Actions for Continuous Integration and Continuous Deployment (CI/CD).
184+
If you forked the repository, you can enable them under the `Actions` tab in your forked repository.
185+
186+
To enable building the documentation, you need to set up additional secrets and environment variables in your forked repository.
187+
188+
Secrets
189+
^^^^^^^^^^^^
190+
* ``DOCS_SERVER``: The server where the documentation will be deployed
191+
* ``DOCS_PATH``: The path where the documentation will be deployed on the server
192+
193+
194+
Variables
195+
^^^^^^^^^
196+
197+
They are described above in the `Examples` section.
198+
147199
Testing
148200
*******
149201

0 commit comments

Comments
 (0)