From 577ce95e416a6adb41ce06e35dcf6343976086de Mon Sep 17 00:00:00 2001 From: "Hans J. Johnson" Date: Fri, 1 May 2026 11:12:00 -0500 Subject: [PATCH] =?UTF-8?q?COMP:=20Bump=20srvaroa/labeler=20v0.8=20?= =?UTF-8?q?=E2=86=92=20v1=20to=20avoid=20per-run=20Go=20build=20flakes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The pinned v0.8 (2018-2019) ships an action that builds the Go binary from source on every CI run. Each build downloads dependencies from gopkg.in, which intermittently fails the TLS handshake and aborts the labeling job. The failure has been observed across multiple recent PRs (#5775, #6177, #6164 -- 'Docker build failed with exit code 1' from 'go: gopkg.in/check.v1: net/http: TLS handshake timeout'). srvaroa/labeler ships a pre-built Docker image starting at v1.8.1, so newer versions skip the Go-compile step entirely. The maintainer publishes a floating 'v1' major tag that auto-tracks minor/patch releases; v1.14.0 is current upstream. The v1 schema replaces the v0.8-era flat dict-of-rules with a 'version: 1' header + 'labels:' list of {label, title, files, ...} objects, so .github/labeler.yml is migrated alongside the workflow bump. Pattern semantics are unchanged: both v0.8 and v1 use Go's RE2 regex engine, matching unanchored against PR file paths -- so existing patterns like 'Modules/IO/*' (which is regex 'Modules/IO/' followed by zero-or-more '/') continue to behave the same in v1. --- .github/labeler.yml | 222 +++++++++++++++++---------------- .github/workflows/label-pr.yml | 2 +- 2 files changed, 115 insertions(+), 109 deletions(-) diff --git a/.github/labeler.yml b/.github/labeler.yml index 20215090dd1..44d15ba317c 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -1,108 +1,114 @@ -# Commit prefix regexes -type:Compiler: - title: "^COMP:.*" - -type:Bug: - title: "^BUG:.*" - -type:Documentation: - title: "^DOC:.*" - -type:Enhancement: - title: "^ENH:.*" - -type:Performance: - title: "^PERF:.*" - -type:Style: - title: "^STYLE:.*" - -type:Coverage: - title: "coverage" - -type:Design: - title: "design" - -# Filename regexes -area:Bridge: - files: - - "Modules/Bridge/*" - -area:Core: - files: - - "Modules/Core/*" - -area:Documentation: - files: - - "Documentation/*" - - "Utilities/Doxygen/*" - -area:Examples: - files: - - "Examples/*" - -area:Filtering: - files: - - "Modules/Filtering/*" - -area:IO: - files: - - "Modules/IO/*" - -area:Numerics: - files: - - "Modules/Numerics/*" - -area:Nonunit: - files: - - "src/Nonunit/*" - -area:Python wrapping: - files: - - "Modules/Generators/Python/*" - - "Modules/.*/wrapping/*" - - ".*.notwrapped" - - ".*.py.*" - - ".*.wrap" - -area:Registration: - files: - - "Modules/Registration/*" - -area:Remotes: - files: - - "Modules/Remote/*" - -area:Segmentation: - files: - - "Modules/Segmentation/*" - -area:ThirdParty: - files: - - "Modules/ThirdParty/*" - -area:Video: - files: - - "Modules/Video/*" - -type:Data: - files: - - ".*.jpeg" - - ".*.jpg" - - ".*.md5" - - ".*.png" - - ".*.sha512" - -type:Testing: - files: - - "Testing/*" - - ".*Test.*.cxx" - - ".*Test.*.h.*" - - ".*Test.*.py" - -type:Infrastructure: - files: - - ".github/*" - - "CMake/*" - - "Testing/ContinuousIntegration/*" - - "Utilities/*" +# srvaroa/labeler v1.x configuration. See +# https://github.com/srvaroa/labeler#configuration for schema details. +# Patterns under `files:` are Go RE2 regexes matched unanchored against +# every file path in the PR; `title:` is matched against the PR title. +version: 1 +labels: + # Commit prefix regexes + - label: "type:Compiler" + title: "^COMP:.*" + + - label: "type:Bug" + title: "^BUG:.*" + + - label: "type:Documentation" + title: "^DOC:.*" + + - label: "type:Enhancement" + title: "^ENH:.*" + + - label: "type:Performance" + title: "^PERF:.*" + + - label: "type:Style" + title: "^STYLE:.*" + + - label: "type:Coverage" + title: "coverage" + + - label: "type:Design" + title: "design" + + # Filename regexes + - label: "area:Bridge" + files: + - "Modules/Bridge/*" + + - label: "area:Core" + files: + - "Modules/Core/*" + + - label: "area:Documentation" + files: + - "Documentation/*" + - "Utilities/Doxygen/*" + + - label: "area:Examples" + files: + - "Examples/*" + + - label: "area:Filtering" + files: + - "Modules/Filtering/*" + + - label: "area:IO" + files: + - "Modules/IO/*" + + - label: "area:Numerics" + files: + - "Modules/Numerics/*" + + - label: "area:Nonunit" + files: + - "src/Nonunit/*" + + - label: "area:Python wrapping" + files: + - "Modules/Generators/Python/*" + - "Modules/.*/wrapping/*" + - ".*.notwrapped" + - ".*.py.*" + - ".*.wrap" + + - label: "area:Registration" + files: + - "Modules/Registration/*" + + - label: "area:Remotes" + files: + - "Modules/Remote/*" + + - label: "area:Segmentation" + files: + - "Modules/Segmentation/*" + + - label: "area:ThirdParty" + files: + - "Modules/ThirdParty/*" + + - label: "area:Video" + files: + - "Modules/Video/*" + + - label: "type:Data" + files: + - ".*.jpeg" + - ".*.jpg" + - ".*.md5" + - ".*.png" + - ".*.sha512" + + - label: "type:Testing" + files: + - "Testing/*" + - ".*Test.*.cxx" + - ".*Test.*.h.*" + - ".*Test.*.py" + + - label: "type:Infrastructure" + files: + - ".github/*" + - "CMake/*" + - "Testing/ContinuousIntegration/*" + - "Utilities/*" diff --git a/.github/workflows/label-pr.yml b/.github/workflows/label-pr.yml index a56c000c756..39321596e50 100644 --- a/.github/workflows/label-pr.yml +++ b/.github/workflows/label-pr.yml @@ -10,6 +10,6 @@ jobs: pull-requests: write steps: - - uses: srvaroa/labeler@v0.8 + - uses: srvaroa/labeler@v1 env: GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"