Skip to content

Use install-datadog-ci-github-action instead of raw datadog-ci#7

Merged
CarlosNietoP merged 3 commits into
mainfrom
carlos.nietopetinal/standalone-binary
Feb 27, 2026
Merged

Use install-datadog-ci-github-action instead of raw datadog-ci#7
CarlosNietoP merged 3 commits into
mainfrom
carlos.nietopetinal/standalone-binary

Conversation

@CarlosNietoP

Copy link
Copy Markdown
Contributor

Summary

Stacks on #6.

Previously the action required setting up a full Node.js runtime and downloading datadog-ci via npx on every run (~15-30s). This PR switches to DataDog/install-datadog-ci-github-action which downloads a precompiled standalone binary in ~2-5s with no Node.js dependency.

Action input changes:

  • Remove auto-discovery — flag only exists on junit upload, not coverage upload
  • Remove node-version and datadog-ci-version — replaced by version
  • Add flags, format, base-path inputs exposed by the CLI
  • Add version input (default: v5, supports pinning e.g. v5.6.0)

Security: all user inputs interpolated into the shell script are now passed via env: variables instead of direct ${{ }} expansion in the run: block, preventing potential script injection.

Test plan

  • Verify test-upload passes on ubuntu and macos
  • Verify test-pinned-version passes with v5.6.0
  • Verify flags input correctly expands to multiple --flags arguments
  • Verify action runs without Node.js setup step
  • Verify README accurately documents all inputs

🤖 Generated with Claude Code

@CarlosNietoP CarlosNietoP mentioned this pull request Feb 27, 2026
4 tasks
@CarlosNietoP
CarlosNietoP changed the base branch from carlos.nietopetinal/open-source-prep to main February 27, 2026 13:01
@CarlosNietoP CarlosNietoP changed the title Replace npx/Node.js with install-datadog-ci-github-action standalone binary Use install-datadog-ci-github-action instead of raw datadog-ci Feb 27, 2026
@CarlosNietoP
CarlosNietoP force-pushed the carlos.nietopetinal/standalone-binary branch from ed50f96 to ef13a03 Compare February 27, 2026 13:40
…binary

Previously the action required setting up a Node.js runtime and running
datadog-ci via npx, adding ~15-30s of overhead. This switches to
DataDog/install-datadog-ci-github-action which downloads a precompiled
standalone binary in ~2-5s with no Node.js dependency.

Action input changes:
- Remove auto-discovery (flag only exists on junit upload, not coverage)
- Remove node-version and datadog-ci-version (replaced by version)
- Add flags, format, and base-path inputs exposed by the CLI
- Add version input (default: v5, supports pinning e.g. v5.6.0)

All user inputs interpolated into the shell script are now passed via
env vars to prevent script injection via ${{ }} expansion.

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
@CarlosNietoP
CarlosNietoP force-pushed the carlos.nietopetinal/standalone-binary branch from ef13a03 to 4ee8d4f Compare February 27, 2026 13:40
@CarlosNietoP
CarlosNietoP marked this pull request as ready for review February 27, 2026 13:41
@CarlosNietoP
CarlosNietoP requested review from a team as code owners February 27, 2026 13:41
@CarlosNietoP
CarlosNietoP requested a review from xinyeji February 27, 2026 13:41

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 4ee8d4f773

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread action.yaml Outdated
- Switch optional_args from a string to a bash array so values containing
  spaces (e.g. base-path: "my coverage") are passed as single tokens
  instead of being split into multiple arguments (addresses Codex P2 comment)
- Replace echo|xargs flag trimming with pure-bash parameter expansion to
  avoid subprocess forks and xargs's quote/backslash interpretation
- Add rationale comment to shellcheck disable explaining the intentional
  word-splitting of flags_args, EXTRA_ARGS, and FILES

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
Comment thread README.md Outdated
- uses: actions/checkout@v4
- run: make tests
- uses: datadog/coverage-upload-github-action@v1
- uses: DataDog/coverage-upload-github-action@v2

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I think we can keep v1 here, the repo has no tags and no releases yet

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Same for the other examples below

Comment thread README.md Outdated
| `format` | Override the format of the coverage report files (auto-detected by default). | No | |
| `base-path` | Base path (relative to repo root) for the file paths inside the coverage reports. | No | |
| `version` | Version of `datadog-ci` to install. Use a major version like `v5` or a specific tag like `v5.6.0` to pin. | No | `v5` |
| `extra-args` | Extra args to be passed to the `datadog-ci coverage upload` command. | No | |

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Perhaps we can add a link to the coverage upload command's readme here, so the users could go there to see which additional parameters exist

- Use @v1 in README examples (no releases exist yet, so @v2 is premature)
- Add link to datadog-ci coverage upload docs in extra-args description

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
@CarlosNietoP
CarlosNietoP merged commit 6d5913a into main Feb 27, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants