From ad7ae2a748be057ebf36e01da5e848ac81fdf754 Mon Sep 17 00:00:00 2001 From: Michael Kriese <michael.kriese@visualon.de> Date: Thu, 6 Feb 2025 10:00:07 +0100 Subject: [PATCH] fix(datasource/dart-version): skip old svn revisions (#34059) --- .../datasource/dart-version/__fixtures__/beta.json | 2 ++ .../datasource/dart-version/__fixtures__/stable.json | 2 ++ lib/modules/datasource/dart-version/index.ts | 8 ++++++++ 3 files changed, 12 insertions(+) diff --git a/lib/modules/datasource/dart-version/__fixtures__/beta.json b/lib/modules/datasource/dart-version/__fixtures__/beta.json index 8e2c28bc7e..a1b6d6d6ef 100644 --- a/lib/modules/datasource/dart-version/__fixtures__/beta.json +++ b/lib/modules/datasource/dart-version/__fixtures__/beta.json @@ -10,6 +10,8 @@ "channels/beta/release/2.19.0-255.2.beta/", "channels/beta/release/2.19.0-374.1.beta/", "channels/beta/release/2.19.0-374.2.beta/", + "channels/dev/release/30039/", + "channels/dev/release/30104/", "channels/beta/release/latest/" ] } diff --git a/lib/modules/datasource/dart-version/__fixtures__/stable.json b/lib/modules/datasource/dart-version/__fixtures__/stable.json index f5bb8cab7e..35409a3ab7 100644 --- a/lib/modules/datasource/dart-version/__fixtures__/stable.json +++ b/lib/modules/datasource/dart-version/__fixtures__/stable.json @@ -7,6 +7,8 @@ "channels/stable/release/2.18.0/", "channels/stable/release/2.18.4/", "channels/stable/release/2.18.5/", + "channels/stable/release/30036/", + "channels/stable/release/30107/", "channels/stable/release/latest/" ] } diff --git a/lib/modules/datasource/dart-version/index.ts b/lib/modules/datasource/dart-version/index.ts index 06b5440f8f..5db78cbfc8 100644 --- a/lib/modules/datasource/dart-version/index.ts +++ b/lib/modules/datasource/dart-version/index.ts @@ -5,6 +5,12 @@ import type { GetReleasesConfig, Release, ReleaseResult } from '../types'; import type { DartResponse } from './types'; export const stableVersionRegex = regEx(/^\d+\.\d+\.\d+$/); +/** + * The server returns old svn versions which would need mapping to a version. + * They are very old, so we skip them instead. + * https://github.com/dart-lang/site-www/blob/7d4409c87bb6570b2d8870b20283f81f2b7e08fc/tool/get-dart/dart_sdk_archive/lib/src/svn_versions.dart#L2 + */ +export const svnVersionRegex = regEx(/^\d+$/); export class DartVersionDatasource extends Datasource { static readonly id = 'dart-version'; @@ -65,6 +71,8 @@ export class DartVersionDatasource extends Datasource { .filter((version) => { if ( version === 'latest' || + // skip old svn versions + svnVersionRegex.test(version) || // The API response contains a stable version being released as a non-stable // release. So we filter out these releases here. (channel !== 'stable' && stableVersionRegex.test(version)) -- GitLab