Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/test_install.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
- name: "Set up Node.js"
uses: actions/setup-node@v4
with:
node-version: "20"
node-version: "24"
- name: "Install dependencies"
run: npm install
- name: "Run eslint"
Expand Down Expand Up @@ -80,7 +80,7 @@ jobs:
- name: "Set up Node.js"
uses: actions/setup-node@v4
with:
node-version: "20"
node-version: "24"

- name: "Install dependencies"
run: npm install
Expand Down
34 changes: 34 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]
---

### Breaking Changes

- **Node.js requirement updated to 24+** - The action now requires Node.js 24 or higher. If you're using this action, GitHub Actions will automatically use Node 24 runtime. For development and testing, ensure you have Node 24+ installed.

### Changed

- Updated `action.yml` to use `node24` runtime
- Updated test workflows to run on Node 24
- Updated documentation to v2

## [1.0.0] - 2024
---
### Initial Release

- Install Cloudsmith CLI via pip or executable download
- OIDC authentication support
- API Key authentication support
- OIDC-only authentication mode
- Configurable retry logic for OIDC authentication
- CLI configuration options (api-host, api-proxy, api-ssl-verify, api-user-agent)
- Support for Linux, macOS, and Windows runners
- Node 20 runtime support

[1.0.0]: https://github.com/cloudsmith-io/cloudsmith-cli-action/releases/tag/v1.0.0
14 changes: 8 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,15 @@

[![Test Status](https://github.com/cloudsmith-io/cloudsmith-cli-action/actions/workflows/test_install.yml/badge.svg)](https://github.com/cloudsmith-io/cloudsmith-cli-action/actions/workflows/test_install.yml)
[![GitHub Marketplace](https://img.shields.io/badge/Marketplace-Cloudsmith%20CLI%20Install-blue.svg?colorA=24292e&colorB=0366d6&style=flat&longCache=true&logo=github)](https://github.com/marketplace/actions/cloudsmith-cli-install-action)
[![Node.js Version](https://img.shields.io/badge/node-20-brightgreen.svg)](https://nodejs.org/)
[![Node.js Version](https://img.shields.io/badge/node-24-brightgreen.svg)](https://nodejs.org/)
[![License](https://img.shields.io/github/license/cloudsmith-io/cloudsmith-cli-action.svg)](LICENSE)
[![Version](https://img.shields.io/github/v/release/cloudsmith-io/cloudsmith-cli-action.svg)](https://github.com/cloudsmith-io/cloudsmith-cli-action/releases)

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](https://github.com/actions/setup-python) action for installing Python. 🐍
**⚠️ Notice:** The `@v2` of the cloudsmith cli action now runs on Node24 as a minimum requirement. If you still rely on Node20, please use `@v1` and plan for future migration.

**⚠️ 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](https://github.com/actions/setup-python) action for installing Python. 🐍

## Inputs

Expand Down Expand Up @@ -42,7 +44,7 @@ See [CLI configuration documentation](https://github.com/cloudsmith-io/cloudsmit
Cloudsmith OIDC [documentation](https://docs.cloudsmith.com/authentication/openid-connect)

```yaml
uses: cloudsmith-io/cloudsmith-cli-action@v1
uses: cloudsmith-io/cloudsmith-cli-action@v2
with:
oidc-namespace: 'your-oidc-namespace'
oidc-service-slug: 'your-service-account-slug'
Expand All @@ -53,7 +55,7 @@ with:
Personal API Key can be found [here](https://cloudsmith.io/user/settings/api/). For CI-CD deployments we recommend using [Service Accounts](https://docs.cloudsmith.com/accounts-and-teams/service-accounts).

```yaml
uses: cloudsmith-io/cloudsmith-cli-action@v1
uses: cloudsmith-io/cloudsmith-cli-action@v2
with:
api-key: 'your-api-key'
```
Expand All @@ -63,7 +65,7 @@ with:
If you only need to authenticate with Cloudsmith's API without installing the CLI:

```yaml
uses: cloudsmith-io/cloudsmith-cli-action@v1
uses: cloudsmith-io/cloudsmith-cli-action@v2
with:
oidc-namespace: 'your-oidc-namespace'
oidc-service-slug: 'your-service-account-slug'
Expand Down Expand Up @@ -103,7 +105,7 @@ jobs:
uses: actions/checkout@v4

- name: Install Cloudsmith CLI
uses: cloudsmith-io/cloudsmith-cli-action@v1
uses: cloudsmith-io/cloudsmith-cli-action@v2
with:
oidc-namespace: 'your-oidc-namespace'
oidc-service-slug: 'your-service-account-slug'
Expand Down
2 changes: 1 addition & 1 deletion action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ outputs:
oidc-token:
description: "JWT token generated by the Cloudsmith CLI setup action"
runs:
using: 'node20'
using: 'node24'
main: "dist/index.js"

branding:
Expand Down
5 changes: 4 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
{
"name": "cloudsmith-github-action",
"version": "1.0.3",
"version": "2.0.0",
"description": "A GitHub Action to install Cloudsmith CLI and authenticate using OIDC",
"main": "dist/index.js",
"engines": {
"node": ">=24"
},
"scripts": {
"build": "ncc build src/main.js -o dist",
"lint": "eslint .",
Expand Down
Loading