diff --git a/.github/workflows/test_install.yml b/.github/workflows/test_install.yml index faa192a..89d1cfe 100644 --- a/.github/workflows/test_install.yml +++ b/.github/workflows/test_install.yml @@ -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" @@ -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 diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..4903e6d --- /dev/null +++ b/CHANGELOG.md @@ -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 diff --git a/README.md b/README.md index 49f1767..f352de1 100644 --- a/README.md +++ b/README.md @@ -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 @@ -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' @@ -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' ``` @@ -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' @@ -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' diff --git a/action.yml b/action.yml index 9fee716..74c9b38 100644 --- a/action.yml +++ b/action.yml @@ -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: diff --git a/package.json b/package.json index bbe3dea..5661680 100644 --- a/package.json +++ b/package.json @@ -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 .",