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

Avoid recompiling when uploading multiple times without making changes #1789

Closed
3 tasks done
raffaeler opened this issue Dec 28, 2022 · 6 comments
Closed
3 tasks done
Assignees
Labels
conclusion: duplicate Has already been submitted conclusion: off topic Off topic for this repository topic: CLI Related to Arduino CLI type: imperfection Perceived defect in any part of project

Comments

@raffaeler
Copy link

Describe the problem

When I successfully compile and upload a sketch, a first board is successfully flashed.
If I change the board and press the upload button, the IDE recompiles everything before starting the new upload.
This new recompilation is NOT needed as no changes were made to the source files.

To reproduce

  1. Create a sketch and press the upload button
  2. The binary file is compiled and uploaded to a board (I am using ESP32 dev-boards and custom-boards).
  3. Change the board and press the upload button again
    Now you see the compilation starting again for the entire sketch.

Note: this behavior can be seen on the boards expecting a manual push button "boot" is pressed. If I skip pressing the button and the upload correctly fails, the next upload trigger the recompilation instead of starting a new upload.

Expected behavior

If no changes were made to the sketch, I expect the compilation step is skipped and the upload starting immediately.

Arduino IDE version

2.0.3

Operating system

Windows

Operating system version

10 Pro

Additional context

No response

Issue checklist

  • I searched for previous reports in the issue tracker
  • I verified the problem still occurs when using the latest nightly build
  • My report contains all necessary details
@raffaeler raffaeler added the type: imperfection Perceived defect in any part of project label Dec 28, 2022
@per1234 per1234 self-assigned this Dec 28, 2022
@per1234
Copy link
Contributor

per1234 commented Dec 28, 2022

Hi @raffaeler. Thanks for taking the time to submit an issue.

I see we have another report about this at arduino/arduino-cli#2015.

It is best to have only a single issue per subject so we can consolidate all relevant discussion to one place, so I'll go ahead and close this in favor of the other.

If you end up with additional information to share, feel free to comment in the other thread.

@per1234 per1234 closed this as not planned Won't fix, can't repro, duplicate, stale Dec 28, 2022
@per1234 per1234 added conclusion: duplicate Has already been submitted conclusion: off topic Off topic for this repository topic: CLI Related to Arduino CLI labels Dec 28, 2022
@raffaeler
Copy link
Author

Sorry for that. I really looked for the update keyword in the issues, but I didn't see that in the first 8-10 issue pages.

@weswitt
Copy link

weswitt commented Dec 28, 2022

i opened an issue for this a while ago. issue is still open:

arduino/arduino-cli#1996

@per1234
Copy link
Contributor

per1234 commented Dec 28, 2022

Sorry for that. I really looked for the update keyword in the issues, but I didn't see that in the first 8-10 issue pages.

No worries @raffaeler. Thanks for taking the time to look for existing issues.

The reason you didn't see it is because it is in a different repository. The codebase hosted here in the arduino/arduino-ide repository mostly implements the GUI of Arduino IDE. The operations such as compiling, uploading, library and boards management are all handled by a tool named Arduino CLI. So even though you might be seeing this behavior when using Arduino IDE, the code that implements it is in the codebase in the separate arduino/arduino-cli repository.

In order to effectively manage the the development work, we must track the bug reports and feature requests in the repository that contains the relevant codebase. This can sometimes make it difficult for users without the understanding of the low level project architecture to find issues.

@raffaeler
Copy link
Author

@per1234 got it. Maybe you can make it clearer in the template issue.
I specifically looked for the new IDE repository to avoid confusion, but I found no clue in the template description.

@per1234
Copy link
Contributor

per1234 commented Dec 28, 2022

This is an excellent suggestion!

In order to avoid excessive verbosity in the issue template itself (there are additional related projects such as arduino/arduino-serial-plotter-webapp that should also be linked to), I would put the information in the Issue Report Guide which is linked to from the "chooser" page GitHub presents when creating an issue and also from the Contributor Guide that is linked there and in GitHub's issue composer page.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
conclusion: duplicate Has already been submitted conclusion: off topic Off topic for this repository topic: CLI Related to Arduino CLI type: imperfection Perceived defect in any part of project
Projects
None yet
Development

No branches or pull requests

3 participants