Skip to content

Latest commit

 

History

History
91 lines (63 loc) · 3.31 KB

README.md

File metadata and controls

91 lines (63 loc) · 3.31 KB

Cloudsmith CLI Install Action

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

⚠️ Notice: If you are running on self-hosted runners, Python version 3.9 or higher is required. Please ensure your runner meets this requirement to avoid any issues. We recommend using setup-python action for installing Python. 🐍

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/). 🛠️

CLI Configuration Inputs (documentation)

  • api-host: API Host for Cloudsmith (optional). 🌐
  • api-proxy: API Proxy for Cloudsmith (optional). 🔗
  • api-ssl-verify: Verify SSL certificates for Cloudsmith API (optional). 🔒
  • api-user-agent: User Agent for Cloudsmith API (optional). 🕵️‍♂️

Example Usage with OIDC

Cloudsmith OIDC documentation 📚

uses: cloudsmith-io/cloudsmith-cli-action@v1.0.1
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.1
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.1
        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. 📄

Support

If you have any questions or need further assistance, please open an issue on GitHub. We're here to help! 💬 Alternatively, you can contact us at support.cloudsmith.com.