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

Register Julia Package #86

Open
3 tasks done
cortner opened this issue Nov 7, 2023 · 44 comments
Open
3 tasks done

Register Julia Package #86

cortner opened this issue Nov 7, 2023 · 44 comments

Comments

@cortner
Copy link
Member

cortner commented Nov 7, 2023

To register the Julia package with the General Registry one needs to

  • Install the Registrator bot. I assume I don't have the rights to do this.
  • update the version number in the Project.toml - we need to decide on 0.0.2 or 0.1.0; I don't mind either way, I think it is ready for 0.1.0.
  • trigger the registrator bot (I believe I can do that myself once it is installed)
@cortner
Copy link
Member Author

cortner commented Jan 11, 2024

@Luthaf @ceriottm -- I'd like to finally register the Julia package in the Julia registry. Can one of you please setup the registrator bot? If you prefer to not manage any part of the Julia implementation, then we should consider moving this implementation out into a separate repository that could still be linked from your repo. Let me know what you prefer.

@ceriottm
Copy link
Contributor

Hi @cortner we should definitely do this from the repo. Sorry if this lagged behind, we were trying to also get a CUDA+JAX version up and running. Perhaps we could do this at the same time as we release the version 0.4.0 of the Python package.
Actually, do you think it'd make sense to keep the two packages in sync version-wise? I think it'd be nice if moving forward we tried as far as possible to share some material (even if just the boilerplate documentation stuff) between Julia and python.

@cortner
Copy link
Member Author

cortner commented Jan 12, 2024

I dont see a rationale for delaying. In Julia you Register new versions basically everyone you merge a PR. I'm relying on that mechanism and right now I can't tag updates in other packages because they depend on have sphericart registered.

@ceriottm
Copy link
Contributor

ceriottm commented Jan 12, 2024 via email

@Luthaf
Copy link
Contributor

Luthaf commented Jan 12, 2024

The registrator bot should be installed! I'm not sure what syntax to use with it to register a package in a sub-folder though; but the online page in https://juliahub.com/ui/Registrator supports it.

@cortner
Copy link
Member Author

cortner commented Jan 12, 2024

Thank you - I will give it a try. If it is not possible for me to trigger it I'll let you know. Worst case I make a manual PR to General.

@cortner
Copy link
Member Author

cortner commented Jan 12, 2024

Unless you have a different idea I will register as 0.0.3 the reason being that there is a possible future thread-safety issue in how I manage memory. We are looking into changing this and once we've settled I would then go to 0.1.x

@ceriottm
Copy link
Contributor

Good for me. Moving forward I think we should try to harmonize a bit the APIs. I like a lot that we are converging on a central place to develop this kind of low-level libraries across platforms (and very grateful you decided to contribute to this repo rather than making a separate one) but I think we are not making the most of it if we don't try to share some of the boilerplate stuff to lower maintenance costs.

@cortner
Copy link
Member Author

cortner commented Jan 12, 2024

That's fine of course and another reason to not yet tag 0.1

@cortner
Copy link
Member Author

cortner commented Jan 12, 2024

@JuliaRegistrator register subdir=julia

@JuliaRegistrator
Copy link

Error while trying to register: Register Failed
@cortner, it looks like you are not a publicly listed member/owner in the parent organization (lab-cosmo).
If you are a member/owner, you will need to change your membership to public. See GitHub Help

@cortner
Copy link
Member Author

cortner commented Jan 12, 2024

@ceriottm / @Luthaf - so this is what I was afraid of. If I can't tag new versions then I'm not sure it is practical to keep the package here. I have to be able to make quick bugfixes, so I'll need somebody to review & merge PRs rapidly, but also I have to be able to manage the Julia package as I need to. So there are three options:

  • I need your 100% commitment to do this for me on short notice
  • you make me a member of your org
  • I move the code into a separate repository purely for the purpose of managing development.

You need to think about what you want. As a general rule, I think if you want to have code shared broadly you need to open up participation. As a matter of principle I normally do not contribute code to repos owned by other research groups. This was an exception and given the brain-space overhead this is causing me I'm now regretting it a bit.

I wonder whether option 3 will be the most practical for everybody. I can still commit to maintaining compatibility, keeping documentation in your repo, etc.

Just let me know what you think - I certainly don't have any agenda here.

@ceriottm
Copy link
Contributor

Made you a member. I don't see any issue with that, nor to give you write or maintainer permissions to this repo. Usually when projects grow into something substantial I like to spin then into a separate org, but I think we're fat from that here

@cortner
Copy link
Member Author

cortner commented Jan 12, 2024

ok thank you, that will certainly make life easier. I just didn't want to presume anything. Also agreed about not having to "spin it out" quite yet.

@cortner
Copy link
Member Author

cortner commented Jan 12, 2024

@JuliaRegistrator register subdir=julia

@JuliaRegistrator
Copy link

Error while trying to register: Register Failed
@cortner, it looks like you are not a publicly listed member/owner in the parent organization (lab-cosmo).
If you are a member/owner, you will need to change your membership to public. See GitHub Help

@cortner
Copy link
Member Author

cortner commented Jan 12, 2024

@JuliaRegistrator register subdir=julia

@JuliaRegistrator
Copy link

Registration pull request created: JuliaRegistries/General/98788

Tip: Release Notes

Did you know you can add release notes too? Just add markdown formatted text underneath the comment after the text
"Release notes:" and it will be added to the registry PR, and if TagBot is installed it will also be added to the
release that TagBot creates. i.e.

@JuliaRegistrator register

Release notes:

## Breaking changes

- blah

To add them here just re-invoke and the PR will be updated.

Tagging

After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.

This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:

git tag -a julia-v0.0.3 -m "<description of version>" 451b051ab8be7f8b38140d54f6f9ddc1f3b36dae
git push origin julia-v0.0.3

Also, note the warning: This looks like a new registration that registers version 0.0.3.
Ideally, you should register an initial release with 0.0.1, 0.1.0 or 1.0.0 version numbers
This can be safely ignored. However, if you want to fix this you can do so. Call register() again after making the fix. This will update the Pull request.

@cortner
Copy link
Member Author

cortner commented Jan 12, 2024

@ceriottm -- sorry to ping you again Friday evening.

nor to give you write or maintainer permissions to this repo

There are a few things I need to fix that will possibly require a succession of merged commits. If I can get push access then I can do this relatively quickly.

@ceriottm
Copy link
Contributor

Done, you're added with write access, you def should have it if you keep looking after the Julia part, no questions. I think it'd be still good to avoid direct commits to master, but I am not sure of what you exactly need to do and you probably are more git-savy than I ^_^

@cortner
Copy link
Member Author

cortner commented Jan 13, 2024

thank you - I'll try to do the registration on a branch. Let's see how this goes.

@cortner
Copy link
Member Author

cortner commented Jan 13, 2024

@JuliaRegistrator register subdir=julia branch=co/jlreg

@JuliaRegistrator
Copy link

Registration pull request updated: JuliaRegistries/General/98788

Tip: Release Notes

Did you know you can add release notes too? Just add markdown formatted text underneath the comment after the text
"Release notes:" and it will be added to the registry PR, and if TagBot is installed it will also be added to the
release that TagBot creates. i.e.

@JuliaRegistrator register

Release notes:

## Breaking changes

- blah

To add them here just re-invoke and the PR will be updated.

Tagging

After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.

This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:

git tag -a julia-v0.0.3 -m "<description of version>" 25b7e05507add26bc262c87e7ada004183a862b1
git push origin julia-v0.0.3

Also, note the warning: This looks like a new registration that registers version 0.0.3.
Ideally, you should register an initial release with 0.0.1, 0.1.0 or 1.0.0 version numbers
This can be safely ignored. However, if you want to fix this you can do so. Call register() again after making the fix. This will update the Pull request.

@cortner
Copy link
Member Author

cortner commented Jan 13, 2024

looks like this is finally happening. The julia version will be registered after a standard waiting period of 3 days. (because it is a new package) I will now merge the registration branch into main.

@cortner
Copy link
Member Author

cortner commented Jan 13, 2024

Just for information to avoid confusion: by tagging the registered Julia version I created a release (I was unaware this would happen). I deleted this release again. Apologies for the noise.

@cortner cortner closed this as completed Jan 13, 2024
@cortner cortner reopened this May 23, 2024
@cortner
Copy link
Member Author

cortner commented May 23, 2024

I will keep this open and use it to register future versions of the Julia package.

@cortner
Copy link
Member Author

cortner commented May 23, 2024

@JuliaRegistrator register subdir=julia branch=julia

@JuliaRegistrator
Copy link

Registration pull request created: JuliaRegistries/General/107465

Tip: Release Notes

Did you know you can add release notes too? Just add markdown formatted text underneath the comment after the text
"Release notes:" and it will be added to the registry PR, and if TagBot is installed it will also be added to the
release that TagBot creates. i.e.

@JuliaRegistrator register

Release notes:

## Breaking changes

- blah

To add them here just re-invoke and the PR will be updated.

Tagging

After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.

This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:

git tag -a julia-v0.1.0 -m "<description of version>" 222bfda0e4935fd77db7e62d79799a10023dd580
git push origin julia-v0.1.0

@cortner
Copy link
Member Author

cortner commented Jun 7, 2024

@JuliaRegistrator register subdir=julia branch=julia

@JuliaRegistrator
Copy link

Registration pull request created: JuliaRegistries/General/108509

Tip: Release Notes

Did you know you can add release notes too? Just add markdown formatted text underneath the comment after the text
"Release notes:" and it will be added to the registry PR, and if TagBot is installed it will also be added to the
release that TagBot creates. i.e.

@JuliaRegistrator register

Release notes:

## Breaking changes

- blah

To add them here just re-invoke and the PR will be updated.

Tagging

After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.

This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:

git tag -a julia-v0.1.1 -m "<description of version>" f551cdb018f039d0dbad9b7432524647a59fd35f
git push origin julia-v0.1.1

@cortner
Copy link
Member Author

cortner commented Jun 7, 2024

@Luthaf -- I can no longer autoregister new package versions. The auto merging guidelines require the following:

  • License: The package should have an OSI-approved software license
    located in the top-level directory of the package code, e.g. in a file named LICENSE or LICENSE.md. This check is required for the General registry. For other registries, registry maintainers have the option to disable this check.

Would you be happy to rename one of the license files to LICENSE.md?

Not being able to run CI on just the Julia code makes developing in this repo a huge pain for me. Not merging regularly into main isn't great either. Not being able to automerge new versions kills it.

We may need to revisit this. I wonder if it is simpler for everybody if I move the code into a separate repo afterall, but keep Julia in the docs, link to the Julia repo, maybe even add a CI task to your repo that checks compatibility. (which we really shoudl do anyhow...)

@cortner
Copy link
Member Author

cortner commented Jun 7, 2024

@JuliaRegistrator register subdir=julia branch=julia

@JuliaRegistrator
Copy link

Registration pull request updated: JuliaRegistries/General/108509

Tip: Release Notes

Did you know you can add release notes too? Just add markdown formatted text underneath the comment after the text
"Release notes:" and it will be added to the registry PR, and if TagBot is installed it will also be added to the
release that TagBot creates. i.e.

@JuliaRegistrator register

Release notes:

## Breaking changes

- blah

To add them here just re-invoke and the PR will be updated.

Tagging

After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.

This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:

git tag -a julia-v0.1.1 -m "<description of version>" 34458c2140e6e3182c8903f190f3920746bff2f5
git push origin julia-v0.1.1

@cortner
Copy link
Member Author

cortner commented Jun 19, 2024

@JuliaRegistrator register subdir=julia branch=julia

@JuliaRegistrator
Copy link

Registration pull request updated: JuliaRegistries/General/108509

Tip: Release Notes

Did you know you can add release notes too? Just add markdown formatted text underneath the comment after the text
"Release notes:" and it will be added to the registry PR, and if TagBot is installed it will also be added to the
release that TagBot creates. i.e.

@JuliaRegistrator register

Release notes:

## Breaking changes

- blah

To add them here just re-invoke and the PR will be updated.

Tagging

After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.

This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:

git tag -a julia-v0.1.1 -m "<description of version>" 30634f00ef269824379e931119788f68163f8b05
git push origin julia-v0.1.1

@cortner
Copy link
Member Author

cortner commented Jun 19, 2024

@Luthaf and @ceriottm -- I can no longer autoregister new package versions. The auto merging guidelines require the following:

  • License: The package should have an OSI-approved software license
    located in the top-level directory of the package code, e.g. in a file named LICENSE or LICENSE.md. This check is required for the General registry. For other registries, registry maintainers have the option to disable this check.

Would you be happy to rename one of the license files to LICENSE.md?

Not being able to run CI on just the Julia code makes developing in this repo a huge pain. Not merging regularly into main isn't great either. Not being able to automerge new versions kills it.

We may need to revisit this. I wonder if it is simpler for everybody if I move the code into a separate repo afterall, but keep Julia in the docs, link to the Julia repo, maybe even add a CI task to your repo that checks compatibility. (which we really shoudl do anyhow...)

@ceriottm
Copy link
Contributor

Hi @cortner I def see no issue renaming the license file - actually it looks like there is already a file called LICENSE.md. What would make it easier for you to work here? I see no issue for you to merge often to main, and if you don't have already admin access to the repo you def should have.

@cortner
Copy link
Member Author

cortner commented Jun 20, 2024

I don't think I should merge into main since I am insufficiently aware of what is happening in the other languages. If maintainers (@Luthaf etc) are willing to commit merging the julia branch regularly into main fairly regularly, then that should simplify things a bit. The LICENCE.md is the one I created. I hadn't noticed this was already merged into main and I'm now confused why the registration didn't go through. Back to me to figure this out.

@cortner
Copy link
Member Author

cortner commented Jun 20, 2024

@JuliaRegistrator register subdir=julia branch=julia

@JuliaRegistrator
Copy link

Registration pull request updated: JuliaRegistries/General/108509

Tip: Release Notes

Did you know you can add release notes too? Just add markdown formatted text underneath the comment after the text
"Release notes:" and it will be added to the registry PR, and if TagBot is installed it will also be added to the
release that TagBot creates. i.e.

@JuliaRegistrator register

Release notes:

## Breaking changes

- blah

To add them here just re-invoke and the PR will be updated.

Tagging

After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.

This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:

git tag -a julia-v0.1.1 -m "<description of version>" 30634f00ef269824379e931119788f68163f8b05
git push origin julia-v0.1.1

@cortner
Copy link
Member Author

cortner commented Jun 20, 2024

@JuliaRegistrator register subdir=julia branch=julia

@JuliaRegistrator
Copy link

Registration pull request updated: JuliaRegistries/General/108509

Tip: Release Notes

Did you know you can add release notes too? Just add markdown formatted text underneath the comment after the text
"Release notes:" and it will be added to the registry PR, and if TagBot is installed it will also be added to the
release that TagBot creates. i.e.

@JuliaRegistrator register

Release notes:

## Breaking changes

- blah

To add them here just re-invoke and the PR will be updated.

Tagging

After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.

This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:

git tag -a julia-v0.1.1 -m "<description of version>" 309b614189c096f035707c21f0425f5ef915599b
git push origin julia-v0.1.1

@cortner
Copy link
Member Author

cortner commented Jun 20, 2024

@ceriottm -- Thanks. I've solved the current problem. I'll try over the course of the summer to solve the remaining ones as well.

@Luthaf
Copy link
Contributor

Luthaf commented Jun 20, 2024

If maintainers (@Luthaf etc) are willing to commit merging the julia branch regularly into main fairly regularly, then that should simplify things a bit.

I'm happy to merge PR from the julia branch to the main branch! My main concern there is making sure CI keeps working, hence the delay when merging the previous one. But in general if the only changes concern the julia code, I can try to merge PR quickly!

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

No branches or pull requests

4 participants