Repository navigation
ci: release automatically from conventional commits - #10
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 toruby-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=ruby-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.
…ventional Commits…
szymeo
left a comment
There was a problem hiding this comment.
Lead review: no blocking code findings (release computes 1.1.0, pushes once, tags last; endpoints and shapes match the backend). Fix these before merge:
.github/workflows/ci.yml~71-73: make the release re-runnable. Ifgh release createfails after a successful push, every rerun and later merge fails atgem pushuntil someone tags by hand. Skip the push when the version is already live, e.g.curl -fs "https://rubygems.org/api/v2/rubygems/logdash/versions/$V.json" >/dev/null || gem push "logdash-$V.gem", then tag.logdash.gemspec~23: the gem ships.rubocop.ymland a CHANGELOG.md that stops at 1.0.2. Shiplib/plusLICENSEandREADME.mdonly..github/workflows/pr-title.yml: addpermissions: {}abovejobs:(the repo default token is write)..github/workflows/ci.yml~83: replacesecrets: inheritwith the two secrets the smoke test needs, declared under itsworkflow_calland passed explicitly.
LOGDASH_PERSONAL_API_KEY is coming from the owner; nothing to do for it here.
szymeo
left a comment
There was a problem hiding this comment.
One more small one: scripts/version.ts line ~4 still names tony's Info.plist. Say that the lib/logdash/version.rb version is the placeholder CI overwrites before packaging.
…ventional Commits…
…ventional Commits…
Summary
ci: release automatically from conventional commits
Publish
malini/01J695D18C6A7034E759CFE8CAagainstmain..github/workflows/approval.ymlValidation