diff --git a/README.md b/README.md index eec0fac..f18c121 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,7 @@ Set up your GitHub Actions workflow with a specific version of [uv](https://docs - [UV_TOOL_BIN_DIR](#uv_tool_bin_dir) - [Tilde Expansion](#tilde-expansion) - [Manifest file](#manifest-file) + - [Add problem matchers](#add-problem-matchers) - [How it works](#how-it-works) - [FAQ](#faq) @@ -454,6 +455,21 @@ This is useful if you maintain your own uv builds or want to override the defaul > This means the action will install the latest version available in the custom manifest file. > This is different from the default behavior of installing the latest version from the official uv releases. +### Add problem matchers + +This action automatically adds +[problem matchers](https://github.com/actions/toolkit/blob/main/docs/problem-matchers.md) +for python errors. + +You can disable this by setting the `add-problem-matchers` input to `false`. + +```yaml +- name: Install the latest version of uv without problem matchers + uses: astral-sh/setup-uv@v6 + with: + add-problem-matchers: false +``` + ## How it works This action downloads uv from the uv repo's official diff --git a/action.yml b/action.yml index cf4b6d1..1ea81d8 100644 --- a/action.yml +++ b/action.yml @@ -68,6 +68,9 @@ inputs: manifest-file: description: "URL to the manifest file containing available versions and download URLs." required: false + add-problem-matchers: + description: "Add problem matchers." + default: "true" outputs: uv-version: description: "The installed uv version. Useful when using latest." diff --git a/dist/save-cache/index.js b/dist/save-cache/index.js index 7542a1d..fb820d2 100644 --- a/dist/save-cache/index.js +++ b/dist/save-cache/index.js @@ -90068,7 +90068,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.manifestFile = exports.githubToken = exports.serverUrl = exports.toolDir = exports.toolBinDir = exports.ignoreEmptyWorkdir = exports.ignoreNothingToCache = exports.pruneCache = exports.cacheDependencyGlob = exports.cacheLocalPath = exports.cacheSuffix = exports.enableCache = exports.checkSum = exports.activateEnvironment = exports.pythonVersion = exports.versionFile = exports.version = exports.workingDirectory = void 0; +exports.addProblemMatchers = exports.manifestFile = exports.githubToken = exports.serverUrl = exports.toolDir = exports.toolBinDir = exports.ignoreEmptyWorkdir = exports.ignoreNothingToCache = exports.pruneCache = exports.cacheDependencyGlob = exports.cacheLocalPath = exports.cacheSuffix = exports.enableCache = exports.checkSum = exports.activateEnvironment = exports.pythonVersion = exports.versionFile = exports.version = exports.workingDirectory = void 0; const node_path_1 = __importDefault(__nccwpck_require__(6760)); const core = __importStar(__nccwpck_require__(7484)); exports.workingDirectory = core.getInput("working-directory"); @@ -90089,6 +90089,7 @@ exports.toolDir = getToolDir(); exports.serverUrl = core.getInput("server-url"); exports.githubToken = core.getInput("github-token"); exports.manifestFile = getManifestFile(); +exports.addProblemMatchers = core.getInput("add-problem-matchers") === "true"; function getVersionFile() { const versionFileInput = core.getInput("version-file"); if (versionFileInput !== "") { diff --git a/dist/setup/index.js b/dist/setup/index.js index 27dc5f6..74cfc85 100644 --- a/dist/setup/index.js +++ b/dist/setup/index.js @@ -126625,8 +126625,10 @@ function setCacheDir(cacheLocalPath) { core.info(`Set UV_CACHE_DIR to ${cacheLocalPath}`); } function addMatchers() { - const matchersPath = path.join(__dirname, `..${path.sep}..`, ".github"); - core.info(`##[add-matcher]${path.join(matchersPath, "python.json")}`); + if (inputs_1.addProblemMatchers) { + const matchersPath = path.join(__dirname, `..${path.sep}..`, ".github"); + core.info(`##[add-matcher]${path.join(matchersPath, "python.json")}`); + } } run(); @@ -126718,7 +126720,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.manifestFile = exports.githubToken = exports.serverUrl = exports.toolDir = exports.toolBinDir = exports.ignoreEmptyWorkdir = exports.ignoreNothingToCache = exports.pruneCache = exports.cacheDependencyGlob = exports.cacheLocalPath = exports.cacheSuffix = exports.enableCache = exports.checkSum = exports.activateEnvironment = exports.pythonVersion = exports.versionFile = exports.version = exports.workingDirectory = void 0; +exports.addProblemMatchers = exports.manifestFile = exports.githubToken = exports.serverUrl = exports.toolDir = exports.toolBinDir = exports.ignoreEmptyWorkdir = exports.ignoreNothingToCache = exports.pruneCache = exports.cacheDependencyGlob = exports.cacheLocalPath = exports.cacheSuffix = exports.enableCache = exports.checkSum = exports.activateEnvironment = exports.pythonVersion = exports.versionFile = exports.version = exports.workingDirectory = void 0; const node_path_1 = __importDefault(__nccwpck_require__(76760)); const core = __importStar(__nccwpck_require__(37484)); exports.workingDirectory = core.getInput("working-directory"); @@ -126739,6 +126741,7 @@ exports.toolDir = getToolDir(); exports.serverUrl = core.getInput("server-url"); exports.githubToken = core.getInput("github-token"); exports.manifestFile = getManifestFile(); +exports.addProblemMatchers = core.getInput("add-problem-matchers") === "true"; function getVersionFile() { const versionFileInput = core.getInput("version-file"); if (versionFileInput !== "") { diff --git a/src/setup-uv.ts b/src/setup-uv.ts index 92d14d5..4ba1b6e 100644 --- a/src/setup-uv.ts +++ b/src/setup-uv.ts @@ -11,6 +11,7 @@ import { } from "./download/download-version"; import { activateEnvironment as activateEnvironmentInput, + addProblemMatchers, cacheLocalPath, checkSum, enableCache, @@ -226,8 +227,10 @@ function setCacheDir(cacheLocalPath: string): void { } function addMatchers(): void { - const matchersPath = path.join(__dirname, `..${path.sep}..`, ".github"); - core.info(`##[add-matcher]${path.join(matchersPath, "python.json")}`); + if (addProblemMatchers) { + const matchersPath = path.join(__dirname, `..${path.sep}..`, ".github"); + core.info(`##[add-matcher]${path.join(matchersPath, "python.json")}`); + } } run(); diff --git a/src/utils/inputs.ts b/src/utils/inputs.ts index 8fe7ddd..8467d72 100644 --- a/src/utils/inputs.ts +++ b/src/utils/inputs.ts @@ -21,6 +21,8 @@ export const toolDir = getToolDir(); export const serverUrl = core.getInput("server-url"); export const githubToken = core.getInput("github-token"); export const manifestFile = getManifestFile(); +export const addProblemMatchers = + core.getInput("add-problem-matchers") === "true"; function getVersionFile(): string { const versionFileInput = core.getInput("version-file");