Add support for workloads input (#693)

* Add workloads input

* fix typo

* resloves conflicts

* Doc update

---------

Co-authored-by: gowridurgad <gowridurgad@gmail.com>
This commit is contained in:
gowridurgad
2026-01-29 05:42:03 +05:30
committed by GitHub
parent baa11fbfe1
commit 131b410979
5 changed files with 94 additions and 0 deletions

View File

@@ -1,4 +1,5 @@
import * as core from '@actions/core';
import * as exec from '@actions/exec';
import {DotnetCoreInstaller, DotnetInstallDir} from './installer';
import * as fs from 'fs';
import path from 'path';
@@ -74,6 +75,28 @@ export async function run() {
installedDotnetVersions.push(installedVersion);
}
DotnetInstallDir.addToPath();
const workloadsInput = core.getInput('workloads');
if (workloadsInput) {
const workloads = workloadsInput
.split(',')
.map(w => w.trim())
.filter(Boolean);
if (workloads.length) {
try {
core.info(`Refreshing workload manifests...`);
await exec.exec('dotnet', ['workload', 'update']);
core.info(`Installing workloads: ${workloads.join(', ')}`);
await exec.exec('dotnet', ['workload', 'install', ...workloads]);
} catch (err) {
throw new Error(
`Failed to install workloads [${workloads.join(', ')}]: ${err}`
);
}
}
}
}
const sourceUrl: string = core.getInput('source-url');