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. 🐍
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). 🕵️♂️
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'
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'
Full CLI feature list can be found here 📖
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
Please check our CONTRIBUTION doc for more information. 🤝
This project is licensed under the MIT License - see the LICENSE file for details. 📄
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.