Repository navigation
ci: release automatically from conventional commits - #4
Conversation
szymeo
left a comment
There was a problem hiding this comment.
Lead review: logdash moved from services to domains, so the smoke test must use the domain model instead of a project.
LOGDASH_API_KEYbecomes 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
appoption set topython-sdk, so each SDK shows up as its own app on that domain. LOGDASH_PERSONAL_API_KEYis a read-only key (Logs read, Metrics read) restricted to that domain.GET https://api.logdash.io/personal-api-keys/whoamireturnsaccess: { kind: "clusters", ids: [domainId] }. Fail with a clear message unless the kind isclustersand there is an id.- Read logs from
GET /clusters/{domainId}/logs?apps=python-sdk(narrowed to this run's seed) and metrics fromGET /clusters/{domainId}/metrics(each entry hasapp,name,value: match onappandname), 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.
…ntional Commits and fix its…
szymeo
left a comment
There was a problem hiding this comment.
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 andset -estops the script silently, skipping the diagnostics at ~109-118. Add|| trueinside both$(...)so the script reports what the API said.ci.yml~86: replacesecrets: inherit, which handsPYPI_API_TOKENto the smoke test, withLOGDASH_API_KEYandLOGDASH_PERSONAL_API_KEY, declared under the smoke workflow'sworkflow_call.pr-title.yml:permissions: {}abovejobs:.- Make the release re-runnable: skip the upload when the version is already on PyPI (
skip-existing: trueon pypa/gh-action-pypi-publish, or checkhttps://pypi.org/pypi/logdash/$V/jsonfirst), then tag, so a rerun after a failedgh release createjust tags. scripts/version.ts~4: the comment still names tony's Info.plist; say__version__inlogdash/__init__.pyis 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.
…ntional Commits and fix its…
Summary
ci: release automatically from conventional commits
Publish
malini/01JE982F9A1D7A842498A4A1CAagainstmain..github/workflows/check-deployed-package.yml.github/workflows/ci.yml.github/workflows/pr-title.ymlcheck-deployed-package/run.shscripts/version.tsValidation