Introduction

Released packages support versioning, enable version history exploration, showcase examples and READMEs, and offer additional functionalities. We highly recommend deploying reusable packages to a hub.

Management of public packages occurs through Git and GitHub. The module publishing process is swift, taking only a few minutes. Once a module is published, introducing a new version is a seamless task—simply push a properly formatted Git tag.

The hub dynamically extracts information about a module directly from its source. The module’s name, documentation, and dependencies are all parsed and made accessible through IPMHub.io or with IPM. This includes the same comprehensive information for any subpackages or examples found within the module’s source repository.

Requirements

Everyone can publish packages to our hub. In our free tier you have to comply with the following requirements and guidelines:

Github

For publishing packages to the public hub, your module code must be hosted in a public repository on GitHub. This allows for open access and community contribution, which fosters a vibrant ecosystem.

Naming conventions

Please use a names that is meaningfull to the content of your package. The following rules apply to all packages:

  • May only contains a-z 0-9 -(dash) and _ (underscores)
  • Max 36 chars

Tagging

We use Git tags to version you packages. A valid tag is a semantic tag like x.y.z, for example 1.2.3 or 0.1.23. We currently do not support pre or suffixes.

Publish

Getting you package published in the hub consists of two main tasks.

Create package

  1. Sign in to Portal IPMHub

  2. There are multiple locations that will lead you to the add package page.

    add package one

    Click the image to enlarge

    add package one

    Click the image to enlarge

  3. Press the blue button “Sign in to Github” which can be found in the box with a name: “GitHub linked packages”

    1. Sign in to GitHub.

      add package one

      Click the image to enlarge

    2. Signin to GitHub

      add package one

      Click the image to enlarge

    3. Allow our app the access your repositories.

      add package one

      Click the image to enlarge

  4. Click the button “Create package”

    add package one

    Click the image to enlarge

  5. Fill in the form.

    • Package name - The name of your package
    • Package description - Provide a decsription of your package. This information is visable in the search results and the IPM cli client
    • Select a repository - Select the respository that contains the source code that you want to publish
    • Project URL - Optional, you provide an link for this project, for example to you docs site or home page. If left empty it will set the link of your Git repository.
    • Package type - The type of package it is.
    • Description language - In what language is the description written. Knowing the right language makes sure it’s translated properly
    • License Under which license to you publish the package.
  6. Click the review.

    add package one

    Click the image to enlarge

  7. Confirm the values and create the package.

    add package one

    Click the image to enlarge

Upload new versions

Now the package is created on IPMHub and linked to your GitHub repository, you can start the process of uploading new versions. You can do this by using git tags on new or existing commits. When a commit is pushed to the GitHub servers our background services will be notified and we will prepare your new version in the background.

If your new version is not appearing on IPMHub within 2 minutes please check the following:

  • You have a valid semantic version without prefix or suffix.
  • You don’t pushed more that three tags in one push.
  • The tags is unique, and there is no version of the package with the same value.

Restore webhook

If for some reason the webhook on the GitHub repostory is not working anymore or removed, you can restore it using the following procedure:

  1. In the portal go to the packages page, and select the relevant package.
  2. Click on the edit button.
  3. If we don’t have an active GitHub session click the orange button called login to Github
    1. Sign in to Github.
    2. When succesfully signed in to GitHub go back to the package, and click edit.
  4. Click the green butten with ‘Restore webhook’

Now retry to create a new package, this can be done by removing the tag that missed in IPMHub from from github. Retag the commit and push it to Github.

More information about Git tagging can be found here Git tagging

FAQ

Can I create private packages with a GitHub integration?

Currently, it’s not possible to create private packages or utilize private GitHub repositories with our GitHub integration.

My Repository is not listed?

First, make sure that the GitHub repository you want to link is set to public.

If your package belongs to a GitHub organization, make sure our integration application has sufficient rights.

To check this and grant our application access to your organization (if needed):

  1. Go to GitHub and navigate to the settings page of your profile.
  2. Go to Integrations -> Applications.
  3. Select the application with the name IPMHub Package integration.
  4. Click Grant access.

More information about this topic can be found in the documentation of GitHub