Skip to content

Commit 98bd597

Browse files
authored
Merge branch 'main' into va/custom_resource_attributes
2 parents 8f5c0f8 + 7a9882d commit 98bd597

154 files changed

Lines changed: 13465 additions & 2494 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.changeset/add-alerts-page.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@hyperdx/cli": patch
3+
---
4+
5+
Add alerts page (Shift+A) with overview and recent trigger history

.changeset/calm-foxes-fly.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

.changeset/empty-state-component.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

.changeset/fix-k8s-cpu-dashboard.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

.changeset/hot-chicken-jam.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

.claude/skills/playwright/SKILL.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ Delegate to the **`playwright-test-generator`** agent (via the Agent tool). Pass
2323

2424
The agent will drive a real browser, execute the steps live, and produce spec code that follows HyperDX conventions. Review the output before proceeding.
2525

26+
NOTE: When there is an existing spec file covering the feature, add new tests to the existing file instead of creating a new one. This keeps related tests together and avoids fragmentation.
27+
2628
### 2. Test Execution
2729
After the generator agent writes the file, run the test:
2830

.env

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ NEXT_ALL_IN_ONE_IMAGE_NAME_DOCKERHUB=clickhouse/clickstack-all-in-one
88
ALL_IN_ONE_IMAGE_NAME_DOCKERHUB=hyperdx/hyperdx-all-in-one
99
NEXT_OTEL_COLLECTOR_IMAGE_NAME_DOCKERHUB=clickhouse/clickstack-otel-collector
1010
OTEL_COLLECTOR_IMAGE_NAME_DOCKERHUB=hyperdx/hyperdx-otel-collector
11-
CODE_VERSION=2.23.0
12-
IMAGE_VERSION_SUB_TAG=.23.0
11+
CODE_VERSION=2.23.2
12+
IMAGE_VERSION_SUB_TAG=.23.2
1313
IMAGE_VERSION=2
1414
IMAGE_NIGHTLY_TAG=2-nightly
1515
IMAGE_LATEST_TAG=latest

.github/workflows/claude.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,4 +51,4 @@ jobs:
5151
github_token: ${{ secrets.GITHUB_TOKEN }}
5252
use_sticky_comment: 'true'
5353
include_fix_links: 'true'
54-
claude_args: '--max-turns 20'
54+
claude_args: '--max-turns 60'

.github/workflows/pr-triage.yml

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,16 @@ jobs:
138138
{ owner, repo, pull_number: prNumber, per_page: 100 }
139139
);
140140
const files = filesRes.map(f => f.filename);
141-
const linesChanged = filesRes.reduce((sum, f) => sum + f.additions + f.deletions, 0);
141+
const TEST_FILE_PATTERNS = [
142+
/\/__tests__\//,
143+
/\.test\.[jt]sx?$/,
144+
/\.spec\.[jt]sx?$/,
145+
/^packages\/app\/tests\//,
146+
];
147+
const isTestFile = f => TEST_FILE_PATTERNS.some(p => p.test(f));
148+
const nonTestFiles = filesRes.filter(f => !isTestFile(f.filename));
149+
const testLines = filesRes.filter(f => isTestFile(f.filename)).reduce((sum, f) => sum + f.additions + f.deletions, 0);
150+
const linesChanged = nonTestFiles.reduce((sum, f) => sum + f.additions + f.deletions, 0);
142151
143152
// Fetch PR metadata
144153
const { data: pr } = await github.rest.pulls.get({ owner, repo, pull_number: prNumber });
@@ -250,7 +259,7 @@ jobs:
250259
`<details><summary>Stats</summary>`,
251260
'',
252261
`- Files changed: ${files.length}`,
253-
`- Lines changed: ${linesChanged}`,
262+
`- Lines changed: ${linesChanged}${testLines > 0 ? ` (+ ${testLines} in test files, excluded from tier calculation)` : ''}`,
254263
`- Branch: \`${branchName}\``,
255264
`- Author: ${author}`,
256265
'',

.github/workflows/release.yml

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -418,6 +418,106 @@ jobs:
418418
"${IMAGE}:${VERSION}-arm64"
419419
done
420420
421+
# ---------------------------------------------------------------------------
422+
# CLI – compile standalone binaries and upload as GitHub Release assets
423+
# npm publishing is handled by changesets in the check_changesets job above.
424+
# This job only compiles platform-specific binaries and creates a GH Release.
425+
# ---------------------------------------------------------------------------
426+
release-cli:
427+
name: Release CLI Binaries
428+
needs: [check_changesets, check_version]
429+
if: needs.check_version.outputs.should_release == 'true'
430+
runs-on: ubuntu-24.04
431+
steps:
432+
- name: Checkout
433+
uses: actions/checkout@v4
434+
- name: Setup node
435+
uses: actions/setup-node@v4
436+
with:
437+
node-version-file: '.nvmrc'
438+
cache-dependency-path: 'yarn.lock'
439+
cache: 'yarn'
440+
- name: Setup Bun
441+
uses: oven-sh/setup-bun@v2
442+
with:
443+
bun-version: '1.3.11'
444+
- name: Install dependencies
445+
run: yarn install
446+
- name: Build common-utils
447+
run: make ci-build
448+
- name: Get CLI version
449+
id: cli_version
450+
run: |
451+
CLI_VERSION=$(node -p "require('./packages/cli/package.json').version")
452+
echo "version=${CLI_VERSION}" >> $GITHUB_OUTPUT
453+
echo "CLI version: ${CLI_VERSION}"
454+
- name: Check if CLI release already exists
455+
id: check_cli_release
456+
env:
457+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
458+
run: |
459+
if gh release view "cli-v${{ steps.cli_version.outputs.version }}" > /dev/null 2>&1; then
460+
echo "Release cli-v${{ steps.cli_version.outputs.version }} already exists. Skipping."
461+
echo "exists=true" >> $GITHUB_OUTPUT
462+
else
463+
echo "Release does not exist. Proceeding."
464+
echo "exists=false" >> $GITHUB_OUTPUT
465+
fi
466+
- name: Compile CLI binaries
467+
if: steps.check_cli_release.outputs.exists == 'false'
468+
working-directory: packages/cli
469+
run: |
470+
yarn compile:linux
471+
yarn compile:macos
472+
yarn compile:macos-x64
473+
- name: Create GitHub Release
474+
if: steps.check_cli_release.outputs.exists == 'false'
475+
uses: softprops/action-gh-release@153bb8e04406b158c6c84fc1615b65b24149a1fe # v2.6.1
476+
with:
477+
tag_name: cli-v${{ steps.cli_version.outputs.version }}
478+
name: '@hyperdx/cli v${{ steps.cli_version.outputs.version }}'
479+
body: |
480+
## @hyperdx/cli v${{ steps.cli_version.outputs.version }}
481+
482+
### Installation
483+
484+
**npm (recommended):**
485+
```bash
486+
npm install -g @hyperdx/cli
487+
```
488+
489+
**Or run directly with npx:**
490+
```bash
491+
npx @hyperdx/cli tui -s <your-hyperdx-api-url>
492+
```
493+
494+
**Manual download (standalone binary, no Node.js required):**
495+
```bash
496+
# macOS Apple Silicon
497+
curl -L https://github.com/hyperdxio/hyperdx/releases/download/cli-v${{ steps.cli_version.outputs.version }}/hdx-darwin-arm64 -o hdx
498+
# macOS Intel
499+
curl -L https://github.com/hyperdxio/hyperdx/releases/download/cli-v${{ steps.cli_version.outputs.version }}/hdx-darwin-x64 -o hdx
500+
# Linux x64
501+
curl -L https://github.com/hyperdxio/hyperdx/releases/download/cli-v${{ steps.cli_version.outputs.version }}/hdx-linux-x64 -o hdx
502+
503+
chmod +x hdx && sudo mv hdx /usr/local/bin/
504+
```
505+
506+
### Usage
507+
508+
```bash
509+
hdx auth login -s <your-hyperdx-api-url>
510+
hdx tui
511+
```
512+
draft: false
513+
prerelease: false
514+
files: |
515+
packages/cli/dist/hdx-linux-x64
516+
packages/cli/dist/hdx-darwin-arm64
517+
packages/cli/dist/hdx-darwin-x64
518+
env:
519+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
520+
421521
# ---------------------------------------------------------------------------
422522
# Downstream notifications
423523
# ---------------------------------------------------------------------------
@@ -553,6 +653,7 @@ jobs:
553653
publish-otel-collector,
554654
publish-local,
555655
publish-all-in-one,
656+
release-cli,
556657
notify_helm_charts,
557658
notify_ch,
558659
notify_clickhouse_clickstack,

0 commit comments

Comments
 (0)