All Projects → JuliaRegistries → Registrator.jl

JuliaRegistries / Registrator.jl

Licence: other
Julia package registration bot

Programming Languages

julia
2034 projects

Labels

Projects that are alternatives of or similar to Registrator.jl

Minebot
Minebot
Stars: ✭ 119 (-8.46%)
Mutual labels:  bot
Go Cqhttp
cqhttp的golang实现,轻量、原生跨平台.
Stars: ✭ 3,481 (+2577.69%)
Mutual labels:  bot
Botbuilder Java
The Microsoft Bot Framework provides what you need to build and connect intelligent bots that interact naturally wherever your users are talking, from text/sms to Skype, Slack, Office 365 mail and other popular services.
Stars: ✭ 127 (-2.31%)
Mutual labels:  bot
Cassandre Trading Bot
Cassandre makes it easy to create your Java crypto trading bot. Our Spring boot starter takes care of exchange connections, accounts, orders, trades, and positions.
Stars: ✭ 120 (-7.69%)
Mutual labels:  bot
Kuku Bot
基于YuQ-Mirai的机器人
Stars: ✭ 120 (-7.69%)
Mutual labels:  bot
Discord.js
discord.js is a powerful Node.js module that allows you to easily interact with the Discord API.
Stars: ✭ 16,432 (+12540%)
Mutual labels:  bot
Paperweekly forum
paperweekly's forum
Stars: ✭ 118 (-9.23%)
Mutual labels:  bot
Discord Haskell
Haskell library for writing Discord bots
Stars: ✭ 129 (-0.77%)
Mutual labels:  bot
Bot
An open-source and self-hosted ticket management bot for Discord - a free alternative to the premium and white-label plans of other popular ticketing bots.
Stars: ✭ 122 (-6.15%)
Mutual labels:  bot
Instagram Tools
Node.JS Instagram Tools
Stars: ✭ 127 (-2.31%)
Mutual labels:  bot
Telegram Robot Rss
A clean and easy to use RSS Newsfeed Bot for fabulous Telegram Messenger App! 🤖 ✉️ ❤️
Stars: ✭ 120 (-7.69%)
Mutual labels:  bot
Whaticket
A very simple Ticket System based on WhatsApp messages, that allow multi-users in same WhatsApp account.
Stars: ✭ 120 (-7.69%)
Mutual labels:  bot
Neuro
🔮 Neuro.js is machine learning library for building AI assistants and chat-bots (WIP).
Stars: ✭ 126 (-3.08%)
Mutual labels:  bot
Sketal
Бот для ВКонтакте. Беседы / группы / развлечения.
Stars: ✭ 119 (-8.46%)
Mutual labels:  bot
Sharpbot
A Discord.js selfbot written by Rayzr - 60 second installation!
Stars: ✭ 127 (-2.31%)
Mutual labels:  bot
Chatbots
Chatbots build with Intelligo Framework.
Stars: ✭ 119 (-8.46%)
Mutual labels:  bot
Botkit
Botkit is an open source developer tool for building chat bots, apps and custom integrations for major messaging platforms.
Stars: ✭ 10,555 (+8019.23%)
Mutual labels:  bot
Tiktokbot
A TikTokBot that downloads trending tiktok videos and compiles them using FFmpeg
Stars: ✭ 126 (-3.08%)
Mutual labels:  bot
Instalike Instagram Bot
automate instagram activities using instagram bot - like follow/unfollow comment; python requests lib
Stars: ✭ 128 (-1.54%)
Mutual labels:  bot
Tsn Ranksystem
A PHP Bot that assigns time based server groups on TeamSpeak3.
Stars: ✭ 124 (-4.62%)
Mutual labels:  bot

Registrator

Build Status CodeCov

"amelia robot logo"

Registrator is a GitHub app that automates creation of registration pull requests for your julia packages to the General registry. Install the app below!

Install Registrator:

install

How to Use

There are two ways to use Registrator: a web interface and a GitHub app.

Via the Web Interface

This workflow supports repositories hosted on either GitHub or GitLab.

Go to https://juliahub.com and log in using your GitHub or GitLab account. Then click on "Register packages" on the left menu. There are also more detailed instructions here.

Via the GitHub App

Unsurprisingly, this method only works for packages whose repositories are hosted on GitHub.

First, install the app on your package(s) as mentioned above. The procedure for registering a new package is the same as for releasing a new version.

  1. Set the (Julia)Project.toml version field in your repository to your new desired version.
  2. Comment @JuliaRegistrator register on the commit/branch you want to register (e.g. like here or here).
  3. If something is incorrect, adjust, and redo step 2.
  4. If the automatic tests pass, but a moderator makes suggestions (e.g., manually updating your (Julia)Project.toml to include a [compat] section with version requirements for dependancies), then incorporate suggestions as you see fit into a new commit, and redo step 2 for the new commit. You don't need to do anything to close out the old request.
  5. Finally, either rely on the TagBot GitHub Action to tag and make a github release or alternatively tag the release manually.

Registrator will look for the project file in the master branch by default, and will use the version set in the (Julia)Project.toml file via, for example, version = "0.1.0". To use a custom branch comment with:

@JuliaRegistrator register branch=name-of-your-branch

The old pseudo-Julia syntax is also still supported:

@JuliaRegistrator register(branch="foo")

Transitioning from REQUIRE to Project.toml

Download gen_project.jl, enter in your package directory and run julia gen_project.jl, resulting in a Project.toml file. You may need to do minor modifications (license, current version, description, etc.) and then remove the REQUIRE file, since it is only used for packages supporting Julia 0.6 and is otherwise irrelevant now.

Check that your package conforms to the required Project.toml structure found in the general package guidelines.

Details for triggering JuliaRegistrator (for step 2 above)

Either:

  1. Open an issue and add @JuliaRegistrator register as a comment. You can re-trigger the registrator by commenting @JuliaRegistrator register again (in case registrator reports an error or to make changes).
  2. Add a comment to a commit and say @JuliaRegistrator register.

Note: Only collaborators on the package repository and public members on the organization the package is under are allowed to register. If you are not a collaborator, you can request a collaborator trigger registrator in a GitHub issue or a comment on a commit.

If you want to register as a private member you should host your own instance of Registrator, see the documentation.

Release notes

If you have enabled TagBot on your repositories, then you may write your release notes in the same place that you trigger Registrator, or allow them to be automatically generated from closed issues and merged pull requests instead. These can later be edited via the GitHub releases interface.

To write your release notes, add a section labeled "Release notes:" or "Patch notes:" to your Registrator trigger issue/comment, after the @JuliaRegistrator trigger. For example,

@JuliaRegistrator register

Release notes:

Check out my new features!

Note that if you have not enabled TagBot, no release will be made at all, and so any release notes you write will not be used.

Note on git tags and GitHub releases

The Julia package manager does not rely on git tags and GitHub releases. However, Registrator will generate a git tag command for you to optionally create a corresponding tag with your package version, or you can use TagBot as is mentioned above.

Note on documentation build

The docs for your project will be automatically built by DocumentationGenerator.jl. Please see that repo for details. Your docs should show up at pkg.julialang.org/docs.

By default, docs/make.jl will be run to build the docs. If that is missing, the README.md will be used instead.

Registering a package in a subdirectory

If the package you want to register is in a subdirectory of your git repository, you can tell Registrator to register it by adding the subdir argument to your trigger, e.g. @JuliaRegistrator register subdir=path/to/my/package.

Approving pull requests on the registry

Pull requests that comply with the automatic merging guidelines will be merged without human intervention periodically. On other cases, a registry maintainer will manually merge the pull request made by Registrator.

Private packages and registries

Private packages will be ignored by the current running instance of Registrator. Please see the documentation on how to host your own Registrator for private packages.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].