Skip to content

Fix deprecation warnings in the build-and-test infrastructure#3120

Open
brianaydemir wants to merge 7 commits intoPelicanPlatform:mainfrom
brianaydemir:fix-deprecation
Open

Fix deprecation warnings in the build-and-test infrastructure#3120
brianaydemir wants to merge 7 commits intoPelicanPlatform:mainfrom
brianaydemir:fix-deprecation

Conversation

@brianaydemir
Copy link
Contributor

@brianaydemir brianaydemir commented Feb 14, 2026

Summary

Fix up our infrastructure to no longer use deprecated {stuff}. Closes #3115. Closes #3116.

Details

As is my tendency when it comes to infrastructure and configuration, I tend to make a pass at cleaning up everything within some non-minimal blast radius. This PR is no exception.

One of my pet peeves is configuration that exists to override some default, but there's no commented or discernible reason why. For example, it's usually obvious why one might want to run a pre-commit hook; it's far less obvious why one wouldn't simply defer to the hook's author for when to run it.

Another pet peeve is configuration that fully takes advantage of the fact that tools often don't care about ordering. People are not tools; they not-infrequently read through files linearly. As such, the files should tell a story.

@brianaydemir brianaydemir added this to the v7.25 milestone Feb 14, 2026
@brianaydemir brianaydemir added infrastructure GitHub Actions, Release management, and CI internal Internal code improvements, not user-facing critical High priority for next release configuration labels Feb 14, 2026
@brianaydemir brianaydemir changed the title Fix deprecation warnings Fix deprecation warnings in the build-and-test infrastructure Feb 14, 2026
@brianaydemir brianaydemir force-pushed the fix-deprecation branch 3 times, most recently from c6ebe0a to 86a5c56 Compare February 15, 2026 20:01
@brianaydemir brianaydemir marked this pull request as ready for review February 15, 2026 20:36
@brianaydemir
Copy link
Contributor Author

brianaydemir commented Feb 15, 2026

Tagging @patrickbrophy to review the changes in xrootd_metrics.go — in particular, the typo in the Prometheus metric's name. E.g., do we need to worry about backwards compatibility? Is this a change that needs to be publicized?

Tagging @jhiemstrawisc because he wrote the linked issues.

Aside from that, feel free to pawn the review off to whomever on the team.

@patrickbrophy
Copy link
Contributor

@brianaydemir, yes technically we will need to maintain backwards compatibility with old metric names. The way we could do this would be to duplicate the existing metric, fix the name, and then use it in the same place as the other.

Most UNIX-ish utilities hide dot files by default, which is
appropriate for a file that's used by a tool that's only really
run via pre-commit.

This does require a reasonably up-to-date version of typos.
This is just a bit of house cleaning, to remove otherwise
mysterious references in config files.

See commit 35326e4.
Mainly by letting actions run with their default stages unless
there's some discernable reason why we might not want that.

- Run the config through 'yq' to normalize indentation

- Re-order the checks and group them by purpose

- Add a whole slew of other useful hooks from pre-commit-hooks

  N.B.: I would add 'check-json' to the list, but it doesn't understand
  the JSONC format used to configure the dev container for VS Code.

- Maintenance: Update the versions of the hooks
- Re-order the top-level keys in the config file so that there's
  some method to the madness.

- Install an up-to-date version into our containers by following
  the instructions at https://goreleaser.com/install/#yum-repository.

  The GitHub Actions use whatever is the latest release, which is
  2.13.3 as I write this.

  The containers have been using 2.5.1 due to bad repo config. That
  version is old enough to not be compatible with the fixes for the
  deprecation warnings.
The errors being addressed are "new" due to updated configuration.

(I think? It's not entirely clear to me what's up with the typos.)
"Identifiers" are a grouping of "words", which means I can use
a regex on "words" to exclude TLAs from consideration.

The newer version of 'typos' also seems to have picked up knowledge
of some Go libraries.
@brianaydemir
Copy link
Contributor Author

@patrickbrophy I've preserved the old metric name while correcting the typo.

Speaking of which, I cleaned up the config for typos after having taking a closer look at the difference between "identifiers" and "words".

(There was also a rebase on main, with a conflict in config/config.go.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

configuration critical High priority for next release infrastructure GitHub Actions, Release management, and CI internal Internal code improvements, not user-facing

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Cleanup goreleaser deprecation warnings Changes to pre-commit configuration use deprecated params

3 participants