From ea12b8ac41fb9ef48ba6e9c767c556935b057969 Mon Sep 17 00:00:00 2001 From: Kevin Stillhammer Date: Wed, 7 May 2025 15:28:39 +0200 Subject: [PATCH] Inform user of unsupported old version (#134) Versions older than v0.0.247 do not have binaries in the GitHub releases --- .github/workflows/test.yml | 17 +++++++++++++++++ README.md | 3 +++ dist/ruff-action/index.js | Bin 1481108 -> 1481306 bytes src/ruff-action.ts | 6 ++++++ 4 files changed, 26 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1eefbb8..32d94eb 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -51,6 +51,22 @@ jobs: with: version: ${{ matrix.ruff-version }} src: __tests__/fixtures/python-project + test-unsupported-version: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Try install old version + id: install + continue-on-error: true + uses: ./ + with: + version: v0.0.246 + src: __tests__/fixtures/python-project + - name: Check if the action failed + run: | + if [ ${{ steps.install.outcome }} == "success" ]; then + exit 1 + fi test-version-from-version-file-pyproject: runs-on: ubuntu-latest steps: @@ -272,6 +288,7 @@ jobs: - lint - test-latest-version - test-specific-version + - test-unsupported-version - test-version-from-version-file-pyproject - test-default-version-from-pyproject - test-default-version-from-pyproject-dev-group diff --git a/README.md b/README.md index 04db55f..41e985b 100644 --- a/README.md +++ b/README.md @@ -95,6 +95,9 @@ the ruff version to install. If no pyproject.toml file is found, or no ruff vers `project.dependencies`, `project.optional-dependencies`, or `dependency-groups`, the latest version is installed. +> [!NOTE] +> This action does only support ruff versions v0.0.247 and above. + #### Install the latest version ```yaml diff --git a/dist/ruff-action/index.js b/dist/ruff-action/index.js index 9615d7449d0fc3f1976a1972f59681084a17dd32..712384d01c6e55eb0017fd7dd8d638304d7a00cc 100644 GIT binary patch delta 212 zcmbQTIqKGysD>8C7N!>F7M2#)7Pc1l7LFFq7OocV7M>Q~7QPn#7J(MQ7NIS|&lsos z{$RA&{)|yrkflB|O+lkLHMcCaNH3>EqbRjFKc_4;B`me5I5R&_M?tB~K+izW$i!Sp zQ&XXuO92W>GK%uc67cy^72a*ic1R$@{39oib~Vc w6o96Kj4M{i&q+xwQYgtt%u|4v%Ve%JJ&;>ixcx6H2#Wx*==Q&?V$&xB09TPl&Hw-a delta 71 zcmcb$C2Gp%sD>8C7N!>F7M2#)7Pc1l7LFFq7OocV7M>Q~7QPn#7J(MQ7NIS|<DM YF$oK@wC`mT24WE)7Tvy=O>FLD0BAfHga7~l diff --git a/src/ruff-action.ts b/src/ruff-action.ts index 15b2226..0036840 100644 --- a/src/ruff-action.ts +++ b/src/ruff-action.ts @@ -23,6 +23,7 @@ import { } from "./utils/inputs"; import { getRuffVersionFromRequirementsFile } from "./utils/pyproject"; import * as fs from "node:fs"; +import * as semver from "semver"; async function run(): Promise { const platform = getPlatform(); @@ -62,6 +63,11 @@ async function setupRuff( githubToken: string, ): Promise<{ ruffDir: string; version: string }> { const resolvedVersion = await determineVersion(); + if (semver.lt(resolvedVersion, "v0.0.247")) { + throw Error( + "This action does not support ruff versions older than 0.0.247", + ); + } const toolCacheResult = tryGetFromToolCache(arch, resolvedVersion); if (toolCacheResult.installedPath) { core.info(`Found ruffDir in tool-cache for ${toolCacheResult.version}`);