chore: add GitHub issue templates, PR template, and Arduino CI workflow#133
Open
pangerlkr wants to merge 5 commits into
Open
chore: add GitHub issue templates, PR template, and Arduino CI workflow#133pangerlkr wants to merge 5 commits into
pangerlkr wants to merge 5 commits into
Conversation
This template helps users report bugs with detailed information about their setup and the issue encountered.Adds the full .github/ infrastructure: - Bug report issue form (YAML, structured fields for firmware/hw/IDE versions) - Feature request issue form (YAML) - Pull request template with checklist - GitHub Actions workflow: Arduino sketch compile check on every PR/push
Added a feature request template for suggesting improvements.
Added a pull request template to guide contributors in providing necessary information and ensuring quality checks.
This workflow checks the compilation of the ESP32-DIV sketch on pushes and pull requests to the main branch, ensuring that the necessary libraries and board packages are installed before compiling.
Added a bug report template for ESP32-DIV firmware or hardware issues.
There was a problem hiding this comment.
Pull request overview
Adds GitHub community health files (issue templates, PR template) and a GitHub Actions workflow that compiles the ESP32-DIV Arduino sketch via arduino-cli on pushes/PRs to main. The goal is to standardize contributor input and catch build regressions in CI.
Changes:
- New issue templates (legacy markdown bug report plus structured YAML forms for bug reports and feature requests) and a PR template.
- New
arduino-compile.ymlworkflow that installs the ESP32 core, installs project libraries, copies bundled libraries, and compiles the sketch foresp32:esp32:esp32s3. - Optional artifact upload of the built
.bin/.elfonmainpushes.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
.github/workflows/arduino-compile.yml |
New CI workflow to install toolchain/libraries and compile the ESP32-DIV sketch. |
.github/PULL_REQUEST_TEMPLATE.md |
New PR template with type/hardware/checklist sections. |
.github/ISSUE_TEMPLATE/bug_report.yml |
Structured YAML bug report form. |
.github/ISSUE_TEMPLATE/feature_request.yml |
Structured YAML feature request form. |
.github/ISSUE_TEMPLATE/bug_report.md |
Legacy markdown bug report template (duplicates the YAML form). |
Comments suppressed due to low confidence (4)
.github/workflows/arduino-compile.yml:58
- The
Libraries/directory contains zip files (TFT_eSPI-master.zip,SmartRC-CC1101-Driver-Lib-master.zip) and aUser_Setup.h, not extracted Arduino libraries. A plaincp -r Libraries/* "$ARDUINO_LIB_DIR/"will copy the zip archives and the loose header into the libraries directory, which Arduino CLI will not treat as installed libraries. The zips need to be unzipped into$ARDUINO_LIB_DIR/, andUser_Setup.hneeds to be placed inside the extractedTFT_eSPIlibrary directory (overwriting the one shipped with it) for the project's display configuration to take effect. As written, this step will not actually install the bundled libraries and the compile step will likely fail (or, worse, silently use the wrong TFT_eSPI configuration if the Library Manager copy is picked up).
# ── 5. Copy bundled libraries (not on Library Manager) ───
- name: Install bundled libraries
run: |
ARDUINO_LIB_DIR=$(arduino-cli config dump | grep 'user:' | awk '{print $2}')/libraries
cp -r Libraries/* "$ARDUINO_LIB_DIR/"
.github/workflows/arduino-compile.yml:52
TFT_eSPIis installed both via the Arduino Library Manager (line 47) and is also bundled as a zip inLibraries/TFT_eSPI-master.zip. The bundled copy exists because the project requires a customizedUser_Setup.h. Installing the upstream version from Library Manager will conflict with—and likely shadow—the bundled customized version, so the sketch will be compiled against an incorrectly configured display driver. Consider removing"TFT_eSPI"from the Library Manager install list and only using the bundled version (after fixing the unzip/copy step below).
arduino-cli lib install \
"TFT_eSPI" \
"PCF8574" \
"XPT2046_Touchscreen" \
"NimBLE-Arduino" \
"RCSwitch" \
"arduinoFFT"
.github/workflows/arduino-compile.yml:57
- Parsing
arduino-cli config dump | grep 'user:' | awk '{print $2}'is fragile: the output is YAML and may contain other keys that include the substringuser:(e.g., nested under different sections), and indentation/quoting can break theawk '{print $2}'extraction. Prefer the dedicated commandarduino-cli config get directories.userwhich prints just the path, then append/libraries.
ARDUINO_LIB_DIR=$(arduino-cli config dump | grep 'user:' | awk '{print $2}')/libraries
.github/workflows/arduino-compile.yml:33
arduino/setup-arduino-cli@v1is the legacy major version. The current major isv2(as of 2024), and pinning to@v1will not receive maintenance updates. Consider upgrading toarduino/setup-arduino-cli@v2.
uses: arduino/setup-arduino-cli@v1
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+13
to
+18
| - 'ESP32-DIV/**' | ||
| - '.github/workflows/arduino-compile.yml' | ||
| pull_request: | ||
| branches: [main] | ||
| paths: | ||
| - 'ESP32-DIV/**' |
Comment on lines
+2
to
+3
| name: Bug Report | ||
| about: Report a problem with ESP32-DIV firmware or hardware |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds GitHub community health files and CI automation to improve contributor experience and code quality for the ESP32-DIV project.
Changes
.github/ISSUE_TEMPLATE/bug_report.mdStructured bug report template prompting contributors to include:
.github/ISSUE_TEMPLATE/bug_report.yml&feature_request.ymlYAML-based issue form templates for guided issue creation via GitHub's issue form UI.
.github/PULL_REQUEST_TEMPLATE.mdPR template with:
.github/workflows/arduino-compile.ymlCI workflow that automatically compiles the ESP32-DIV sketch on every push and pull request to
main. Installs all required libraries and the ESP32 board package viaarduino-cli.Motivation
The repository currently has no issue templates or PR templates, leading to inconsistent bug reports (many missing critical info like board version or serial output). This PR establishes baseline GitHub community standards and automated compile checking to catch build regressions early.
Testing
Files follow standard GitHub template formats. The CI workflow was validated against the existing library list in the project README and source code.