Skip to content

Conversation

@jakub-kocka
Copy link
Collaborator

@jakub-kocka jakub-kocka commented Jan 7, 2026

Description

  • New Dockerfile and runner for older ARMv7 OSes
  • Updated pre-commit hooks and froze mypy because of the Python requirements

I have dropped Python 3.14 support for the legacy ARMv7 runner because it would bring more implementation issues, and I believe the time period between these old OSes and Python 3.14 is significant enough not to support it.

Related

Internal related tracker: IDFCI-8006

Testing

Action run: https://github.com/espressif/idf-python-wheels/actions/runs/20991228759


Checklist

Before submitting a Pull Request, please ensure the following:

  • 🚨 This PR does not introduce breaking changes.
  • All CI checks (GH Actions) pass.
  • Documentation is updated as needed.
  • Tests are updated or added as necessary.
  • Code is well-commented, especially in complex areas.
  • Git history is clean — commits are squashed to the minimum necessary.

@github-actions
Copy link

github-actions bot commented Jan 7, 2026

Messages
📖 You might consider squashing your 4 commits (simplifying branch history).

👋 Hello jakub-kocka, we appreciate your contribution to this project!


Click to see more instructions ...


This automated output is generated by the PR linter DangerJS, which checks if your Pull Request meets the project's requirements and helps you fix potential issues.

DangerJS is triggered with each push event to a Pull Request and modify the contents of this comment.

Please consider the following:
- Danger mainly focuses on the PR structure and formatting and can't understand the meaning behind your code or changes.
- Danger is not a substitute for human code reviews; it's still important to request a code review from your colleagues.
- Addressing info messages (📖) is strongly recommended; they're less critical but valuable.
- To manually retry these Danger checks, please navigate to the Actions tab and re-run last Danger workflow.

Review and merge process you can expect ...


We do welcome contributions in the form of bug reports, feature requests and pull requests.

1. An internal issue has been created for the PR, we assign it to the relevant engineer.
2. They review the PR and either approve it or ask you for changes or clarifications.
3. Once the GitHub PR is approved we do the final review, collect approvals from core owners and make sure all the automated tests are passing.
- At this point we may do some adjustments to the proposed change, or extend it by adding tests or documentation.
4. If the change is approved and passes the tests it is merged into the default branch.

Generated by 🚫 dangerJS against 8d7e2a9

@jakub-kocka jakub-kocka force-pushed the feat/manylinux branch 5 times, most recently from 643ce4d to 02bbd49 Compare January 13, 2026 12:24
Copy link
Collaborator

@peterdragun peterdragun left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, this fixes the issue for us in the esptool. Thank you!

Copy link
Collaborator

@dobairoland dobairoland left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

# Build and install patchelf from source to ensure proper ELF alignment on ARM
# System patchelf versions can cause "ELF load command address/offset not properly aligned" errors
RUN cd /tmp && \
git clone https://github.com/NixOS/patchelf.git && \
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You could fetch just the branch in order to speed up the process. Full clone is not necessary.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we don't really aim for speed in these images. Since it is already pretty slow, the main point is that it produces wheels twice a week without our hosted runners.
Maybe we can leave it as it is for now if you agree.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I approved the PR so all my comments are optional and no need to do another round of review.

But the under the line comment is that maybe that is why this is "already pretty slow" because you reject even the simple-to-implement performance improvements. I don't advocate for unmeaningful optimization. But if something can be done without no significant effort then why not to do it? A full git clone can blow up the size by downloading the full history and with huge amount of git files. It is pretty common to use multi-stage builds in order to copy only the relevant files into the final image for size optimization. I haven't suggested this, only to avoid cloning everything. That is not just about speed of cloning but the size of the image and then speed of copying it elsewhere.

@jakub-kocka
Copy link
Collaborator Author

I have removed the Docker files and updated the README.md. Are you OK with this approach, @dobairoland?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants