244 Commits
Author SHA1 Message Date
Julien Pivotto f0387f09ce release: omit authors and parentheses from generated PR references
Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com>
2026-10-26 16:51:51 +01:00
Arve Knudsen d6851c4033 ci: ignore zizmor cache-poisoning in synced golangci-lint workflow (#20158)
The synced zizmor workflow reports cache-poisoning for the synced
golangci-lint workflow in every Go repository, because the workflow runs
on tag and release branch pushes and actions/setup-go caches by default.
zizmor here only scans .github/workflows, so it never checks
scripts/golangci-lint.yml.

Restoring the Go cache is acceptable in this workflow: its token is
read-only, it uses no secrets and it publishes nothing. Ignore the
finding for this step rather than disabling the cache. This differs from
the golangci job in ci.yml, which disables the cache since d5f79f751,
because that job runs in the same workflow as the publish jobs.

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2026-10-23 11:33:28 +02:00
Arthur Silva Sens 06576323aa Use 1-week cooldown for dependabot https://docs.zizmor.sh/audits/#dependabot-cooldown
Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com>
2026-10-20 11:14:07 -03:00
Arthur Silva Sens a532cdaec7 Enforce GitHub Action security across all repositories in the Prometheus org
Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com>
2026-10-20 11:13:55 -03:00
George Krajcsovits af78254755 ui: restore react-app version bump and fix bump-version idempotency (#19627)
The react-app version bump was dropped in #18975 to work around
ERR_PNPM_VERSION_NOT_CHANGED, but the same error also fires from the
primary `pnpm -r` invocation when ui-bump-version is re-run for a
version that was already applied. Add --allow-same-version to both
pnpm version calls: it restores the react-app bump (which has since
had to be applied by hand for every 3.13.x patch release, and was
missed for 3.13.3) and makes the whole command idempotent.

Signed-off-by: György Krajcsovits <gyorgy.krajcsovits@grafana.com>
2026-09-09 09:45:50 +02:00
renovate[bot] 575ab169c7 chore(deps): update actions/setup-go action to v7 (#19581)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-04 14:42:39 +02:00
renovate[bot] 4c95fb165b chore(deps): update dependency go to 1.27.x 2026-08-24 12:47:52 +00:00
Julien Pivotto d3e4b07d32 ci: derive the oldest supported Go version dynamically
The test_go_oldest job pinned the golang-builder image tag by hand, which
had to be bumped on every Go release and was enforced by
scripts/check-go-mod-version.sh. Compute the oldest supported Go version
from https://go.dev/dl/?mode=json instead, and feed it to the job as a
single-row matrix, like list_lts_releases already does for LTS releases.

This also keeps CI green on the next Go minor release. With the version
pinned in the tree, upstream releasing a new minor makes the check fail on
every PR that is not on top of main, and each one has to be rebased on the
bump commit. Reading the version at runtime means every PR picks up the
new N-1 version on its own.

Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com>
2026-08-21 15:43:00 +02:00
renovate[bot] 811ee80a5b Update actions/checkout action to v7.0.1 (#19245)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-07 08:36:23 +02:00
Ayoub Mrini c15129c59c chore: adjust bump_go_version.sh (#19278)
Avoid hardcoded go.mod list so that newly added modules
(e.g. compliance/go.mod) are picked up automatically.

Also handle go.work

Signed-off-by: Ayoub Mrini <ayoubmrini424@gmail.com>
2026-08-06 11:07:46 +02:00
Ben Kochie bc922b7809 Add prometheus group to dependabot config (#19259)
Update all `github.com/prometheus/*` dependencies for
dependabot Go updates. Avoids rebases when updating several.

Signed-off-by: SuperQ <superq@gmail.com>
2026-08-03 20:29:30 +02:00
Ayoub Mrini 444ab006f7 running make update-npm-deps
ALSO

ui: add pnpm dedupe to npm-deps update script

The move to pnpm (#18797) introduced strict dependency isolation.
When npm-check-updates bumps deps independently per workspace, pnpm
can resolve duplicate versions of the same package. This happened
with @codemirror/state (6.7.0 and 6.7.1) after running
`make update-npm-deps`, causing TypeScript build failures:

  src/lint/hybrid.ts(23,33): error TS2345:
    'import(".../@codemirror+state@6.7.0/...").EditorState'
    is not assignable to
    'import(".../@codemirror+state@6.7.1/...").EditorState'.
    Types have separate declarations of a private property 'flags'.

npm avoided this by hoisting into a flat node_modules. Add
`pnpm dedupe` after `pnpm install` to collapse compatible duplicates.

Signed-off-by: Ayoub Mrini <ayoubmrini424@gmail.com>
2026-07-28 11:28:26 +02:00
Ben Kochie c3e85b8884 Add note in synced files (#19186)
Add a note in various synced config files so downstream repos know where
the files come from.

Signed-off-by: SuperQ <superq@gmail.com>
2026-07-14 11:54:26 +00:00
Arthur Silva Sens 732d571b07 Add workflow to dependabot ignore
Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com>
2026-07-14 18:57:58 +09:00
Arthur Silva Sens 43f8527ccc Add automation to let triagers approve PR workflows
Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com>
2026-07-14 09:05:52 +09:00
Julien Pivotto 10bd82a8ea ci: don't delete repo-sync branch when force-updating open PR
push_branch unconditionally deleted the remote branch before pushing.
On the force-update path for an existing bot-only PR, deleting the
branch closes the PR on GitHub, so the PR was lost instead of updated.
Force-push in place on that path and keep the delete only for the
fresh-PR path.

Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com>
2026-07-02 17:50:09 +02:00
Julien Pivotto 5626eed5b4 ci: force-update stale repo-sync PRs when content changes
When a repo_sync PR is already open, the sync script skipped the repo
entirely, so the PR went stale whenever the source files changed again.

Now, if the open PR carries only the single bot commit, the branch is
rebuilt from the target default branch (staying current with the base)
and force-pushed, but only when the synced files actually differ from
the PR branch. PRs that a maintainer has committed to (more than one
commit) are left untouched.

Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com>
2026-07-02 15:13:41 +02:00
Julien 406a0e5fe0 ci: fix repo sync writing dependabot.yml to wrong path (#19077)
The scripts/dependabot.yml -> .github/dependabot.yml remapping was present
in the detection loop but missing from the copy loop, so downstream repos
received a stray scripts/dependabot.yml that Dependabot never reads while
.github/dependabot.yml was never created.

Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com>
2026-07-02 14:44:10 +02:00
Julien Pivotto f8a9929f31 ci: fix no_prometheus_repo_sync opt-out in repo sync
check_no_sync received the fetched file contents but grepped them as a
filename, so the marker was never detected and repos opting out via
no_prometheus_repo_sync were synced anyway. Feed the contents on stdin
with a here-string, matching check_license, and log the filename instead
of the whole file body.

Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com>
2026-07-02 13:29:07 +02:00
György Krajcsovits 39f54360ee Merge remote-tracking branch 'origin/release-3.13' into krajo/merge-release-3.13-to-main 2026-07-01 16:18:37 +02:00
renovate[bot] 2f43e049c5 chore(deps): update golangci/golangci-lint-action action to v9.3.0 (#19064)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-01 15:24:13 +02:00
Ben Kochie 3e6e5c8c84 Sync dependabot configs (#19051)
Add `.github/dependabot.yml` to the repo sync script.
* Sync is optional.
* Add feature to skip files that contain the string `no_prometheus_repo_sync`.
* Add generic dependabot config for Go and GitHub Actions ecosystems.

Signed-off-by: SuperQ <superq@gmail.com>
2026-07-01 14:50:26 +02:00
renovate[bot] b27435d356 chore(deps): update actions/checkout action to v7 (#19056)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-01 14:27:44 +02:00
renovate[bot] 954cb0b5cc chore(deps): update actions/setup-go action to v6.5.0 (#19054)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-01 14:04:40 +02:00
Julien Pivotto 5e280be974 ui: do not tag pre-release npm packages as latest
Derive the npm dist-tag from the Prometheus version (VERSION file) and
download.json so pre-releases and old patches never move the "latest"
tag: pre-releases publish under their channel (rc/beta/alpha/next), the
latest stable under "latest", the newest LTS under "lts", and older
stable or LTS patches under "oldstable". Fail the publish if
download.json cannot be fetched.

Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com>
2026-06-23 10:28:21 +02:00
George KrajcsovitsandClaude Opus 4.8 2fe27be7ac ui: fix check-package version read under pnpm (#18976)
checkPackage read each workspace package's version via `pnpm run env | grep
npm_package_version`, an npm-ism. pnpm has no built-in `env` script, so it
fails with ERR_PNPM_NO_SCRIPT and returns an empty string, making
`ui_release.sh --check-package` report a false version mismatch for every
package.

Read the version with `pnpm pkg get version` instead. Leftover from the
npm-to-pnpm migration (#18797).

Signed-off-by: György Krajcsovits <gyorgy.krajcsovits@grafana.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 10:22:15 +02:00
George Krajcsovits 12cb96a63c fix: no need to pnpm update the react-app separately (#18975)
You get
[ERR_PNPM_VERSION_NOT_CHANGED] Version was not changed: 0.313.0-rc.0
error if you try.

Signed-off-by: György Krajcsovits <gyorgy.krajcsovits@grafana.com>
2026-06-19 12:00:27 +00:00
Julien 18fa2d8b8e ui: link react-app to local codemirror-promql instead of an npm version (#18967)
react-app is not part of the pnpm workspace, so it pulled
@prometheus-io/codemirror-promql from the npm registry by exact version.
During a release, `make ui-bump-version` rewrote that pin to the new,
not-yet-published version, so the subsequent `pnpm install` failed with
ERR_PNPM_NO_MATCHING_VERSION.

Use pnpm's "link:" protocol to consume the locally built workspace package
instead. There is no version to publish or rewrite, react-app always builds
against the in-tree codemirror-promql, and its lockfile stays isolated (which
is why react-app was separated from the workspace in the first place).

build_ui.sh --all already builds the modules before react-app, so dist/ is
present at build time; `make ui-build` passes. Drop the dependency-rewriting
sed from ui_release.sh's bumpVersion accordingly.

Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com>
2026-06-19 10:00:48 +02:00
Julien 5679ecbbc7 Merge pull request #18945 from roidelapluie/roidelapluie/reposync-maintainer-can-modify
ci: allow maintainers to edit repo_sync PRs
2026-06-17 12:15:35 +02:00
Julien Pivotto 13d8952abd ci: allow maintainers to edit repo_sync PRs
Set maintainer_can_modify on the create-pull-request API call so that
target-repo maintainers can push directly to the repo_sync branch from
the GitHub UI instead of only via the local checkout workaround.

Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com>
2026-06-17 09:50:04 +02:00
Julien Pivotto 53cde1b1be chore(UI): Move to pnpm
Switch the UI workspace from npm to pnpm. Declare jest as a direct
devDependency in lezer-promql (pnpm's strict isolation requires every
binary to be an explicit dependency), fix the moduleNameMapper path in
codemirror-promql's jest config to reflect pnpm's per-package
node_modules layout, and add a localStorage mock to mantine-ui's test
setup so module-level Redux slice initializers work under Node.js v22+,
which pre-defines localStorage as undefined on globalThis.

Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com>
2026-06-11 14:13:28 +02:00
renovate[bot] e05f5a74a3 chore(deps): update actions/checkout action to v6.0.3 (#18866)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-07 17:57:45 +02:00
renovate[bot] c0bceeeb27 chore(deps): update golangci/golangci-lint-action action to v9.2.1 (#18870)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-07 17:40:07 +02:00
Julien 55226fb8b2 Merge pull request #18802 from roidelapluie/roidelapluie/reposync-per-org-token
chore(reposync): use per-org PATs for repo sync PR creation
2026-05-27 16:35:47 +02:00
Julien f83961b78e Merge pull request #18800 from roidelapluie/roidelapluie/reposynclicense
scripts: fix LICENSE check using stale target_file in sync_repo_files
2026-05-27 15:32:25 +02:00
Julien Pivotto b67d15347a ci: use per-org PATs for repo sync PR creation
Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com>
2026-05-27 15:23:08 +02:00
Julien e22a55b241 Merge pull request #18801 from roidelapluie/roidelapluie/syncfail
chore(reposync): Debug failures.
2026-05-27 14:27:57 +02:00
Julien Pivotto ae068a8898 chore(reposync): Debug failures.
Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com>
2026-05-27 14:24:10 +02:00
Julien Pivotto 20bc5a2f99 scripts: fix LICENSE check using stale target_file in sync_repo_files
The check_license guard ran before target_file was fetched, so it always
tested the previous iteration's file content (CODE_OF_CONDUCT.md) instead
of the target repo's LICENSE. This caused the LICENSE file to be silently
skipped on every run regardless of the actual license.

Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com>
2026-05-27 10:18:44 +02:00
Julien Pivotto 7657baa6c3 scripts: fork without organization in sync_repo_files
Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com>
2026-05-27 09:59:05 +02:00
Julien Pivotto 0b47509663 chore(reposync): use fork actual name and new API version in sync_repo_files
Read the fork's actual full_name from the fork API response instead of
constructing it.  Pass the fork full_name to post_pull_request so the checkout
hint uses the correct repo name.

Use newly-created scoped PROMBOT_REPOSYNC_TOKEN in the workflow.

Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com>
2026-05-26 17:00:13 +02:00
Julien Pivotto c2386b2da5 scripts: add checkout hint to sync_repo_files PR body
Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com>
2026-05-26 12:28:29 +02:00
Julien Pivotto 4d28ed112b scripts: sync_repo_files via prombot fork
Open the sync PRs from a prombot-owned fork instead of pushing the branch
to the upstream repo. The fork name is prefixed with the upstream org
(e.g. prometheus_node_exporter) so repos with the same name in
different orgs do not collide. The GitHub forks API is idempotent and
returns the existing fork on subsequent calls.

Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com>
2026-05-26 11:52:38 +02:00
Bartlomiej Plotka 2a146bce7f Revert "chore: prepare 3.12.0-rc.0 release" 2026-05-19 08:40:18 +01:00
bwplotka bc598efafc improve generate_release_notes to skip author for consistency
Signed-off-by: bwplotka <bwplotka@gmail.com>
2026-05-18 12:14:36 +01:00
Julien Pivotto 64e465dddc chore: Update NPM deps for 3.12
Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com>
2026-05-08 13:59:50 +02:00
Ben Kochie 7475a07d82 Enable govulncheck in CI (#18553)
Add a CI job to run govulncheck.
* Run daily.
* Run when touching go.{mod,sum}.on PRs and merge to the default branch.
* Cleanup unused / broken govulncheck in Makefile.common.
* Add status badge.
* Add to repo sync for all Go projects.
* Reduce green lines in sync script to make it easier to read the log.

Signed-off-by: SuperQ <superq@gmail.com>
2026-04-22 09:14:54 +02:00
Ben Kochie b81f79b47f Bump actions/setup-go (#18504)
Update actions/setup-go to the latest release.

Signed-off-by: SuperQ <superq@gmail.com>
2026-04-10 09:06:09 +02:00
Ben Kochie c30b596c1f Fix dockerignore sync (#18488)
Add `.dockerignore` to the always sync file list.
* Sort container archs.

Signed-off-by: SuperQ <superq@gmail.com>
2026-04-10 07:19:58 +02:00
SuperQ f186cfdad1 Update common container archs
Promote the Prometheus container archs settings to common so they
are used by default on other projects.
* Add `.dockerignore` to sync script to include docker archs.

Signed-off-by: SuperQ <superq@gmail.com>
2026-04-08 15:25:07 +02:00