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

Configure JuliaTeam Registrator bot #850

Open
clizbe opened this issue Jan 12, 2024 · 13 comments
Open

Configure JuliaTeam Registrator bot #850

clizbe opened this issue Jan 12, 2024 · 13 comments
Assignees
Labels
help / question Extra attention wanted, remove label once received Type: new feature Add something that doesn't exist yet Zone: setup/admin Technical stuff that makes it work

Comments

@clizbe
Copy link
Member

clizbe commented Jan 12, 2024

Is your feature request related to a problem? Please describe.
Several problems arise from the registry version not keeping up with the dev version.
Related: #452, #835

Describe the solution you'd like
This could be mitigated by using the Julia Registrator bot, which automatically updates the register once configured. That way we can register much more frequently, keeping the two versions in sync.

image

Additional context
eScience implemented this feature for TNO on another project. They're also working on Spine, so let's ask them.

@clizbe
Copy link
Member Author

clizbe commented Jan 22, 2024

In Leuven we agreed this is a good idea. Here's the way forward:

  • Make SpineOpt compatible with general Julia registry
  • Set up registry bot / workflow
  • Put update instruction in README.dev so anyone can do it
  • Add decision to update to the weekly developers meeting agenda (assign someone to do it if we do)

@clizbe
Copy link
Member Author

clizbe commented Mar 8, 2024

We should work on this because it's causing lots of issues:
#880
#835
#833

@clizbe
Copy link
Member Author

clizbe commented Mar 8, 2024

@abelsiqueira I'm thinking of picking up this issue.
Is it really as easy as this?

Image

And then seeing from the community what we need to change before it's accepted?

@clizbe clizbe self-assigned this Mar 8, 2024
@abelsiqueira
Copy link
Contributor

You probably also want to setup TagBot.yml which will automatically create the Release on GitHub after the registration is merged, and also setup a DOCUMENTER_KEY to properly generate the documentation from the tag (step 4 of https://github.com/abelsiqueira/COPIERTemplate.jl shows how). The TagBot.yml can be copied from Tulipa or from https://github.com/abelsiqueira/COPIERTemplate.jl/blob/main/.github/workflows/TagBot.yml

Also, for the process, you don't need to create the comment on the issue. On Tulipa, we create the comment on the commit accessed from the main branch.

@clizbe
Copy link
Member Author

clizbe commented Mar 12, 2024

All good ideas. But for getting SpineOpt in the true Julia Registry, is it as easy as above?

@abelsiqueira
Copy link
Contributor

Almost.
After the JuliaRegistrator is triggered, a PR will be created at the Julia Registry and a bot will evaluate the package for a few things.
Notably:

  • That is has compat bounds on all packages in the Project.toml (looks like this is not the case, better fix before registering)
  • That it loads (i.e., import SpineOpt works) (looks like SpineInterface.jl is required, so it has to be registered first)
  • That the name is ok (shouldn't be an issue)

We can only be sure that all is fine after the PR is created and the bot checks it, but to update the registration after fixing issues, you just have to trigger the bot again.

@clizbe
Copy link
Member Author

clizbe commented Mar 15, 2024

Blocked by spine-tools/SpineInterface.jl#117

@clizbe clizbe added the help / question Extra attention wanted, remove label once received label Sep 24, 2024
@clizbe
Copy link
Member Author

clizbe commented Sep 24, 2024

We need to update Project.toml to specify the upper bound compat for JuMP and Julia. I could just put the latest version, but that might break something.

@abelsiqueira
Copy link
Contributor

The Project.toml file has JuMP = "^1.20", which means 1.20 <= version < 2. Similar for Julia. So the upper bounds are already included in the specification. Ref: https://pkgdocs.julialang.org/v1/compatibility/#Caret-specifiers

@clizbe clizbe mentioned this issue Oct 3, 2024
4 tasks
@clizbe
Copy link
Member Author

clizbe commented Oct 9, 2024

Update this section of docs to just pkg add SpineOpt
image

@clizbe clizbe mentioned this issue Oct 30, 2024
4 tasks
@clizbe
Copy link
Member Author

clizbe commented Oct 30, 2024

First try:
JuliaRegistries/General#118366

@clizbe
Copy link
Member Author

clizbe commented Nov 1, 2024

@tarskul When the PR above is merged, can you try installing using:
pkg> add SpineInterface
pkg> add SpineOpt

And see if they work with Toolbox?

If so we can then update the install docs and ask Toolbox to use the JuliaReg instead of SpineReg.

@tarskul
Copy link
Collaborator

tarskul commented Nov 7, 2024

Somehow I missed this thread. But I did do the tests and so did @ptsavol and everything seems to work. @ptsavol then also said that they would start with making the corresponding changes on the side of Spine Toolbox.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help / question Extra attention wanted, remove label once received Type: new feature Add something that doesn't exist yet Zone: setup/admin Technical stuff that makes it work
Projects
None yet
Development

No branches or pull requests

3 participants