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

label doesn't get picked up from rockspec #188

Open
teto opened this issue Aug 23, 2022 · 3 comments
Open

label doesn't get picked up from rockspec #188

teto opened this issue Aug 23, 2022 · 3 comments

Comments

@teto
Copy link

teto commented Aug 23, 2022

For all the rockspecs at https://luarocks.org/labels/neovim, I've had to manually add their tag on the website even though I've specified it in the rockspec. Typically:

description = {
	summary = "A completion plugin for neovim",
	labels = { "neovim" },
	detailed = [[
    A completion engine plugin for neovim written in Lua. Completion sources are installed from external repositories and "sourced".
   ]],
	homepage = "https://github.com/hrsh7th/nvim-cmp",
	license = "MIT",
}

I would like to add a template rockspec to https://github.com/nvim-lua/nvim-lua-plugin-template so I would like if it's my way of specifying the labels that is wrong or if it's a website bug ?

@hishamhm
Copy link
Member

I don't know for sure, @leafo will know better, but I think what happens is that the metadata, including labels, is only picked up the first time you upload a rockspec, and not for each subsequent release... it would probably make sense for it to pick it up from the latest one, but whether this behavior is easy/hard to change, I don't know!

@teto
Copy link
Author

teto commented Aug 23, 2022

Thanks for the answer :) In my case it fails also the first time.

@leafo
Copy link
Collaborator

leafo commented Nov 7, 2022

I believe the labels functionality on the site was developed at a separate time from when labels were made available on the rockspec format, so they are currently not used. You will have to currently manually set the labels on the web interface for the module

@teto teto moved this to Todo in Plugin management Dec 28, 2022
teto added a commit to teto/nvim-spectre that referenced this issue Aug 12, 2023
 ### Summary

 This PR is part of a push to get (neo)vim plugins on [LuaRocks](https://luarocks.org/labels/neovim).

     * See [this blog post](https://mrcjkb.github.io/posts/2023-01-10-luarocks-tag-release.html), which follows up on [a series of posts](https://teto.github.io/posts/2021-09-17-neovim-plugin-luarocks.html) by @teto.

     * I'm aware this is a vimscript plugin. But that does not prevent `luarocks` from being able to package this smile
       In fact, as a popular plugin that many other plugins depend on, having `vim-repeat` on LuaRocks.org
       could be great for further adoption.

     * If you support this, please let me know if you would like me to add equivalent PRs to your other plugins.

 ### Things done:

     * Add a workflow that publishes tags to LuaRocks when a tag is pushed.

 ### Notes

     * Tagged releases are installed locally and then published to LuaRocks.org.
       On PRs, a test release is installed, but not published.

     * For the release workflow to work, someone with a LuaRocks.org account will have to add their [API key](https://luarocks.org/settings/api-keys) to this repo's [GitHub actions secrets](https://docs.github.com/en/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository).

     * Due to a shortcoming in LuaRocks ([label doesn't get picked up from rockspec luarocks/luarocks-site#188](luarocks/luarocks-site#188)), the `neovim` and/or `vim` labels have to be added  to the LuaRocks package manually (after the first upload), for this plugin to show up in [luarocks.org/labels/neovim](https://luarocks.org/labels/neovim) or [luarocks.org/labels/vim](https://luarocks.org/labels/vim), respectively.

 I have tested this with the [`quick-scope`](https://github.com/unblevable/quick-scope) plugin in Neovim using the following minimal config:

 ```
 mkdir /tmp/nvim-test
 luarocks install --tree /tmp/nvim-test quick-scope
 cd /tmp/nvim-test
 nvim minimal.lua # paste minimal.lua below
 nvim -u minimal.lua test.txt
 ```

 ```lua
 -- minimal.lua

 -- Ignore default config
 local config_path = vim.fn.stdpath('config')
 vim.opt.rtp:remove(config_path)

 -- Ignore default plugins
 local data_path = vim.fn.stdpath('data')
 local pack_path = data_path .. '/site'
 vim.opt.packpath:remove(pack_path)

 vim.opt.runtimepath:append('lib/luarocks/rocks-5.1/quick-scope/scm-1/')
 ```

 ...and it works tada

 ![image](https://user-images.githubusercontent.com/12857160/258669184-ea7bd712-6227-486f-ba21-d9ba44de910c.png)

 **Adding the API key (screen shot)** ![github-add-luarocks-api-key](https://user-images.githubusercontent.com/12857160/211071297-afb129be-7a8f-4662-b282-9d52bb0286de.png)
teto added a commit to teto/nvim-spectre that referenced this issue Aug 12, 2023
 ### Summary

 This PR is part of a push to get (neo)vim plugins on [LuaRocks](https://luarocks.org/labels/neovim).

     * See [this blog post](https://mrcjkb.github.io/posts/2023-01-10-luarocks-tag-release.html), which follows up on [a series of posts](https://teto.github.io/posts/2021-09-17-neovim-plugin-luarocks.html) by @teto.

     * I'm aware this is a vimscript plugin. But that does not prevent `luarocks` from being able to package this smile
       In fact, as a popular plugin that many other plugins depend on, having `vim-repeat` on LuaRocks.org
       could be great for further adoption.

     * If you support this, please let me know if you would like me to add equivalent PRs to your other plugins.

 ### Things done:

     * Add a workflow that publishes tags to LuaRocks when a tag is pushed.

 ### Notes

     * Tagged releases are installed locally and then published to LuaRocks.org.
       On PRs, a test release is installed, but not published.

     * For the release workflow to work, someone with a LuaRocks.org account will have to add their [API key](https://luarocks.org/settings/api-keys) to this repo's [GitHub actions secrets](https://docs.github.com/en/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository).

     * Due to a shortcoming in LuaRocks ([label doesn't get picked up from rockspec luarocks/luarocks-site#188](luarocks/luarocks-site#188)), the `neovim` and/or `vim` labels have to be added  to the LuaRocks package manually (after the first upload), for this plugin to show up in [luarocks.org/labels/neovim](https://luarocks.org/labels/neovim) or [luarocks.org/labels/vim](https://luarocks.org/labels/vim), respectively.

 I have tested this with the [`quick-scope`](https://github.com/unblevable/quick-scope) plugin in Neovim using the following minimal config:

 ```
 mkdir /tmp/nvim-test
 luarocks install --tree /tmp/nvim-test quick-scope
 cd /tmp/nvim-test
 nvim minimal.lua # paste minimal.lua below
 nvim -u minimal.lua test.txt
 ```

 ```lua
 -- minimal.lua

 -- Ignore default config
 local config_path = vim.fn.stdpath('config')
 vim.opt.rtp:remove(config_path)

 -- Ignore default plugins
 local data_path = vim.fn.stdpath('data')
 local pack_path = data_path .. '/site'
 vim.opt.packpath:remove(pack_path)

 vim.opt.runtimepath:append('lib/luarocks/rocks-5.1/quick-scope/scm-1/')
 ```

 ...and it works tada

 ![image](https://user-images.githubusercontent.com/12857160/258669184-ea7bd712-6227-486f-ba21-d9ba44de910c.png)

 **Adding the API key (screen shot)** ![github-add-luarocks-api-key](https://user-images.githubusercontent.com/12857160/211071297-afb129be-7a8f-4662-b282-9d52bb0286de.png)
windwp pushed a commit to nvim-pack/nvim-spectre that referenced this issue Nov 8, 2023
### Summary

 This PR is part of a push to get (neo)vim plugins on [LuaRocks](https://luarocks.org/labels/neovim).

     * See [this blog post](https://mrcjkb.github.io/posts/2023-01-10-luarocks-tag-release.html), which follows up on [a series of posts](https://teto.github.io/posts/2021-09-17-neovim-plugin-luarocks.html) by @teto.

     * I'm aware this is a vimscript plugin. But that does not prevent `luarocks` from being able to package this smile
       In fact, as a popular plugin that many other plugins depend on, having `vim-repeat` on LuaRocks.org
       could be great for further adoption.

     * If you support this, please let me know if you would like me to add equivalent PRs to your other plugins.

 ### Things done:

     * Add a workflow that publishes tags to LuaRocks when a tag is pushed.

 ### Notes

     * Tagged releases are installed locally and then published to LuaRocks.org.
       On PRs, a test release is installed, but not published.

     * For the release workflow to work, someone with a LuaRocks.org account will have to add their [API key](https://luarocks.org/settings/api-keys) to this repo's [GitHub actions secrets](https://docs.github.com/en/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository).

     * Due to a shortcoming in LuaRocks ([label doesn't get picked up from rockspec luarocks/luarocks-site#188](luarocks/luarocks-site#188)), the `neovim` and/or `vim` labels have to be added  to the LuaRocks package manually (after the first upload), for this plugin to show up in [luarocks.org/labels/neovim](https://luarocks.org/labels/neovim) or [luarocks.org/labels/vim](https://luarocks.org/labels/vim), respectively.

 I have tested this with the [`quick-scope`](https://github.com/unblevable/quick-scope) plugin in Neovim using the following minimal config:

 ```
 mkdir /tmp/nvim-test
 luarocks install --tree /tmp/nvim-test quick-scope
 cd /tmp/nvim-test
 nvim minimal.lua # paste minimal.lua below
 nvim -u minimal.lua test.txt
 ```

 ```lua
 -- minimal.lua

 -- Ignore default config
 local config_path = vim.fn.stdpath('config')
 vim.opt.rtp:remove(config_path)

 -- Ignore default plugins
 local data_path = vim.fn.stdpath('data')
 local pack_path = data_path .. '/site'
 vim.opt.packpath:remove(pack_path)

 vim.opt.runtimepath:append('lib/luarocks/rocks-5.1/quick-scope/scm-1/')
 ```

 ...and it works tada

 ![image](https://user-images.githubusercontent.com/12857160/258669184-ea7bd712-6227-486f-ba21-d9ba44de910c.png)

 **Adding the API key (screen shot)** ![github-add-luarocks-api-key](https://user-images.githubusercontent.com/12857160/211071297-afb129be-7a8f-4662-b282-9d52bb0286de.png)
rcasia added a commit to rcasia/neotest-java that referenced this issue Aug 11, 2024
Hey 👋 

### Summary

This PR is part of a push to get neovim plugins on
[LuaRocks](https://luarocks.org/labels/neovim).

See also:

- [rocks.nvim](https://github.com/nvim-neorocks/rocks.nvim), a new
luarocks-based plugin manager.
- [this blog
post](https://mrcjkb.github.io/posts/2023-01-10-luarocks-tag-release.html).

### Things done:

- Add a workflow that publishes tags to luarocks.org when a tag or
release is pushed.

### Notes:

> [!IMPORTANT]
> 
> - **For the luarocks workflow to work, someone with a luarocks.org
account will have to add their [API
key](https://luarocks.org/settings/api-keys) to this repo's [GitHub
actions
secrets](https://docs.github.com/en/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository)**.

- Tagged releases are installed locally and then published to
luarocks.org.
- If you push tags from a local checkout, the workflow is triggered
automatically.
- If you use GitHub releases to create tags, you may need to [add a PA
token](https://github.com/nvim-neorocks/sample-luarocks-plugin?tab=readme-ov-file#generating-a-pat-personal-access-token)
for the workflow to be triggered automatically.
- Due to a shortcoming in LuaRocks
(luarocks/luarocks-site#188), the `neovim`
and/or `vim` labels have to be added to the LuaRocks package manually
(after the first upload), for this plugin to show up in
https://luarocks.org/labels/neovim or https://luarocks.org/labels/vim,
respectively.

See also [this guide](https://github.com/vhyrro/sample-luarocks-plugin).

Co-authored-by: Ricardo Casía <[email protected]>
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
@leafo @hishamhm @teto and others