Files
Jamie Tanna 2b84f8c13d refactor(manager/github-actions): restructure directory for known-actions (#46248)
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>
2026-09-16 11:40:35 +00:00

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,
},
};