Skip to content

ci: release automatically from conventional commits - #4

Merged
szymeo merged 3 commits into
mainfrom
malini/01JE982F9A1D7A842498A4A1CA
Oct 24, 2026
Merged

szymeo merged 3 commits into
mainfrom
malini/01JE982F9A1D7A842498A4A1CA

Conversation

@szymeo

@szymeo szymeo commented Oct 24, 2026 •

Copy link
Copy Markdown
Member

Summary

ci: release automatically from conventional commits

Publish malini/01JE982F9A1D7A842498A4A1CA against main.

  • .github/workflows/check-deployed-package.yml
  • .github/workflows/ci.yml
  • .github/workflows/pr-title.yml
  • check-deployed-package/run.sh
  • scripts/version.ts

Validation

  • Passed - Validation: node --test scripts/*.test.ts
  • Passed - Validation: node --test 'scripts/*.test.ts'

@szymeo szymeo left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Lead review: logdash moved from services to domains, so the smoke test must use the domain model instead of a project.

  • LOGDASH_API_KEY becomes the ingest key of one shared domain, "SDK smoke tests" (its Settings page, "Ingest key": one write-only key for every app on the domain). The owner adds it, replacing this repo's old per-service key.
  • Send with the SDK's app option set to python-sdk, so each SDK shows up as its own app on that domain.
  • LOGDASH_PERSONAL_API_KEY is a read-only key (Logs read, Metrics read) restricted to that domain. GET https://api.logdash.io/personal-api-keys/whoami returns access: { kind: "clusters", ids: [domainId] }. Fail with a clear message unless the kind is clusters and there is an id.
  • Read logs from GET /clusters/{domainId}/logs?apps=python-sdk (narrowed to this run's seed) and metrics from GET /clusters/{domainId}/metrics (each entry has app, name, value: match on app and name), both with the same bearer. Drop /projects/{id}/....
  • Never print an API key, not even one CI masks.

Check paths, query params and response shapes against logdash-io/logdash.io: apps/backend/src/log/core/log-core.controller.ts (readClusterLogs, ReadClusterLogsQuery in log/core/dto/cluster-logs.query.ts) and apps/backend/src/metric/core/metric-core.controller.ts (readClusterMetrics). The check program needs the app option, so it runs against the version this PR releases; before that, a manual run on this branch is not expected to pass.

@szymeo szymeo left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Lead review: no blocking code findings (release computes 1.2.0, uploads once after tests and before tagging, the version reaches wheel and sdist, endpoints match the backend). Fix these before merge:

  • check-deployed-package/run.sh ~45 and ~86: when the API answers with a JSON error (a 403 for a missing scope, say), jq exits 5 and set -e stops the script silently, skipping the diagnostics at ~109-118. Add || true inside both $(...) so the script reports what the API said.
  • ci.yml ~86: replace secrets: inherit, which hands PYPI_API_TOKEN to the smoke test, with LOGDASH_API_KEY and LOGDASH_PERSONAL_API_KEY, declared under the smoke workflow's workflow_call.
  • pr-title.yml: permissions: {} above jobs:.
  • Make the release re-runnable: skip the upload when the version is already on PyPI (skip-existing: true on pypa/gh-action-pypi-publish, or check https://pypi.org/pypi/logdash/$V/json first), then tag, so a rerun after a failed gh release create just tags.
  • scripts/version.ts ~4: the comment still names tony's Info.plist; say __version__ in logdash/__init__.py is the placeholder CI overwrites.

LOGDASH_PERSONAL_API_KEY is coming from the owner; LOGDASH_API_KEY is already the smoke-test domain's ingest key.

@szymeo
szymeo marked this pull request as ready for review October 24, 2026 21:44
@szymeo
szymeo merged commit 6b3cd9b into main Oct 24, 2026
6 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.

1 participant