From d34edb056530f0f8295f29e30d73d2eba0c1ea1e Mon Sep 17 00:00:00 2001 From: Kevin Stillhammer Date: Thu, 6 Feb 2025 08:40:41 +0100 Subject: [PATCH] Fix version-file input (#72) The input was previously ignored Fixes: #69 --- .github/workflows/test.yml | 17 +++++++++++++++++ __tests__/fixtures/pyproject.toml | 13 +++++++++++++ dist/ruff-action/index.js | Bin 1450406 -> 1450753 bytes src/download/download-version.ts | 2 ++ src/ruff-action.ts | 10 ++++++++-- 5 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 __tests__/fixtures/pyproject.toml diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index fa3b955..eaae432 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -51,6 +51,23 @@ jobs: with: version: ${{ matrix.ruff-version }} src: __tests__/fixtures/python-project + test-version-from-version-file-pyproject: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Use version from pyproject.toml + id: ruff-action + uses: ./ + with: + src: __tests__/fixtures/python-project + version-file: __tests__/fixtures/pyproject.toml + - name: Correct version gets installed + run: | + if [ "$RUFF_VERSION" != "0.9.3" ]; then + exit 1 + fi + env: + RUFF_VERSION: ${{ steps.ruff-action.outputs.ruff-version }} test-default-version-from-pyproject: runs-on: ubuntu-latest steps: diff --git a/__tests__/fixtures/pyproject.toml b/__tests__/fixtures/pyproject.toml new file mode 100644 index 0000000..f6f703c --- /dev/null +++ b/__tests__/fixtures/pyproject.toml @@ -0,0 +1,13 @@ +[project] +name = "pyython-project" +version = "0.1.0" +description = "Add your description here" +readme = "README.md" +requires-python = ">=3.12" +dependencies = [ + "ruff==0.9.3", +] + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" diff --git a/dist/ruff-action/index.js b/dist/ruff-action/index.js index 866ad61fdce26cb2a5a834eca1bec81819e3ae20..8d79f29fa2f7f9faf1eaca1e67d6d1c0b8ba1cc0 100644 GIT binary patch delta 377 zcmZ2>IHK`bL_-T>3sVbo3rh=Y3tJ0&3r7oQ3s(zw3r`Dg3ttO=i$IIu79r)j>D=W) zT=GGw#rZj9nR)37D%EAFMa7xZPP6m8NSX zKy;+0C_t540d*FEO-W4&gP2eY(ka*=q$)l=dc6?$bjRsJ!YV4&nIMCU;|=woI^8mJ zQfu`TLW@Dx=OmV-7EgayCnPq#ri)Q<`v0jyy3^xk3RzD7I9;e_y3J%EZXM_R(wr29 zy!;Y{w9LE|puGi^0Y&*)smUb)i6t4BM#(}F3ng9R* delta 169 zcmZoX7P0JbL_-T>3sVbo3rh=Y3tJ0&3r7oQ3s(zw3r`Dg3ttO=i$IIu79r)j=>e5O zEZf8Dgx)hw-aC(dduxM`q&TC}^!d|;WW|e13kq^FQ&SWQDhrD8vr>~w^h)w`bEYTE z5(283yuM#-dO?#A+w|ONLh94AW(uiJ{&7HHdie~YqRDShv!lv&wztj_0%Bnx7TMl9 IOSGl~02lT@#Q*>R diff --git a/src/download/download-version.ts b/src/download/download-version.ts index e899129..ad7cda9 100644 --- a/src/download/download-version.ts +++ b/src/download/download-version.ts @@ -71,6 +71,7 @@ export async function resolveVersion( versionInput: string, githubToken: string, ): Promise { + core.debug(`Resolving ${versionInput}...`); const version = versionInput === "latest" ? await getLatestVersion(githubToken) @@ -84,6 +85,7 @@ export async function resolveVersion( if (resolvedVersion === "") { throw new Error(`No version found for ${version}`); } + core.debug(`Resolved version: ${resolvedVersion}`); return resolvedVersion; } diff --git a/src/ruff-action.ts b/src/ruff-action.ts index fb5e3e8..7308c3a 100644 --- a/src/ruff-action.ts +++ b/src/ruff-action.ts @@ -96,16 +96,22 @@ async function determineVersion(): Promise { const versionFromPyproject = getRuffVersionFromPyproject(versionFileInput); if (versionFromPyproject === undefined) { core.warning( - "Could not parse version from supplied pyproject.toml. Using latest version.", + `Could not parse version from ${versionFileInput}. Using latest version.`, ); - return await resolveVersion("latest", githubToken); } + return await resolveVersion(versionFromPyproject || "latest", githubToken); } const pyProjectPath = path.join(src, "pyproject.toml"); if (!fs.existsSync(pyProjectPath)) { + core.info(`Could not find ${pyProjectPath}. Using latest version.`); return await resolveVersion("latest", githubToken); } const versionFromPyproject = getRuffVersionFromPyproject(pyProjectPath); + if (versionFromPyproject === undefined) { + core.warning( + `Could not parse version from ${pyProjectPath}. Using latest version.`, + ); + } return await resolveVersion(versionFromPyproject || "latest", githubToken); }