Skip to content

jozu-ai/gh-kit-setup

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

KitOps

Setup Kit CLI

This action provides downloading and caching distribution of the requested Kit CLI, and adding it to the PATH

Simplify handoffs between data scientists, app devs, and DevOps.

LICENSE Discord

Official Website

What is KitOps?

KitOps is your toolkit for transforming how you package, share, and deploy AI/ML models. Say goodbye to compatibility concerns and hello to smooth AI/ML collaboration.

KitOps simplifies the handoffs between data scientists, application developers, and SREs working on self-hosted AI/ML models (including LLMs). KitOps' ModelKits create a unified package for models, their dependencies, configurations, and environments. The ModelKit is portable and uses open standards for compatibility with the tools you already use.

homepage-animation-clean.mp4

Usage

See action.yml

- uses: jozu-ai/gh-kit-setup@v1.0.0
  with:
    # The version of Kit CLI to install. Defaults to `latest`
    version: v0.1.1
    # Used to pull kit CLI releases. Since there's a default, this is
    # typically not needed to be suplied.
    # When running this action on github.com, the default value is
    # sufficient.
    # When running on GHES, you can pass a personal access token
    # for github.com to avoid rate limiting.
    token: ''

Basic

steps:
  - uses: jozu-ai/gh-kit-setup@v1.0.0
    id: install_kit

  - name: Run kit command
    shell: bash
    run: |
      set -x
      kit version

Pin a kit version

steps:
  - uses: jozu-ai/gh-kit-setup@v1.0.0
    id: install_kit
    with:
      version: v0.1.1

  - name: Run kit command
    shell: bash
    run: |
      set -x
      kit version

Supported version syntax

The version input supports the Semantic Versioning Specification, for more detailed examples please refer to the SemVer package documentation.

Contributing

Note

You'll need to have a reasonably modern version of Node.js handy (20.x or later should work!). If you are using a version manager like nodenv or nvm, the .node-version file at the root of the repository that will be used to automatically switch to the correct version when you cd into the repository. Additionally, this .node-version file is used by GitHub Actions in any actions/setup-node actions.

  1. Clone this reposutory

  2. 🛠️ Install the dependencies

    npm install
  3. 🏗️ Package the TypeScript for distribution

    npm run bundle
  4. ✅ Run the tests

    npm test

Publishing a New Release

This project includes a helper script, script/release designed to streamline the process of tagging and pushing new releases for GitHub Actions.

GitHub Actions allows users to select a specific version of the action to use, based on release tags. This script simplifies this process by performing the following steps:

  1. Retrieving the latest release tag: The script starts by fetching the most recent release tag by looking at the local data available in your repository.
  2. Prompting for a new release tag: The user is then prompted to enter a new release tag. To assist with this, the script displays the latest release tag and provides a regular expression to validate the format of the new tag.
  3. Tagging the new release: Once a valid new tag is entered, the script tags the new release.
  4. Pushing the new tag to the remote: Finally, the script pushes the new tag to the remote repository. From here, you will need to create a new release in GitHub and users can easily reference the new tag in their workflows.