Skip to content

Show release 1.1.1 on the library manager#79

Merged
IowaDave merged 1 commit intoNorthernWidget:masterfrom
designer2k2:patch-1
Mar 20, 2023
Merged

Show release 1.1.1 on the library manager#79
IowaDave merged 1 commit intoNorthernWidget:masterfrom
designer2k2:patch-1

Conversation

@designer2k2
Copy link
Copy Markdown
Contributor

Upating the library.properties to match the release 1.1.1

This would fix: #74

Upating the library.properties to match the release 1.1.1
@wiiitek
Copy link
Copy Markdown

wiiitek commented Jan 10, 2023

This library is already registered in LibraryManager list of repositories:

Instruction for releasing new version says:

  1. Update the version in the library's library.properties).
  2. Tag the library's repository once more and push the new tag (or create a release if the library's Git-hosting site offers a way to do it, for example with GitHub "releases").

So if this merge request doesn't work we can try with the next version: 1.1.2 by doing both at the same time:

  1. Updating the library.properties file
  2. Creating new GIT tag (v1.1.2)

To check if the new version of the library was added we can check the logs from library manager indexer at:

@designer2k2
Copy link
Copy Markdown
Contributor Author

designer2k2 commented Jan 10, 2023

Hello,
im pretty confident that this PR works, i maintain arduino libs myself and do it the same way.
(just give it some time after the merge to check for the effect)

Could also add a badge to the readme showing the current version: See here: https://www.ardu-badge.com/DS3231

Example markdown:
[![arduino-library-badge](https://www.ardu-badge.com/badge/DS3231.svg?)](https://www.ardu-badge.com/DS3231)

results in:
arduino-library-badge

Edit:
There are multiple other badges possible, also to show the status of the CI builds and so on, so thats maybe another topic if badges are wanted

@wiiitek
Copy link
Copy Markdown

wiiitek commented Mar 17, 2023

Hi @IowaDave, I've seen you merged some recent merge requests.

What do you think about this one? Maybe we could merge it as well?

Not sure if I understood correctly, but maybe it also needs re-tagging, because in instructions we have:

  1. Tag the library's repository once more and push the new tag

@IowaDave
Copy link
Copy Markdown
Collaborator

Hello, @wiiitek and @designer2k2

Thanks for this work. Will you allow me to ask a couple of more questions here:

  1. Are either of you in a position to initiate a roll-back in the event that updating the "release" causes some unforeseen problem with the Library Manager becoming unable to access to the repo at all?
  2. Will you follow through with changing the release number to 1.1.2 if need be?
  3. Will you recommend and push a PR for the "badge" also, if that makes sense to you?

Asking out of an abundance of caution for two reasons: 1) it's not my repo; and 2) I'm not familiar with nor do I claim to understand concepts such as "release" and "badge" well enough to judge these things for myself. My PR merges have been limited to documentation and a couple of example sketches. I have viewed repo maintenance as being above and outside of my scope. I hope you'll understand and tolerate my reasons for asking.

I do see how updating the release would resolve #74, and would agree to pursue it if the Library Manager listing can be rolled-back in the unlikely event described in question 1, above.

Discussion:

Not concerned about code problems in the repo itself. Anything like that we'd fix with a future PR.

I know that individual Arduino IDE users can roll-back the version they install locally. My concern addresses ensuring a valid "most recent" version being available through the Library Manager to future, new users.

If you need me to merge the PR then please offer your thoughts on the questions I asked. I'll check here regularly until we sort this out.

@designer2k2
Copy link
Copy Markdown
Contributor Author

Hello @IowaDave,

answering your questions:

Are either of you in a position to initiate a roll-back in the event that updating the "release" causes some unforeseen problem with the Library Manager becoming unable to access to the repo at all?

Yes, we all are. Rolling back can be either making a new release with reverted changes, or initiating a delete in the library manager for the 1.1.1. See here for a example: arduino/library-registry#2545 This deletes take some time, so i would prefer to then make a new release rolling back the changes, that's much quicker.

Will you follow through with changing the release number to 1.1.2 if need be?

Yes, will do. It would need then also somebody that can generate the release here in this repo. Here is a guide on how to do that: https://docs.github.com/en/repositories/releasing-projects-on-github/managing-releases-in-a-repository

Will you recommend and push a PR for the "badge" also, if that makes sense to you?

For now, i would say no badges. Let's first have the 1.1.1 rolled out and then see about this more cosmetic badge`s.

@IowaDave
Copy link
Copy Markdown
Collaborator

Thanks, Stephan

I appreciate your responses. I think I have enough information to feel comfortable taking the first step.

Wondering why it has to be me, is all. Could you help me to understand that, when others here obviously know more than I do?

Still, this PR makes sense to me now.

Observation: The latest release is already tagged as 1.1.1, done by Andrew in July 2022. However, the library.properties file still says 1.1.0. If I understand correctly, what we are doing with this merge is simply to align the properties file with the current latest release tag.

Action: I will go ahead and do the merge as requested. Please continue to follow this topic. I'd like to see the Library Manager's version reflect the work that has been committed since last July also. Will appreciate your thoughts on how to get us all the way there.

Again, please bear in mind my obvious ignorance about managing library repos for access through the Arduino IDE.

@IowaDave IowaDave merged commit 022e131 into NorthernWidget:master Mar 20, 2023
@IowaDave
Copy link
Copy Markdown
Collaborator

@designer2k2 @wiiitek

I merged PR 79 as you requested on March 19.

In a couple of days, pursuant to the discussion in PR 79, I shall look for 1.1.1 to appear in Library Manager.

Question for you: I'm guessing now that the way to reflect the work committed since Andrew published 1.1.1 last July would be by publishing a version 1.1.2 with a library.properties update and a corresponding new release tag?

Thanks! David

@IowaDave
Copy link
Copy Markdown
Collaborator

@designer2k2 @wiiitek

I updated 1.1.1 to be the "latest release" also, as wiitek advised.

By the way, the link to downloads.arduino.cc in wiitek's post for checking the library status does not seem to go anywhere useful.

Noticed that we have more than 80 commits since 1.1.1. If 1.1.1 shows up in the Library Manager soon then I'll feel inclined to publish the more recent work as release 1.1.2.

Your thoughts, please?

Thanks, David

@designer2k2 designer2k2 deleted the patch-1 branch March 20, 2023 10:29
@IowaDave
Copy link
Copy Markdown
Collaborator

@designer2k2 @wiiitek

Ok, y'all, we seem to have a mess on our hands after merging this PR and will need your help to resolve it.

Two entries now appear in the Arduino Library Manager:

Entry #1: the old one, named "DS3231", having available versions up through 1.1.0.
Entry #2: a new one, at least I do not remember seeing it previously. It is named "DS3231_RTC" and has no version number.

The "more info" link for both of these entries points to the same repo, this one, which is at version 1.1.1 now.

However, both of the entries install version 1.1.0, based on examination of the library.properties file that comes with the download.

Meanwhile, the PR auto-closed issue #74. Turns out that action was premature.

Our initial goal should be to remove the duplication so the Manager lists just one library, named "DS3231", having the capacity to download version 1.1.1.

I did what you asked me to do. You said you'd help to address any problem. Now I'm asking for your help. Please follow through and help to resolve this matter.

I hope to hear from you soon.

@designer2k2
Copy link
Copy Markdown
Contributor Author

designer2k2 commented Mar 20, 2023

Hello @IowaDave,

first the good things, the point for 1.1.2 is good. All the latest changes should be released!

Now for the bad news, im afraid that 1.1.1 will not work... Its now over 12h after the merge and still no update from the Library Manager.
Background of my negative thoughts ist that the info file inside the zip file from the release here: https://github.com/NorthernWidget/DS3231/releases/tag/v1.1.1 is stating the version to be 1.1.0. So strictly its tagged correctly, but the actual source code is not matching to it.

Confirming is the link from @wiiitek (it was missing the / on the end) https://downloads.arduino.cc/libraries/logs/github.com/NorthernWidget/DS3231/

2023/03/20 19:04:16 Checking out tag: v1.1.1 2023/03/20 19:04:16 Release DS3231:1.1.0 already loaded, skipping

(The lint warnings about the old .pde extension can be cleared up later)

So i would suggest to go for 1.1.2 right away. I make a new PR, changing the library.properties to show 1.1.2, then once this is merged a new Release is made with tag 1.1.2 by you @IowaDave. In this sequence the zip file that automatically is generated cointains the matching version information.

"Problem" with this is that the Version 1.1.1 will never show up on the Arduino Library Manager. Arduino IDE Users will see a jump from 1.1.0 to 1.1.2. I dont see that as a real problem, if somebody needs 1.1.1 it can always be downloaded from github.

I prepare the 1.1.2 PR now to have that ready.

@designer2k2
Copy link
Copy Markdown
Contributor Author

designer2k2 commented Mar 20, 2023

Checking on the 2 Versions in the Library Manager, yes there are 2, thats looking wrong...

The DS3231_RTC will need some further checking, it seems that somebody has just made a copy from this and submitted it again to the library index, even without changing the url, so it points again to this original repo here...

The PR to get the _RTC version added: arduino/library-registry#1673

And the _RTC repo: https://github.com/affanhanifathtarech/DS3231_RTC

But the library.properties is pointing to here... https://github.com/affanhanifathtarech/DS3231_RTC/blob/main/library.properties#L8

Lets see about that also later, i would consider to open a PR on the library manager to get this copy removed.

@IowaDave
Copy link
Copy Markdown
Collaborator

@designer2k2

OK. Agree about resolving the duplicative Library listing as a second priority. Focus first on updating ours to 1.1.2. I see the PR for that. Let's continue the conversation there.

Thanks! David

@wiiitek
Copy link
Copy Markdown

wiiitek commented Mar 21, 2023

Hello @IowaDave , @designer2k2 , thank you for your work.

And forgive me @IowaDave, I should had asked you before mentioning you in my comment.

I dind't reply earlier, because I was away for the weekend and I am happy to see a lot of progress here :)

The new version (1.1.2) is available in Library Manager:

DS3231

And I was able to install it with arduino-cli :)

As I understand:

  1. there is another DS3231_RTC library, that should probably be:
    • either updated regarding description and link
    • or removed from Library Manager
  2. there will be release version 1.2.0 of DS3231 (this repo) created soon

How can I help?

@IowaDave
Copy link
Copy Markdown
Collaborator

Hi @wiiitek ,

Happy to help, and thank you for updating the CHANGELOG file for version 1.1.2. Appreciate your ongoing interest here. Responding on a couple of things in your note.

We updated the version/release number to 1.1.2 rather than 1.2.0. The group can revisit the question of version number on a future update. We do have some issues to resolve, which would warrant a fresh release. Let's keep the ball rolling.

Regarding the library named DS3231_RTC, I've been discussing it with Stephan (@designer2k2 ). We elected to focus on the erroneous/misleading descriptive information visible to IDE users in the Library Manager display.

I have submitted a pull request to the owner of that library asking for revisions to the library.properties file. You can see it here: affanhanifathtarech/DS3231_RTC#1.

It would be very helpful if you would familiarize yourself with this matter and follow progress.

By the way, a study of the commit-history on that repo makes it clear the files did not get there as a true github fork. Rather, the repo was created blank, then the files were uploaded by the repo owner. Which, technically, is not prohibited; however, it does somewhat hide the fact that the files are copies of prior work by others and not the work product of the person uploading the contents to github.

At some point there might be a need to raise the concern with the library index maintenance team, but first let's grant the repo owner an opportunity to do the right thing.

Hmm... I'm wondering whether it would be constructive for contributors to this repo here at NorthernWidget to add comments in the thread for my PR at affanhanifathtarech? Y'all can decide for yourselves what you want to do about that.

Many thanks!

David

@wiiitek
Copy link
Copy Markdown

wiiitek commented Mar 22, 2023

Thanks to you @IowaDave :)

I like the way you approached the duplicated library issue: updates for the description and link. Will watch the other repository.

I don't know why I expected the new version to be 1.2.0 (it was never mentioned). 1.1.2 is also ok. Cheers!

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.

New versions are not published to Arduino library manager

3 participants