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

JuliaPOMDP Registration Procedure #271

Closed
MaximeBouton opened this issue Sep 19, 2019 · 11 comments
Closed

JuliaPOMDP Registration Procedure #271

MaximeBouton opened this issue Sep 19, 2019 · 11 comments

Comments

@MaximeBouton
Copy link
Contributor

MaximeBouton commented Sep 19, 2019

(we can close this issue once we move this to a proper maintainer documentation as suggested by @Shushman)

Register Packages
Solvers, and other specific packages that shouldn't be registered in the general Registry can be registered to JuliaPOMDP using this script: https://gist.github.com/MaximeBouton/8ddc2cff0bc9b664a34b3c165f35360d

The typical workflow for registering a package called POMDPSolver.jl:

  • ] dev POMDPSolver
  • make bug fixes and edits to POMDPSolver
  • Edit the version number in the Project.toml
  • run the registration script julia private_register.jl ~/.julia/dev/POMDPSolver, the script will push to a branch of the JuliaPOMDP registry.
  • Create and merge the corresponding PR
  • Tag a new version and publish a release using the github UI.

Registrator Bot:
@rejuvyesh tried to set up the bot but it is not working yet and would probably require a lot of effort. We figured it might be ok for now to just use the script above.

@zsunberg
Copy link
Member

Is this ready to go? I think I will try it with ValueIteration shortly.

@MaximeBouton
Copy link
Contributor Author

The script works yes, I have used it a couple times already on both JuliaPOMDP and sisl registry. It could need some improvement e.g. add from the URL by cloning in a tmpdir which the old script was doing.

@zsunberg
Copy link
Member

I'm getting the error "Changing package repo URL not allowed, please submit a pull request with the URL change to the target registry and retry." The problem seems to be that the current url does not have the ".git" on the end. I guess I am just going to manually change it 😲

@zsunberg
Copy link
Member

It does not seem to "push to the master branch of the JuliaPOMDP registry" - instead it makes a new branch that you can do a PR for.

@MaximeBouton
Copy link
Contributor Author

I edited the instructions

@lassepe
Copy link
Member

lassepe commented Sep 21, 2019

When using this script, I am getting:

Registrator.RegEdit.RegBranch("ARDESPOT", v"0.3.0", "register/ARDESPOT/v0.3.0", Dict{String,Any}("error" => "Changing package repo URL not allowed, please submit a pull request with the URL change to the target registry and retry."))

However, I did not change the package repo URL. Any suggestions what I need to do here?

@lassepe
Copy link
Member

lassepe commented Sep 21, 2019

Also, is there any way to use this when having 2-factor authentication enabled? It's asks me for a login via http. I think that does not work, since non-2-factor is only allowed via ssh.

@MaximeBouton
Copy link
Contributor Author

@lassepe is the URL problem similar as what Zach mentioned above?
I am not sure about the 2 factor authentication, I think registrator is using http to interact with github, I don't know how easy/if it is possible to change it.

If this script is causing trouble the alternative is to use this one: https://github.com/sisl/registratura
However be careful!
WARNING /!\ This script copies the compat section of the Project.toml of the repo to the registry, but the compat syntax can differ from the repo and the registry. In particular, specifications like <= are not allowed in the registry. This can cause weird bugs, this is why I suggested using the other script.

@lassepe
Copy link
Member

lassepe commented Sep 23, 2019

@MaximeBouton Sorry, I should have updated the reported issue from above:

When this problem occurred I did not dev the package but I cloned in manually to a different location. After following the exact notes above and deving all the packages, things worked as desired. Also the problem with 2-factor-authentication was easily fixed by simply replacing the repo-urls in your script with their corresponding ssh versions.

@Shushman
Copy link
Contributor

@MaximeBouton I'm getting this stacktrace when I try with GlobalApproximationValueIteration

ERROR: LoadError: LoadError: LoadError: UndefVarError: Project not defined
Stacktrace:
 [1] getproperty(::Module, ::Symbol) at ./sysimg.jl:13
 [2] top-level scope at none:0
 [3] include at ./boot.jl:317 [inlined]
 [4] include_relative(::Module, ::String) at ./loading.jl:1038
 [5] include at ./sysimg.jl:29 [inlined]
 [6] include(::String) at /home/shushman/.julia/packages/Registrator/T1aYW/src/regedit/RegEdit.jl:1
 [7] top-level scope at none:0
 [8] include at ./boot.jl:317 [inlined]
 [9] include_relative(::Module, ::String) at ./loading.jl:1038
 [10] include at ./sysimg.jl:29 [inlined]
 [11] include(::String) at /home/shushman/.julia/packages/Registrator/T1aYW/src/Registrator.jl:1
 [12] top-level scope at none:0
 [13] include at ./boot.jl:317 [inlined]
 [14] include_relative(::Module, ::String) at ./loading.jl:1038
 [15] include(::Module, ::String) at ./sysimg.jl:29
 [16] top-level scope at none:2
 [17] eval at ./boot.jl:319 [inlined]
 [18] eval(::Expr) at ./client.jl:389
 [19] top-level scope at ./none:3
in expression starting at /home/shushman/.julia/packages/Registrator/T1aYW/src/regedit/types.jl:148
in expression starting at /home/shushman/.julia/packages/Registrator/T1aYW/src/regedit/RegEdit.jl:14
in expression starting at /home/shushman/.julia/packages/Registrator/T1aYW/src/Registrator.jl:8
ERROR: LoadError: Failed to precompile Registrator [4418983a-e44d-11e8-3aec-9789530b3b3e] to /home/shushman/.julia/compiled/v1.0/Registrator/Obz5J.ji.
Stacktrace:
 [1] error(::String) at ./error.jl:33
 [2] macro expansion at ./logging.jl:313 [inlined]
 [3] compilecache(::Base.PkgId, ::String) at ./loading.jl:1184
 [4] macro expansion at ./logging.jl:311 [inlined]
 [5] _require(::Base.PkgId) at ./loading.jl:941
 [6] require(::Base.PkgId) at ./loading.jl:852
 [7] macro expansion at ./logging.jl:311 [inlined]
 [8] require(::Module, ::Symbol) at ./loading.jl:834
 [9] include at ./boot.jl:317 [inlined]
 [10] include_relative(::Module, ::String) at ./loading.jl:1038
 [11] include(::Module, ::String) at ./sysimg.jl:29
 [12] exec_options(::Base.JLOptions) at ./client.jl:229
 [13] _start() at ./client.jl:421
in expression starting at /home/shushman/Documents/local/private_register.jl:6

@zsunberg
Copy link
Member

This is no longer needed since we are registering in General

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