diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ed4b5bb..6875918 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -418,6 +418,20 @@ jobs: PY shell: bash + test-debian-unstable: + runs-on: ubuntu-latest + container: debian:unstable + steps: + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + persist-credentials: false + - name: Install latest version + uses: ./ + with: + enable-cache: true + - run: uv sync + working-directory: __tests__/fixtures/uv-project + test-musl: runs-on: ubuntu-latest container: alpine @@ -1031,6 +1045,7 @@ jobs: - test-python-version - test-activate-environment - test-activate-environment-custom-path + - test-debian-unstable - test-musl - test-cache-key-os-version - test-cache-local diff --git a/dist/save-cache/index.js b/dist/save-cache/index.js index 758f403..d1c53b2 100644 --- a/dist/save-cache/index.js +++ b/dist/save-cache/index.js @@ -91381,9 +91381,15 @@ function getLinuxOSNameVersion() { const content = node_fs_1.default.readFileSync(file, "utf8"); const id = parseOsReleaseValue(content, "ID"); const versionId = parseOsReleaseValue(content, "VERSION_ID"); + // Fallback for rolling releases (debian:unstable/testing, arch, etc.) + // that don't have VERSION_ID but have VERSION_CODENAME + const versionCodename = parseOsReleaseValue(content, "VERSION_CODENAME"); if (id && versionId) { return `${id}-${versionId}`; } + if (id && versionCodename) { + return `${id}-${versionCodename}`; + } } catch { // Try next file diff --git a/dist/setup/index.js b/dist/setup/index.js index 48cdde3..25fd125 100644 --- a/dist/setup/index.js +++ b/dist/setup/index.js @@ -97253,9 +97253,15 @@ function getLinuxOSNameVersion() { const content = node_fs_1.default.readFileSync(file, "utf8"); const id = parseOsReleaseValue(content, "ID"); const versionId = parseOsReleaseValue(content, "VERSION_ID"); + // Fallback for rolling releases (debian:unstable/testing, arch, etc.) + // that don't have VERSION_ID but have VERSION_CODENAME + const versionCodename = parseOsReleaseValue(content, "VERSION_CODENAME"); if (id && versionId) { return `${id}-${versionId}`; } + if (id && versionCodename) { + return `${id}-${versionCodename}`; + } } catch { // Try next file diff --git a/src/utils/platforms.ts b/src/utils/platforms.ts index 14ce436..bf044ca 100644 --- a/src/utils/platforms.ts +++ b/src/utils/platforms.ts @@ -106,10 +106,16 @@ function getLinuxOSNameVersion(): string { const content = fs.readFileSync(file, "utf8"); const id = parseOsReleaseValue(content, "ID"); const versionId = parseOsReleaseValue(content, "VERSION_ID"); + // Fallback for rolling releases (debian:unstable/testing, arch, etc.) + // that don't have VERSION_ID but have VERSION_CODENAME + const versionCodename = parseOsReleaseValue(content, "VERSION_CODENAME"); if (id && versionId) { return `${id}-${versionId}`; } + if (id && versionCodename) { + return `${id}-${versionCodename}`; + } } catch { // Try next file }