Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test release dev #2

Open
wants to merge 209 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
209 commits
Select commit Hold shift + click to select a range
f8d56bd
Fix typo in serial protocol docs
hasheddan Apr 8, 2023
806af0e
Support more recent reedsolo packages
dobairoland Apr 12, 2023
637c0db
build(arm): add pip extra url for github action build
peterdragun Apr 14, 2023
6779495
ci: Fix libffi symlinks for cryptography>=40
radimkarnis Apr 17, 2023
37e75de
espefuse: Prevent burning XTS_AES and ECDSA keys into BLOCK9 (BLOCK_K…
KonstantinKondrashov Apr 3, 2023
660cd29
image_info: Display disabled WP pin as disabled
xyzzy42 Apr 20, 2023
a7a3576
image_info: Print chip ID's name if known
xyzzy42 Apr 20, 2023
aad3b87
tests: Make the testsuite Windows compatible
radimkarnis Mar 20, 2023
b1e355b
espefuse: Adds external esp instance
KonstantinKondrashov May 1, 2023
0b3524f
espefuse: Improve efuse error viewing
KonstantinKondrashov Apr 25, 2023
f318f82
espefuse: Explicit setting of efuse time settings
KonstantinKondrashov Apr 25, 2023
5f2d20d
docs(Boot log): Add all esp targets to cover boot troubleshooting
peterdragun Apr 25, 2023
18e2cf6
fix: USB-JTAG-Serial PID detection error
fuzeman May 8, 2023
b188bdd
esptool: Move bootdesc on the top of the ram segment
KonstantinKondrashov Apr 28, 2023
e186381
espefuse: Move some vars under init method to speedup tool after addi…
KonstantinKondrashov Oct 7, 2022
4c41904
espefuse: Adds yaml efuse description files for all chip
KonstantinKondrashov Oct 6, 2022
1c728c2
efuse(H2): Adds RF Calibration Information
KonstantinKondrashov May 18, 2023
7377fdb
espsecure: Improve error message for incorrect PEM format
dobairoland May 15, 2023
0849c38
bugfix(usb_jtag_serial): Autofeed super watchdog (SWD) to avoid reset…
radimkarnis May 11, 2023
b2df4a1
esptool: Read 64-bit MAC address on C6 and H2
KonstantinKondrashov May 22, 2023
40cd69e
bugfix: Adjust wrapper scripts to not import themselves
radimkarnis May 22, 2023
333fa4e
bugfix(espsecure): Print a clear error message if incompatible OpenSS…
radimkarnis May 22, 2023
7812df2
fix: inconsistent usage of dirs separator
Massimiliano-solutiontech May 25, 2023
024cda3
feat(esptool): add option to dump whole flash based on detected size
peterdragun May 16, 2023
2b6d5e3
Update version to v4.6
radimkarnis May 29, 2023
f7a7f92
Update version to v4.7-dev
radimkarnis May 29, 2023
4ffc399
fix(ESP32-S3): Correct RTC WDT registers to fix resets during flashing
radimkarnis Jun 1, 2023
ccc1648
Update version to v4.6.1
radimkarnis Jun 1, 2023
7e6fe29
Update version to v4.7-dev
radimkarnis Jun 1, 2023
a1a5135
docs: add explanation for flash_id example to avoid confusion
peterdragun May 24, 2023
f8e5c0c
docs(boot-log): fix list formatting
peterdragun May 25, 2023
11216a7
docs: add c2, c6 and h2 as build targets
peterdragun May 25, 2023
321b7a4
fix(compressed upload): Accept short data blocks with only Adler-32 b…
radimkarnis Jun 5, 2023
f517a19
fix(CH9102F): Suggest to install new serial drivers if writing to RAM…
radimkarnis Jun 6, 2023
d8ce944
esptool & espefuse: Fix byte order in MAC (for C6 and H2)
KonstantinKondrashov Jun 7, 2023
c630577
Update version to v4.6.2
radimkarnis Jun 12, 2023
b03a219
Update version to v4.7
radimkarnis Jun 12, 2023
b9de209
change: Add conventional precommit linter
radimkarnis Jun 28, 2023
486e02f
ci(pre-commit): Update version of `conventional-precommit-linter`
tomassebestik Jun 30, 2023
5cbcc6c
feat(get_security_info): Improved the output format and added more
AdityaHPatwardhan Jun 23, 2023
99076bc
fix(esp32-c2): Enable flashing in secure download mode
radimkarnis Jul 17, 2023
7971aa9
ci: Add DangerJS checks to GL and GH
radimkarnis Jul 18, 2023
694b936
feat(esptool): Add PICO package for ESP32S3 and flash/psram efuses
KonstantinKondrashov Jul 6, 2023
3f86e1e
feat(esptool): Add tests for get_chip_features
KonstantinKondrashov Jul 19, 2023
1a1ea37
feat(esptool): Add new packages for ESP32C3 and flash efuses
KonstantinKondrashov Jul 10, 2023
2d1c868
fix(expand file args): Correctly print the expanded command
radimkarnis Jul 24, 2023
7fc22ca
feat(espsecure): Allow prompting for HSM PIN in read_hsm_config
rretanubun Jul 12, 2023
6dd8547
fix(dangerGH): Update token permissions - allow Danger to add comment…
tomassebestik Jul 25, 2023
a99ccfa
fix(elf2image): fix text/rodata mapping overlap issue on uni-idrom bu…
esp-wzh Jul 26, 2023
5ad6e75
fix: assert in esp32 exclusive workaround
esp-wzh Jul 25, 2023
beb0796
docs: Add other resources page
radimkarnis Jul 26, 2023
8bb82ae
fix(autodetection): Remove the ESP32-S2 ROM class from get_security_i…
radimkarnis Jul 27, 2023
b1f819f
change(pre-commit): Bump version conventional-precommit-linter to 1.2.1
tomassebestik Aug 1, 2023
ab1c19a
feat(esptool): added target to esp32p4
Icarus113 Jul 27, 2023
6c2efdd
feat(espefuse): Add support for esp32p4 chip
KonstantinKondrashov Jul 27, 2023
e819927
fix: Fix redirection of STDOUT
radimkarnis Aug 8, 2023
96dd81a
fix(danger-github): Fir Danger GitHub token permission
tomassebestik Aug 22, 2023
10fbb4b
ci(danger-github): Fix github-action-bot permissions for posting Dang…
tomassebestik Aug 23, 2023
2714ebe
ci: Shared danger to local stage (remove possible double CI pipelines)
tomassebestik Aug 23, 2023
b0a3968
ci: add 'flake8-import-order' as a dependecy to flake8
peterdragun Aug 25, 2023
7b547c9
fix(bin_image): Check only ELF sections when searching for .flash.app…
radimkarnis Sep 12, 2023
d1d9cfc
feat(efuse): ESP32P4 adds ecdsa_key support
KonstantinKondrashov Aug 23, 2023
aa22553
feat(efuse): Update key purpose table and tests
KonstantinKondrashov Sep 12, 2023
31e08c6
feat(esp32-s3): Support >16MB quad flash chips
radimkarnis Sep 6, 2023
3b8ea4f
ci(dev_release): Upload dev releases to PyPI with GH Actions
radimkarnis Sep 19, 2023
be492a4
ci: fix pipeline for building docs
peterdragun Sep 8, 2023
11a2864
feat(merge_bin): add support for uf2 format
peterdragun Aug 23, 2023
102a877
feat(esp32c3): Support ECO6 and ECO7 magic numbers
radimkarnis Sep 26, 2023
21e8d2f
ci(gitlab_ci): Change only/except syntax to rules
radimkarnis Sep 26, 2023
06b938e
fix(flasher_stub): fix usb-serial-jtag enabled non-related intr source
esp-wzh Sep 25, 2023
fc878cf
fix(loader): Could not open serial port message adjusted
jakub-kocka Sep 20, 2023
b7ecd77
ci(gitlab): Fix deploying docs to production
radimkarnis Oct 3, 2023
ebc12d5
ci(github): Fix pyinstaller builds on ubuntu
radimkarnis Oct 3, 2023
621c8e1
docs(basic-commands): added note for PowerShell users for merge_bin c…
jakub-kocka Oct 5, 2023
6c81490
feat: Add support for Python 3.12
radimkarnis Oct 9, 2023
114dc30
feat(loader): Added hints for some serial port issues when rising por…
jakub-kocka Oct 11, 2023
80bdef4
feat: add support for get_security_info on esp32c3 ECO7
peterdragun Oct 17, 2023
328832d
docs(troubleshooting): Explain issues when flashing with USB-Serial/J…
radimkarnis Oct 19, 2023
c147694
feat(espefuse): Update the way to complete the operation
KonstantinKondrashov Oct 19, 2023
49dbfaf
docs(boot_mode_selection): Correct secondary strapping pin boot mode …
radimkarnis Oct 25, 2023
51e1de2
feat(espefuse): Adds efuse ADC calibration data for ESP32H2
KonstantinKondrashov Oct 4, 2023
35e23d4
feat(rfc2217_server): Add hard reset sequence
20162026 Oct 26, 2023
f9b6179
feat(elf2image): add ram-only-header argument
almir-okato Sep 21, 2023
b1c778c
feat(esp32p4): Stub flasher support
radimkarnis Nov 1, 2023
68343c9
refactor(stub_flasher): Cleanup, make adding new targets easier
radimkarnis Nov 1, 2023
d7580de
feat: add support for intel hex format
peterdragun Nov 1, 2023
0536a6b
feat(xip_psram): support xip psram feature on esp32p4
Icarus113 Nov 6, 2023
005c3e3
fix(espefuse): Fix ECDSA_FORCE_USE_HARDWARE_K for ECDSA key (esp32h2)
KonstantinKondrashov Nov 7, 2023
fcf2277
feat(espefuse): Support XTS_AES_256_KEY key_purpose for ESP32P4
KonstantinKondrashov Nov 7, 2023
e2a24ca
feat(spi_connection): Support --spi-connection on all chips
radimkarnis Nov 9, 2023
8a5fb4e
fix(spi_connection): Unattach previously attached SPI flash
radimkarnis Nov 9, 2023
35dfbde
fix(tests/intelhex): make sure file is closed on Windows
peterdragun Nov 7, 2023
6ffa14b
fix(load_ram): check for overlaps in bss section
peterdragun Nov 10, 2023
64cefc8
fix(esptool): Rephrase the --ram-only-header command message
Nov 22, 2023
936f26b
fix(test_esptool): Fixed connection issue on Windows
jakub-kocka Nov 14, 2023
4e4b881
fix(esp32c2): Recommend using higher baud rate if connection fails
jakub-kocka Nov 9, 2023
43906a5
docs(serial-protocol): add images and flowchart
peterdragun Nov 22, 2023
b8b5954
fix: fixed exit() to be used from right module
jakub-kocka Nov 28, 2023
6284a83
fix(testloadram): Windows assertion error
jakub-kocka Nov 20, 2023
d0873e3
docs(advanced-topics): Fixed strapping pin for Automatic Bootloader s…
jakub-kocka Nov 20, 2023
1abecfb
ci(commitizen): Automatic changelog, revamp GH release process
radimkarnis Dec 5, 2023
0d31643
ci(dangerjs_gh): Use new shared-github-dangerjs linter
radimkarnis Dec 5, 2023
38efd90
change(pre_commit): Bump pre-commit checks
radimkarnis Dec 6, 2023
0b49bc2
fix(esp32c2): Added get_flash_cap and get_flash_vendor
jakub-kocka Nov 28, 2023
5b79bb2
feat(test_esptool): Added test for embedded and detected flash size m…
jakub-kocka Dec 11, 2023
af5e8d0
change: Update version to 4.7.0
radimkarnis Dec 13, 2023
dc67f3b
fix(esptool): Remove the shebang from uf2_writer.py
befeleme Dec 14, 2023
85915e7
ci(danger): Disable changelog update checks
radimkarnis Dec 19, 2023
1595874
feat(esp32c5): add target esp32c5 beta3
L-KAYA Dec 20, 2023
d15a58a
ci(dev_releasing): Let patch_dev_release.py accept any version specifier
radimkarnis Jan 2, 2024
3e1bfa2
fix: ignore resetting on unsupported ports
peterdragun Dec 18, 2023
35f0456
fix(esptool): Proper alignment for SoCs with offset load
Dec 15, 2023
b1aa779
fix(read_flash): flush transmit buffer less often to inrease throughput
peterdragun Jan 3, 2024
220e4b1
fix(read_flash): add flash size arg to enable reading past 2MB withou…
peterdragun Jan 10, 2024
c9ccce6
feat(espefuse): Adds new efuses for esp32c6 and esp32h2
KonstantinKondrashov Dec 5, 2023
19305a8
feat(espefuse): check_error --recover chip even if there are num_errors
KonstantinKondrashov Jan 16, 2024
faa88a7
feat: add advisory port locking
peterdragun Jan 16, 2024
5861fb7
fix: Index image segments from 0 instead of 1
Jan 15, 2024
b8f69d9
ci: Edit tests to take new segment indexing into account
Jan 16, 2024
a95aa8d
ci: Add ESP32-P4 target and tests
radimkarnis Jan 18, 2024
4ed54e8
docs: Add instructions on how to update
radimkarnis Jan 17, 2024
85a3e1f
feat(espefuse): Postpone some efuses to burn them at the very end
KonstantinKondrashov Nov 25, 2023
aea43c4
fix(merge_bin): treat files starting with colon as raw files
peterdragun Jan 19, 2024
2c882cc
change(test): generate valid UTF8 binaries for UF2 tests
peterdragun Jan 19, 2024
ae7f1cf
fix: Fixed glitches on RTS line when no_reset option on Windows
jakub-kocka Jan 24, 2024
859643e
feat(esp32p4): Enable USB-serial/JTAG in flasher stub
peterdragun Jan 19, 2024
4987d5a
fix: close file gracefully in espsecure
gnought Jan 29, 2024
f5bb8bc
feat: Use ruff instead of flake8 and black both in pre-commit and CI
Jan 22, 2024
334e616
docs(esptool): Reflect change from flake8 and black to ruff
Jan 26, 2024
50622b5
docs: Correct bootloader offsets
radimkarnis Jan 30, 2024
df4dc50
refactor(style): Comply with black>=24.0.0
radimkarnis Jan 30, 2024
0796576
ci: Use ruff instead of flake8 and black in github CI
Feb 1, 2024
65a3b5d
fix: ROM doesn't attach in-package flash chips
jakub-kocka Jan 30, 2024
c070031
feat(err_defs): Add ROM bootloader flash error definitions
radimkarnis Jan 30, 2024
7e034ca
ci(pyinstaller): Limit version to v5.3.12
radimkarnis Feb 5, 2024
a9f0603
ci(changelog_template): Add a reminder about virus scanning
radimkarnis Feb 5, 2024
ebb8b80
feat(espefuse): Allow the espefuse.py to work when coding scheme == 3
klondi Jan 28, 2024
9c0d990
ci(gh_actions): Start build jobs by platform, specify runners
radimkarnis Feb 7, 2024
4b08466
docs(sphinx-lint): Add sphinx-lint to pre-commit, GH and GL pipelines
Feb 12, 2024
a69d5b6
docs(sphinx-lint): Fix issues reported by sphinx-lint before adding i…
Feb 5, 2024
7d732d6
docs(sphinx-lint): Add previous commit to .git-blame-ignore-revs
Feb 12, 2024
d2f15bf
docs: add esp32p4 target to docs
peterdragun Feb 9, 2024
7a9de1c
ci(github-actions): update ci actions for Jira integration
tomassebestik Feb 14, 2024
f0cb79a
feat(espefuse): Adds new efuses for esp32p4
KonstantinKondrashov Feb 16, 2024
0d981da
feat(espefuse): Update adc_info commands for all chips
KonstantinKondrashov Feb 15, 2024
13cf59f
ci: add pre-commit hook for codespell
peterdragun Feb 16, 2024
dca10bc
change: fix typos and spelling errors by codespell
peterdragun Feb 16, 2024
7bb6b7a
fix(intelhex): catch unicode decode errors when convering hex to binary
peterdragun Feb 22, 2024
21850b1
feat(esptool): Adds wafer and pkg versions
KonstantinKondrashov Feb 22, 2024
e3324a5
feat: print flash voltage in flash_id command
peterdragun Feb 16, 2024
1890445
feat(cmds/write_flash): Recalculated SHA digest for image binary
jakub-kocka Feb 22, 2024
0f800da
feat: Added warning when secure boot enabled
jakub-kocka Feb 27, 2024
d9c19c1
refactor(test/esptool): Updated tests according to SHA recomputation …
jakub-kocka Feb 28, 2024
c8d49fa
docs: Updated documentation to reflect changes of SHA256 digest recom…
jakub-kocka Feb 29, 2024
d7dc6a3
feat(esp32c5): base support of esp32c5 mp (no stub)
L-KAYA Mar 12, 2024
eda513d
feat(esp32c5): skipped the stub check for esp32c5 mp
L-KAYA Mar 12, 2024
3158085
ci(esp32c5): add host test for esp32c5
L-KAYA Mar 13, 2024
321887e
feat(esp32c61): add c61 basic flash support (no_stub)
wanckl Feb 28, 2024
2dc7d1f
feat(espefuse): Updates efuses for C5 and C61
KonstantinKondrashov Mar 13, 2024
296a635
fix(esptool): clear boot control register on ESP32-S3
peterdragun Mar 11, 2024
d44592d
fix(secure_download_mode): Disable secure boot detection and print mo…
radimkarnis Mar 14, 2024
a561630
feat: add UF2 IDs for ESP32-C5 and ESP32-C61
peterdragun Mar 13, 2024
353867e
feat(esp32-p4): add spi-connection restriction to ROM class
peterdragun Feb 29, 2024
8e1c6a7
ci: Add option to run tests with esp-flasher-stub
dobairoland Mar 13, 2024
92ca47a
ci: Remove the deploy_docs_production job from the scheduled pipeline
dobairoland Mar 15, 2024
26751c5
revert: clear boot control register on ESP32-S3
radimkarnis Mar 19, 2024
d95ebdf
feat(esp32s3): clear boot control register on hard reset
peterdragun Mar 20, 2024
65ab3b8
feat(espefuse): Improves help for burn_efuse cmd
KonstantinKondrashov Mar 25, 2024
6c17499
fix(espefuse): Fix burn_key for ECDSA_KEY, it can read pem file
KonstantinKondrashov Mar 29, 2024
dcbfedc
ci: Test with latest Python
dobairoland Apr 4, 2024
5dc7914
ci: add mypy checks to pre-commit
peterdragun Apr 5, 2024
6f45b00
fix: fix type annotation to comply with mypy
peterdragun Apr 5, 2024
665b2ed
ci: Add Secure Download Mode tests
radimkarnis Apr 5, 2024
934d8af
feat(espefuse): Added check for correctness of written data
KonstantinKondrashov Jan 26, 2024
97b1716
fix(espefuse): Fix efuse base addr for esp32c5 MP
KonstantinKondrashov Apr 19, 2024
8c64674
feat(esploader): Enable context manager for esp instances
radimkarnis Apr 22, 2024
5150144
feat(espefuse): Allow filtering efuses based on command line arguments
Apr 22, 2024
416dea2
docs(flashing): Fixed a typo in /docs/en/esptool/flashing-firmware.rst
greendoescode Apr 26, 2024
d690a33
ci(hsm_tests): Run tests in a virtual env
radimkarnis Apr 29, 2024
b23c15c
change(detect_chip): Fixed a spelling mistake
BoryaGames May 3, 2024
0fd703a
feat(write_flash): retry flashing if chip disconnects
peterdragun Apr 25, 2024
d4e3729
fix: sort segments if ram_only_header is used
sylvioalves May 17, 2024
7190ed5
fix: ram_only_header: pad flash segment to next boundary
sylvioalves May 19, 2024
7b226ed
fix(elf2image): add ELF flags to merge condition
May 20, 2024
4451e26
fix: Do not append SHA256 when `--ram-only-header`
tmedicci May 28, 2024
40621e2
docs(troubleshooting): Mention the ESP Hardware Design Guidelines docs
radimkarnis May 29, 2024
e491378
feat(espsecure): Add support for secure boot v2 using ECDSA-P384 sign…
Harshal5 May 27, 2024
22b0381
ci(espsecure): Add tests for secure boot using ECDSA-P384 curve
Harshal5 May 27, 2024
9bff02c
feat(esp32-p4): Add ECO1 magic number
radimkarnis Jun 5, 2024
ea4c69e
fix(espefuse): Use stub class if stub flasher is running
radimkarnis Jun 6, 2024
2579e12
feat(reset): Automatically reconnect if port disconnects during reset
andrewleech May 22, 2024
69b8ffa
feat(reset): Apply recconections to the whole reset sequence, not lin…
radimkarnis Jun 13, 2024
92e1b3a
fix(esp32-c5): Use a longer reset delay with usb-serial/jtag to stabi…
mythbuster5 Jun 7, 2024
3c2c60b
feat(espefuse): Adds incompatible eFuse settings check for S3
KonstantinKondrashov Jun 13, 2024
351d51d
feat(espefuse): Adds efuse dump formats: separated(default) and unite…
KonstantinKondrashov May 13, 2024
5339354
feat(espefuse): Adds support extend efuse table by user CSV file
KonstantinKondrashov Apr 6, 2024
d3651ac
feat(esptool): Print key_purpose name for get_security_info cmd
KonstantinKondrashov May 16, 2024
b2af8da
change: use pyproject.toml instead of setup.py
peterdragun Jun 18, 2024
8681f0d
change: move tools configuration to pyproject.toml
peterdragun Jun 18, 2024
39768fb
ci(host_tests): Split target jobs and run in parallel
jakub-kocka Jun 20, 2024
a1afaa5
change(port_detection): Filter out BT and WLAN debug serial ports on …
radimkarnis Jun 24, 2024
7df0218
ci: fix esptool_lint GitHub action
peterdragun Jun 27, 2024
9388ff4
ci(pre-commit): Update version of commit-linter
Dzarda7 Jun 26, 2024
4cc923f
feat(esp32c5): Add UART stub support
KonstantinKondrashov Apr 19, 2024
bce33d8
feat(esp32c5): Add USB-serial/JTAG stub support
Dzarda7 Jun 28, 2024
531c90c
ci(dev-release): use commitizen for dev release
peterdragun Jul 16, 2024
ef96323
change: remove failing part of action for test
peterdragun Jul 16, 2024
e8efc1e
change: Update version to 4.8.0.dev5
peterdragun Jul 16, 2024
97d5224
fix: this is fix for ci config to test release
peterdragun Jul 16, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,6 @@ b57f69bd13222b1753446a0f7c17386eda1dc2c9

# Formating with Black
45f1da954eeab4897fb852894fae0c1b901b3926

# Refactoring documentation
6282f98dbfca58add4992c259c0aac3c3ec64d3f
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug-report-no-hw.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ body:
id: version
attributes:
label: Esptool Version
description: The output of `git describe` if working with the sources, output of `esptool.py version` otherwise. If possible, consider updating esptool.
description: The output of `git describe` if working with the sources, output of `esptool.py version` otherwise. If possible, consider [updating esptool](https://docs.espressif.com/projects/esptool/en/latest/installation.html#how-to-update).
placeholder: ex. v4.0.1, commit v4.1-10-g2059335aa
validations:
required: true
Expand Down
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/issue-with-hw.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ body:
value: |
* Most failures to connect, flash, etc. are problems with the hardware.
* Please check any guide that came with your hardware, and also check [the esptool troubleshooting guide](https://docs.espressif.com/projects/esptool/en/latest/troubleshooting.html).
* If your board is a custom design, consider using our [free-of-charge schematic and PCB review service](https://www.espressif.com/en/contact-us/circuit-schematic-pcb-design-review).
* If your board is a custom design, check the [ESP Hardware Design Guidelines](https://docs.espressif.com/projects/esp-hardware-design-guidelines/) and consider using our [free-of-charge schematic and PCB review service](https://www.espressif.com/en/contact-us/circuit-schematic-pcb-design-review).
* If still experiencing the issue, please provide as many details as possible below about your hardware and computer setup.
- type: input
id: os
Expand All @@ -21,7 +21,7 @@ body:
id: version
attributes:
label: Esptool Version
description: The output of `git describe` if working with the sources, output of `esptool.py version` otherwise. If possible, consider updating esptool.
description: The output of `git describe` if working with the sources, output of `esptool.py version` otherwise. If possible, consider [updating esptool](https://docs.espressif.com/projects/esptool/en/latest/installation.html#how-to-update).
placeholder: ex. v4.0.1, commit v4.1-10-g2059335aa
validations:
required: true
Expand Down
19 changes: 12 additions & 7 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,20 @@
(Please delete any lines which don't apply)

# Description of change
<!-- Fill in a description of the change here, at least 100 characters.
Make sure other people will be able to understand what your pull request is about.
Delete any sections which don't apply, including the section header. -->

# This change fixes the following bug(s):
<!-- If your change fixes any bugs, list them in this section.

(Please put issue URLs or #number-of-issue here.)
Please include the issue URL or the # issue number here. -->

# I have tested this change with the following hardware & software combinations:
<!-- In this section, describe the hardware and software combinations with which you tested the PR change - operating system(s), development board name(s), ESP8266 and/or ESP32 series.

If you did not perform any testing, write "NO TESTING" in this section. -->

(Operating system(s), development board name(s), ESP8266 and/or ESP32.)
# I have run the esptool.py automated integration tests with this change and the above hardware:
<!-- In this section, post the results of running the automatic integration tests of esptool.py with this change and the above hardware.

# I have run the esptool.py automated integration tests with this change and the above hardware. The results were:
Details here: https://docs.espressif.com/projects/esptool/en/latest/contributing.html#automated-integration-tests

(Details here: https://docs.espressif.com/projects/esptool/en/latest/contributing.html#automated-integration-tests)
If you did not perform any testing, write "NO TESTING" in this section. -->
139 changes: 72 additions & 67 deletions .github/workflows/build_esptool.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,65 +4,73 @@ on: [push, pull_request]

jobs:
build-esptool-binaries:
name: Build esptool binaries for ${{ matrix.os }}
runs-on: ${{ matrix.os }}
name: Build esptool binaries for ${{ matrix.platform }}
runs-on: ${{ matrix.RUN_ON }}
strategy:
matrix:
os: [macos-latest, ubuntu-20.04, windows-latest, ARM, ARM64]
platform: [macos, windows, linux-amd64]
include:
- os: macos-latest
- platform: macos
TARGET: macos
SEPARATOR: ':'
- os: ubuntu-20.04
TARGET: linux-amd64
SEPARATOR: ':'
- os: windows-latest
RUN_ON: macos-latest
- platform: windows
TARGET: win64
EXTEN: .exe
SEPARATOR: ';'
- os: ARM
CONTAINER: python:3.8-bullseye
TARGET: arm
SEPARATOR: ':'
- os: ARM64
CONTAINER: python:3.8-bullseye
TARGET: arm64
RUN_ON: windows-latest
- platform: linux-amd64
TARGET: linux-amd64
SEPARATOR: ':'
RUN_ON: ubuntu-20.04
# - platform: linux-arm32
# CONTAINER: python:3.8-bullseye
# TARGET: linux-arm32
# SEPARATOR: ':'
# RUN_ON: [ARM, self-hosted, linux]
# - platform: linux-arm64
# CONTAINER: python:3.8-bullseye
# TARGET: linux-arm64
# SEPARATOR: ':'
# RUN_ON: [ARM64, self-hosted, linux]
container: ${{ matrix.CONTAINER }} # use python container on ARM
env:
DISTPATH: esptool-${{ matrix.TARGET }}
STUBS_DIR: /esptool/targets/stub_flasher/
STUBS_DIR: ./esptool/targets/stub_flasher/
EFUSE_DIR: ./espefuse/efuse_defs/
PIP_EXTRA_INDEX_URL: "https://dl.espressif.com/pypi"
steps:
- name: Checkout repository
uses: actions/checkout@master
- name: Set up Python 3.8
# Skip setting python on ARM because of missing compatibility: https://github.com/actions/setup-python/issues/108
if: matrix.os != 'ARM' && matrix.os != 'ARM64'
if: matrix.platform != 'linux-arm32' && matrix.platform != 'linux-arm64'
uses: actions/setup-python@master
with:
python-version: 3.8
- name: Install dependencies
# PyInstaller >=6.0 results in significantly more antivirus false positives
run: |
python -m pip install --upgrade pip
pip install pyinstaller
pip install pyinstaller==5.13.2
pip install --user -e .
- name: Build with PyInstaller
run: |
pyinstaller --distpath ./${{ env.DISTPATH }} -F --icon=ci/espressif.ico --add-data=".${{ env.STUBS_DIR }}*.json${{ matrix.SEPARATOR }}${{ env.STUBS_DIR }}" esptool.py
pyinstaller --distpath ./${{ env.DISTPATH }} -F --icon=ci/espressif.ico espefuse.py
pyinstaller --distpath ./${{ env.DISTPATH }} -F --icon=ci/espressif.ico --add-data="${{ env.STUBS_DIR }}*.json${{ matrix.SEPARATOR }}${{ env.STUBS_DIR }}" esptool.py
pyinstaller --distpath ./${{ env.DISTPATH }} -F --icon=ci/espressif.ico --add-data="${{ env.EFUSE_DIR }}*.yaml${{ matrix.SEPARATOR }}${{ env.EFUSE_DIR }}" espefuse.py
pyinstaller --distpath ./${{ env.DISTPATH }} -F --icon=ci/espressif.ico espsecure.py
pyinstaller --distpath ./${{ env.DISTPATH }} -F --icon=ci/espressif.ico esp_rfc2217_server.py
- name: Sign binaries
if: matrix.os == 'windows-latest' && github.event_name != 'pull_request'
env:
CERTIFICATE: ${{ secrets.CERTIFICATE }}
CERTIFICATE_PASSWORD: ${{ secrets.CERTIFICATE_PASSWORD }}
shell: pwsh
run: |
./ci/Sign-File.ps1 -Path ./${{ env.DISTPATH }}/esptool.exe
./ci/Sign-File.ps1 -Path ./${{ env.DISTPATH }}/espefuse.exe
./ci/Sign-File.ps1 -Path ./${{ env.DISTPATH }}/espsecure.exe
./ci/Sign-File.ps1 -Path ./${{ env.DISTPATH }}/esp_rfc2217_server.exe
# - name: Sign binaries
# if: matrix.platform == 'windows' && github.event_name != 'pull_request'
# env:
# CERTIFICATE: ${{ secrets.CERTIFICATE }}
# CERTIFICATE_PASSWORD: ${{ secrets.CERTIFICATE_PASSWORD }}
# shell: pwsh
# run: |
# ./ci/Sign-File.ps1 -Path ./${{ env.DISTPATH }}/esptool.exe
# ./ci/Sign-File.ps1 -Path ./${{ env.DISTPATH }}/espefuse.exe
# ./ci/Sign-File.ps1 -Path ./${{ env.DISTPATH }}/espsecure.exe
# ./ci/Sign-File.ps1 -Path ./${{ env.DISTPATH }}/esp_rfc2217_server.exe
- name: Test binaries
shell: bash
run: |
Expand All @@ -84,49 +92,46 @@ jobs:
if: startsWith(github.ref, 'refs/tags/')
needs: build-esptool-binaries
runs-on: ubuntu-latest
outputs:
upload_url: ${{ steps.create_release.outputs.upload_url }}
VERSION: ${{ steps.get_version.outputs.VERSION }}
permissions:
contents: write
steps:
- name: Create release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: Version ${{ github.ref }}
draft: true
prerelease: false
- name: Get version
id: get_version
run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//}
run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT
shell: bash

upload_assets:
name: Upload release assets
if: startsWith(github.ref, 'refs/tags/')
needs: create_release
runs-on: ubuntu-latest
strategy:
matrix:
TARGET: [macos, linux-amd64, win64, arm, arm64]
env:
DISTPATH: esptool-${{ needs.create_release.outputs.VERSION }}-${{ matrix.TARGET }}
steps:
- name: Get previous version
id: get_previous_version
env:
FILTER: "${{ contains(github.ref_name, 'dev') && 'first' || 'map(select(.prerelease == false)) | first' }} | .tag_name"
run: echo "VERSION=$(curl https://api.github.com/repos/peterdragun/esptool/releases | jq -r '${{env.FILTER}}')" >> $GITHUB_OUTPUT
shell: bash
- name: Checkout
uses: actions/checkout@master
with:
fetch-depth: 0
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install --user -e ".[dev]"
- name: Generate changelog
run: |
cz changelog ${{ steps.get_previous_version.outputs.VERSION }}..${{ steps.get_version.outputs.VERSION }} --template ci/gh_changelog_template.md.j2 --file-name changelog_body.md
cat changelog_body.md
- name: Download built binaries
uses: actions/download-artifact@master
- name: Rename and package binaries
- name: Compress and rename binaries
run: |
mv esptool-${{ matrix.TARGET }} ${{ env.DISTPATH }}
zip -r ${{ env.DISTPATH }}.zip ./${{ env.DISTPATH }}/*
- name: Upload release assets
id: upload-release-asset
uses: actions/upload-release-asset@v1
for dir in esptool-*; do
zip -r "esptool-v${{ steps.get_version.outputs.VERSION }}-${dir#esptool-}.zip" "$dir"
done
- name: Create release
id: create_release
uses: softprops/action-gh-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.create_release.outputs.upload_url }}
asset_path: "${{ env.DISTPATH }}.zip"
asset_name: "${{ env.DISTPATH }}.zip"
asset_content_type: application/zip
body_path: changelog_body.md
name: Version ${{ steps.get_version.outputs.VERSION }}
draft: true
prerelease: ${{ contains(github.ref_name, 'dev') }}
files: esptool-v${{ steps.get_version.outputs.VERSION }}-*.zip
25 changes: 25 additions & 0 deletions .github/workflows/dangerjs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: DangerJS Pull Request linter
on:
pull_request_target:
types: [opened, edited, reopened, synchronize]

permissions:
pull-requests: write
contents: write

jobs:
pull-request-style-linter:
runs-on: ubuntu-latest
steps:
- name: Check out PR head
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}

- name: DangerJS pull request linter
uses: espressif/shared-github-dangerjs@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
instructions-contributions-file: 'CONTRIBUTING.rst'
instructions-gitlab-mirror: 'true'
2 changes: 1 addition & 1 deletion .github/workflows/issue_comment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
steps:
- uses: actions/checkout@master
- name: Sync issue comments to Jira
uses: espressif/github-actions/sync_issues_to_jira@master
uses: espressif/sync-jira-actions@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
JIRA_PASS: ${{ secrets.JIRA_PASS }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/new_issues.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
steps:
- uses: actions/checkout@master
- name: Sync GitHub issues to Jira project
uses: espressif/github-actions/sync_issues_to_jira@master
uses: espressif/sync-jira-actions@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
JIRA_PASS: ${{ secrets.JIRA_PASS }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/new_prs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
steps:
- uses: actions/checkout@master
- name: Sync PRs to Jira project
uses: espressif/github-actions/sync_issues_to_jira@master
uses: espressif/sync-jira-actions@v1
with:
cron_job: true
env:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release_esptool_pypi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ name: PyPI release

on:
release:
types: [released]
types: [published]

jobs:
build_and_upload:
Expand Down
42 changes: 26 additions & 16 deletions .github/workflows/test_esptool.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,29 @@ jobs:

strategy:
matrix:
python-version: ['3.7', '3.8', '3.9', '3.10']
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12']

steps:
- name: Checkout ref commit
uses: actions/checkout@master

- name: Get previous version
id: get_previous_version
env:
FILTER: "${{ contains(github.ref_name, 'dev') && 'first' || 'map(select(.prerelease == false)) | first' }} | .tag_name"
run: |
echo "VERSION=$(curl https://api.github.com/repos/peterdragun/esptool/releases | jq -r '${{env.FILTER}}')"

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@master
with:
python-version: ${{ matrix.python-version }}

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install setuptools

- name: SoftHSM2 setup
run: |
sudo apt-get update
Expand All @@ -28,23 +40,19 @@ jobs:
sudo chown -R $(whoami) /var/lib/softhsm
./ci/setup_softhsm2.sh || exit 1

- name: Test python components (fast)
- name: Install esptool and check if the installed versions can run
run: |
python setup.py build
pip install --extra-index-url https://dl.espressif.com/pypi -e .[dev,hsm]
pytest test/test_imagegen.py
pytest test/test_espsecure.py
pytest test/test_espsecure_hsm.py
pytest test/test_merge_bin.py
pytest test/test_image_info.py
pytest test/test_modules.py

- name: Check the installed versions can run
run: |
esptool.py --help
espefuse.py --help
espsecure.py --help

- name: Test esptool and components
run: |
pytest -m host_test
pytest test/test_espsecure_hsm.py

- name: Build stub (Python 3.7 only)
if: matrix.python-version == 3.7
run: |
Expand All @@ -68,10 +76,12 @@ jobs:
- name: Checkout
uses: actions/checkout@master

- name: Lint with flake8
- name: Set up Python 3.7
uses: actions/setup-python@master
with:
python-version: 3.7

- name: Run pre-commit hooks
run: |
pip install --extra-index-url https://dl.espressif.com/pypi -e .[dev]
python -m flake8

- name: Check formatting with Black
uses: psf/black@stable
pre-commit run --all-files
Loading
Loading