Skip to content

Make CI action bumps easier to validate - #23890

Merged
lucia-sb merged 5 commits into
masterfrom
release-hash-check-self-validate
Jun 5, 2026
Merged

Make CI action bumps easier to validate#23890
lucia-sb merged 5 commits into
masterfrom
release-hash-check-self-validate

Conversation

@lucia-sb

@lucia-sb lucia-sb commented Jun 1, 2026

Copy link
Copy Markdown
Contributor

What does this PR do?

Makes two CI workflows able to exercise their actions on demand, so version bumps (e.g. Renovate updates) can be validated without risky side effects:

  • release-hash-check.yml: adds the workflow file to the pull_request paths filter and guards the hash-check script on steps.changed-files.outputs.any_changed == 'true'. The tj-actions/changed-files step now runs on PRs that edit the workflow (validating action bumps), while the script step is skipped when no .in-toto/*.link file changed so the check stays green.
  • test-results-master.yml / flaky-tests.yml: adds a dry_run input to the reusable test-results-master.yml that runs the badge step but skips the commit/push to the badges branch, and exposes it as a workflow_dispatch input on flaky-tests.yml. This lets emibcn/badge-action bumps be validated by dispatching flaky-tests with dry_run: true, without moving the public test-results badge.

Motivation

Several actions used in this repo never run on normal PRs because their workflows are triggered by push-to-master, tags, schedules, or workflow_call. As a result, Renovate action bumps to those workflows merge without ever being exercised in CI. These two changes give tj-actions/changed-files and emibcn/badge-action a safe validation path. Existing callers of test-results-master.yml (master.yml, master-windows.yml) pass no dry_run, so they default to false and continue committing the badge as before.

Review checklist (to be filled by reviewers)

  • Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
  • Add `qa/required` if this PR needs QA validation, or `qa/skip-qa` if it does not. Exactly one of the two is required.
  • If you need to backport this PR to another branch, you can add the `backport/` label to the PR and it will automatically open a backport PR once this one is merged

🤖 Generated with Claude Code

Add the workflow file to the pull_request paths filter so action-version
bumps (e.g. Renovate updates to tj-actions/changed-files) are exercised on
the PR that introduces them. Guard the hash-check script on any_changed so a
workflow-only change still runs the action but doesn't fail with no link file
to validate.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@lucia-sb lucia-sb added the qa/skip-qa Automatically skip this PR for the next QA label Jun 1, 2026
@dd-octo-sts dd-octo-sts Bot added dev/testing dev/tooling and removed qa/skip-qa Automatically skip this PR for the next QA labels Jun 1, 2026
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@lucia-sb lucia-sb added the qa/skip-qa Automatically skip this PR for the next QA label Jun 1, 2026
Add a dry_run input to test-results-master.yml that runs the badge step but
skips committing to the badges branch, and expose it as a workflow_dispatch
input on flaky-tests.yml. This lets action bumps (e.g. Renovate updates to
emibcn/badge-action) be validated on demand without moving the public badge.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@lucia-sb lucia-sb changed the title Run release-hash-check on its own workflow changes Make CI action bumps easier to validate Jun 1, 2026
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@lucia-sb
lucia-sb marked this pull request as ready for review June 1, 2026 13:31
@lucia-sb
lucia-sb requested a review from a team as a code owner June 1, 2026 13:31
description: "Skip committing the test-results badge."
required: false
default: false
type: boolean

@dkirov-dd dkirov-dd Jun 1, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

question
I don't see where this is exercised from the PR changes
What is the use case for the dry_run?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It’s so we can trigger the workflow manually with workflow_dispatch to validate changes for Renovate PRs, without updating the badge. It's on the PR description

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see, from the description I understood it was meant to be used automatically to check the Renovate PRs

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this mean we will need to remember to do this on each Renovate PR?
If so, can we run the dry_run versions of these workflows automatically instead?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would add the validation steps to the runbook along with the other actions that need to be checked.
My concern was that this workflow is fairly expensive to run every time there's a change, since it's only really needed when emibcn/badge-action is bumped, not when the other action is. But Renovate PRs only run once a week, so I guess it's not a big deal. I added the trigger.

- Add pull_request trigger scoped to .github/workflows/test-results-master.yml
- Auto-enable dry_run when triggered by pull request to avoid committing during validation

Rationale: Allows self-validation of the workflow when test-results-master.yml is modified, mirroring the pattern already used for release-hash-check

This commit made by [/dd:git:commit:quick](https://github.com/DataDog/claude-marketplace/tree/main/dd/commands/git/commit/quick.md)
@dd-octo-sts

dd-octo-sts Bot commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

Validation Report

All 21 validations passed.

Show details
Validation Description Status
agent-reqs Verify check versions match the Agent requirements file
ci Validate CI configuration and code coverage settings
codeowners Validate every integration has a CODEOWNERS entry
config Validate default configuration files against spec.yaml
dep Verify dependency pins are consistent and Agent-compatible
http Validate integrations use the HTTP wrapper correctly
imports Validate check imports do not use deprecated modules
integration-style Validate check code style conventions
jmx-metrics Validate JMX metrics definition files and config
labeler Validate PR labeler config matches integration directories
legacy-signature Validate no integration uses the legacy Agent check signature
license-headers Validate Python files have proper license headers
licenses Validate third-party license attribution list
metadata Validate metadata.csv metric definitions
models Validate configuration data models match spec.yaml
openmetrics Validate OpenMetrics integrations disable the metric limit
package Validate Python package metadata and naming
qa-label Validate the pull request declares whether it needs QA for the next Agent release
readmes Validate README files have required sections
saved-views Validate saved view JSON file structure and fields
version Validate version consistency between package and changelog

View full run

@datadog-official

datadog-official Bot commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

Pipelines

Fix all issues with BitsAI

⚠️ Warnings

🚦 4 Pipeline jobs failed

Daily Flaky Tests (every 8 hours) | test / j06ca546 / SNMP   View in Datadog   GitHub Actions

See error Connection error: Failed to resolve 'ddintegrations.blob.core.windows.net' during test execution.

Daily Flaky Tests (every 8 hours) | test / j46da136 / JBoss_WildFly   View in Datadog   GitHub Actions

See error Could not resolve 'ddintegrations.blob.core.windows.net:443'. Unable to start the Agent due to failed network resolution.

Daily Flaky Tests (every 8 hours) | test / j5a9585a / IBM ACE   View in Datadog   GitHub Actions

See error Failed to download required file from ddintegrations.blob.core.windows.net. Error: Could not resolve host: ddintegrations.blob.core.windows.net

View all 4 failed jobs.

Useful? React with 👍 / 👎

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 5b87fee | Docs | Datadog PR Page | Give us feedback!

@github-actions

github-actions Bot commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

Test Results

543 files  +3  543 suites  +3   54m 8s ⏱️ +2s
 67 tests ±0   66 ✅ +5   1 💤 ±0  0 ❌  - 1 
706 runs  ±0  658 ✅ +5  48 💤 ±0  0 ❌  - 1 

Results for commit 5b87fee. ± Comparison against base commit 1577abb.

@lucia-sb
lucia-sb requested a review from dkirov-dd June 5, 2026 10:21
@lucia-sb
lucia-sb added this pull request to the merge queue Jun 5, 2026
Merged via the queue into master with commit 6b0eda4 Jun 5, 2026
316 of 320 checks passed
@lucia-sb
lucia-sb deleted the release-hash-check-self-validate branch June 5, 2026 10:24
@dd-octo-sts dd-octo-sts Bot added this to the 7.81.0 milestone Jun 5, 2026
pawel-big-lebowski pushed a commit that referenced this pull request Jun 15, 2026
* Run release-hash-check on its own workflow changes

Add the workflow file to the pull_request paths filter so action-version
bumps (e.g. Renovate updates to tj-actions/changed-files) are exercised on
the PR that introduces them. Guard the hash-check script on any_changed so a
workflow-only change still runs the action but doesn't fail with no link file
to validate.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* Remove redundant comments

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* Add dry-run mode to skip the test-results badge commit

Add a dry_run input to test-results-master.yml that runs the badge step but
skips committing to the badges branch, and expose it as a workflow_dispatch
input on flaky-tests.yml. This lets action bumps (e.g. Renovate updates to
emibcn/badge-action) be validated on demand without moving the public badge.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* Trim dry_run input descriptions

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* chore(ci): run flaky-tests workflow on test-results-master.yml changes

- Add pull_request trigger scoped to .github/workflows/test-results-master.yml
- Auto-enable dry_run when triggered by pull request to avoid committing during validation

Rationale: Allows self-validation of the workflow when test-results-master.yml is modified, mirroring the pattern already used for release-hash-check

This commit made by [/dd:git:commit:quick](https://github.com/DataDog/claude-marketplace/tree/main/dd/commands/git/commit/quick.md)

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants