mirror of
https://github.com/renovatebot/renovate.git
synced 2026-10-26 15:31:53 +00:00
2b84f8c13d
As noted in #46242, the `known-actions.ts` file was getting a bit big. Where we have dynamic extractions, using `transform`, we split these into a `<datasource>-dynamic.ts` file. Where we have multiple packages extracted from the same Action, we use `multiple.ts`. Per suggestion from Sebastian, we can break this down by the datasource used by the Action's inputs. We can also try to enforce the structure of the directories by adding a test in each file. Co-authored-by: Claude Sonnet 5 <jamie.tanna+claude-code@mend.io>
23 lines
918 B
TypeScript
23 lines
918 B
TypeScript
import { z } from 'zod/v4';
|
|
import { RustVersionDatasource } from '../../../datasource/rust-version/index.ts';
|
|
import type { ActionSchema, KnownActionConfig } from '../types.ts';
|
|
import { parseValue } from './utils.ts';
|
|
|
|
// `actions-rust-lang/setup-rust-toolchain`'s `toolchain` input is a
|
|
// comma-separated list of toolchains; only the LAST one becomes the active
|
|
// default toolchain, so that's the only one worth tracking.
|
|
const SetupRustToolchainWith: ActionSchema = z
|
|
.object({ toolchain: z.string().optional() })
|
|
.transform(({ toolchain }) => [
|
|
parseValue(toolchain?.split(',').pop()?.trim()),
|
|
]);
|
|
|
|
export const rustVersionDynamicActions: Record<string, KnownActionConfig> = {
|
|
// https://github.com/actions-rust-lang/setup-rust-toolchain
|
|
'actions-rust-lang/setup-rust-toolchain': {
|
|
datasource: RustVersionDatasource.id,
|
|
packageName: 'rust',
|
|
withSchema: SetupRustToolchainWith,
|
|
},
|
|
};
|