espressif / idf-component-manager

Tool for installing ESP-IDF components
https://components.espressif.com/
Apache License 2.0
42 stars 15 forks source link

Component manager can't use GIT version with leading 'v' (PACMAN-796) #51

Closed higaski closed 2 months ago

higaski commented 4 months ago

The Component Manager version

v1.4.2

ESP-IDF Version

v5.2-beta1

python Version

3.11.6

Operating System

Linux

Browser (for https://components.espressif.com Issues)

No response

Description

The --version git option does not work for GIT tags containing a leading v or so it seems.

I have a component with the following manifest file.

description: MDU protocol for ZPP and ZSU updates
url: http://zimo.at
documentation: https://github.com/ZIMO-Elektronik/MDU/blob/master/README.md
repository: https://github.com/ZIMO-Elektronik/MDU.git
issues: https://github.com/ZIMO-Elektronik/MDU/issues

dependencies:
  idf: ">=5.0.0"

The latest tag is v0.15.0

Uploading this component with

compote component upload --namespace zimo-elektronik  --name MDU --version git --dry-run

does not work.

Using any tag without leading v does not give me any errors.

compote component upload --namespace zimo-elektronik  --name MDU --version 1.2.3 --dry-run

For some weird reason

To Reproduce

.

Expected behaviour

GIT version should be parsed correctly according to https://semver.org/

Additional info

No response

I have checked existing issues and online Documentation

kumekay commented 4 months ago

@higaski Thank you for opening the issue, I was trying to reproduce it, and while I didn't manage to do so, I found the related problem. The CLI command only works with annotated tags, but entirely ignores lightweight ones. Is it possible that it is the issue you faced?

At the same time, the https://github.com/espressif/upload-components-ci-action is not affected and should work with any tags.

higaski commented 4 months ago

Thanks, the upload-components action is also what I finally ended up using.

The compote utility however does not work for me. I've a second component I just wanted to upload so you're in luck. ;)

Here is the manifest file: https://github.com/ZIMO-Elektronik/DCC/blob/individual_rx_tx_timings/idf_component.yml

And here is the error I'm getting

 ╰─λ compote component upload --namespace zimo-elektronik --name DCC --version git --dry-run
Selected profile "default" from the idf_component_manager.yml config file
ERROR: 2 problems were found in the manifest file /home/vinci/Develop/VSCode/DCC/idf_component.yml:
Invalid manifest format
Component version should be valid semantic version

I have not yet tagged this particular release so the old tag is 2 months old. But as far as I can tell this doesn't matter.

Specifying a particular version seems to work:

compote component upload --namespace zimo-elektronik --name DCC --version 1.2.3 --dry-run
Selected profile "default" from the idf_component_manager.yml config file
Saving archive to "/home/vinci/Develop/VSCode/DCC/dist/DCC_1.2.3.tgz"
...
kumekay commented 4 months ago

@higaski There is a difference how git traits tags created with git tag v1.2.3 and git tag v1.2.3 -m "My tag". The issue is the current version of the component only supports the latter ones. I'm just guessing, but likely it's the problem you were facing. I already made an internal pull request with the fix, it is likely to be published begging of the next week.

higaski commented 4 months ago

I don't think that this is the issue. I only create annotated tags. In fact I've only recently learned about lightweight tags because of some obscure issue with GitHub actions...

kumekay commented 4 months ago

Hello @higaski. Could you please verify if you still have this problem with the component manager 1.5.1?

While we only fixed the support for light-weight tags, we also improved logging, so even if the problem is still there, we can get a better idea of what is going on.

kumekay commented 2 months ago

@higaski I'm closing this issue now, if you face it once again, please feel free to reopen.