Skip to content

This GitHub repository contains a GitHub Action for installing and pre-authenticating the Cloudsmith CLI using OpenID Connect (OIDC). It simplifies CI/CD workflows by automating the setup and authentication process, enhancing security, and ensuring seamless integration with Cloudsmith's universal package management solution.

License

Notifications You must be signed in to change notification settings

cloudsmith-io/cloudsmith-cli-action

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

Cloudsmith CLI Install Action

This GitHub Action installs the Cloudsmith CLI and pre-authenticates it using OIDC or API Key. 🚀

Inputs

  • cli-version: A specific version of the Cloudsmith CLI to install (optional). 📦
  • api-key: API Key for Cloudsmith (optional). 🔑
  • oidc-namespace: Cloudsmith organisation/namespace for OIDC (optional). 🌐
  • oidc-service-slug: Cloudsmith service account slug for OIDC (optional). 🐌
  • pip-install: Install the Cloudsmith CLI via pip (optional). 🐍
  • executable-path: Path to the Cloudsmith CLI executable (optional, default: GITHUB_WORKSPACE/bin/). 🛠️

Example Usage with OIDC

Cloudsmith OIDC documentation 📚

uses: cloudsmith-io/cloudsmith-cli-action@v1.0.0
with:
  oidc-namespace: 'your-oidc-namespace'
  oidc-service-slug: 'your-service-account-slug'

Example Usage with API Key

Personal API Key can be found here, for CI-CD deployments we recommend using Service Accounts. 🔒

uses: cloudsmith-io/cloudsmith-cli-action@v1.0.0
with:
  api-key: 'your-api-key'

Cloudsmith CLI Commands

Full CLI feature list can be found here 📖

Publish a package

For all supported package formats and upload commands please visit our Supported Formats page. 📦

name: Publish Python Package

on:
  push:
    branches:
      - main
permission:
  id-token: write
jobs:
  publish:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Install Cloudsmith CLI
        uses: cloudsmith-io/cloudsmith-cli-action@v1.0.0
        with:
          oidc-namespace: 'your-oidc-namespace'
          oidc-service-slug: 'your-service-account-slug'

      - name: Push package to Cloudsmith
        run: |
          cloudsmith push python your-namespace/your-repository dist/*.tar.gz

Contribution

Please check our CONTRIBUTION doc for more information. 🤝

License

This project is licensed under the MIT License - see the LICENSE file for details. 📄

About

This GitHub repository contains a GitHub Action for installing and pre-authenticating the Cloudsmith CLI using OpenID Connect (OIDC). It simplifies CI/CD workflows by automating the setup and authentication process, enhancing security, and ensuring seamless integration with Cloudsmith's universal package management solution.

Resources

License

Stars

Watchers

Forks