Package does not meet sequential version number guideline

I keep getting these messages when registering new versions of my package. But I do not see how I am not following the guideline, I released a patch and changed the version from 0.2.0 to 0.2.1 and after fixing another minor thing, to 0.2.2.

What am I doing wrong?

Your new version pull request does not meet the guidelines for auto-merging. Please make sure that you have read the General registry README. The following guidelines were not met:

  • Does not meet sequential version number guideline: version 0.2.1 skips over 0.2.0

Note that the guidelines are only required for the pull request to be merged automatically. However, it is strongly recommended to follow them, since otherwise the pull request needs to be manually reviewed and merged by a human.

The package is this: https://github.com/m3g/PDBTools

The last version you registered is v0.1.0, as you can see in https://github.com/JuliaRegistries/General/blob/master/P/PDBTools/Versions.toml. You are supposed to register v0.2.0 first, then v0.2.1, then v0.2.2.

For practical purposes, you can just release v0.2.0 now, with the changes for v0.2.1 and v0.2.0 included.

1 Like

Uhm… ok. Thank you. I am a bit confused yet with the release protocol. I thought that commenting “@JuliaRegistrator register()” to a commit and changing the version number was enough, but apparently I am doing something else wrong.

It should be @JuliaRegistrator register (no parens), and you have to install JuliaRegistrator GitHub app previously.
Alternatively, you can register your package on https://juliahub.com/ after you’ve logged in there.

I think you noticed yourself, that your tag for 0.2.0 somehow did not trigger the registration bot. I think this was the only problem and you did everything right.

PS. The bot usually triggers two notifications/emails (this is usually the way I notice if it did not work).

2 Likes

I think it was the contrary, I used it without the parenthesis, and they must be there.

Now I will see why TagBot is apparently not doing anything. Than you all!

1 Like

Both works. But there are sometimes network outages or other things that can make it fail.

You might want to change the TagBot config to cron: 0 * * * * to run it every hour.

(At the moment it is run only at the end of every day)

1 Like

TagBot runs once a day, every midnight (cron 0 0 ...). It wasn’t doing anything because the versions weren’t registered.

It works without them, don’t worry.

This is an outline of the workflow:

  1. change the version number from a.b.c to d.e.f in Project.toml and commit it
  2. comment “@JuliaRegistrator register” on the commit
  3. new version gets a PR in the General registry, which is auto-merged every ~15min
  4. TagBot finds a new version registered and tags it

There are other ways to do steps 1 and 2, but I find this one the simplest.

2 Likes

Since you are being gentle (thanks…), is that TravisCI (with .travis.yml) playing any role there? I registered myself there but it was not clear to me what is that for.

.travis.yml is for managing your CI and running documenter.jl
Since you don’t seem to have a test directory and maintain your docs elsewhere, you may not need that.

1 Like

@anon37204545, here is related and more low-level query. When I register a package for the first time, do I link to the master branch or the most recent tagged branch? I think I understand (finally!) how tagbot sorts that out for me after the initial registration.

It is linked to the commit on which you triggered the registration. But in the 3 day waiting period you can comment on another commit, which will be used instead.

TagBot is ultimately linked to the commit used for registration, so you don’t have to worry about it.

You don’t need Travis at all. GitHub Actions can do the same for you. Try playing with with PkgTemplates to set it up. If you don’t use tests or docs, you don’t need either of those services.

1 Like

I’m having a similar issue. Trying to release a minor version, I got this automerge error:

Does not meet sequential version number guideline: version 1.2.0 skips over 1.1.0

I actually did release 1.1.0. However, it couldn’t be auto-merged, and my PR sat untouched from July 7th. I didn’t realize this had happened until I looked into the error.

Will it break anything if I simply decrement the version number to 1.1.0 and redo the registrator request?

No, this is fine and actually the correct way to update the registration process.

Other option: Was the auto merge because of a problem on your part? If not and it was a problem with auto merge itself, you can also ask for a manual merge.

1 Like

Oh, the first automerge was my fault. Thank you for clarifying, this should be a very easy fix! (edit) It worked!

Note that the tag isn’t needed at all for Pkg to correctly install the package.

Running a TagBot job per hour means that there are 24 useless CI jobs spinning every day (the useless jobs are 23 in those busy days when you do a new release). By running TagBot once per day at least you divide by about 24 the number of useless jobs

3 Likes