Skip to content

feat: version per upstream release - #26

Merged
jaronoff97 merged 3 commits into
mainfrom
feat/version-per-upstream-release
Aug 20, 2026
Merged

feat: version per upstream release#26
jaronoff97 merged 3 commits into
mainfrom
feat/version-per-upstream-release

Conversation

@jaronoff97

Copy link
Copy Markdown

Please include Jira ticket in title.

Overview

Testing

jaronoff97 and others added 3 commits August 20, 2026 14:14
Dom asked for the Tero layer version to match the DataDog version it is
built from. An AWS layer version is a single integer that AWS only appends
to, so it cannot be set to 119, and it has no room for a patch component.
The previous workflow forced alignment by publishing filler versions in a
loop until the counter reached the target.

Put the upstream version in the layer name instead:

  Tero-Datadog-Extension-119:1     upstream v119, first release
  Tero-Datadog-Extension-119:2     patch on top of upstream v119
  Tero-Datadog-Extension-120:1     upstream v120

The upstream number is then exact in every region from the first publish,
with no filler versions, and a new region needs no catch-up - which matters
for the pending us-west-2 and EU rollout. The layer version integer becomes
the patch number, so v119.2 is expressible.

Tag v119 to publish the next patch, or v119.2 to assert it lands on 2. The
assertion runs before publishing, because a layer version cannot be
renumbered once it exists.

Version parsing lives in scripts/parse_release_version.sh with a --self-test,
since a wrong number here is not reversible. The workflow_dispatch input now
reaches the script through env rather than shell interpolation.

Releasing.md documented layer names that no longer existed
(Datadog-Extension-Tero) and an IAM resource prefix that does not match what
the workflow publishes; both are corrected.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Dom asked for us-west-2 now and all US and EU regions longer term. The
region list was a workflow_dispatch default of us-east-1, so a tag release
reached one region.

Add a DEFAULT_REGIONS env var as the single source of truth: the four US
regions plus the five EU regions AWS enables by default. Both fallbacks now
read it, and the input defaults to empty so there is one list, not three.

Opt-in regions (eu-south-1, eu-south-2, eu-central-2) are left out: a publish
to a region the account has not enabled fails the job. They are named in a
comment for when they are enabled.

This is cheap now only because the upstream version moved into the layer
name. Under the old counter-alignment scheme each new region needed ~95 filler
versions per architecture to catch up.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Adds upstream-release-watch.yml: a daily cron, also runnable by hand, that
checks whether we match DataDog's latest release and moves whichever half is
behind.

It compares two things against upstream's latest v<N>: the version main
contains, recorded in the new .upstream-version file, and whether
Tero-Datadog-Extension-<N> is published. Behind on code opens a merge PR;
level but unpublished triggers a release; otherwise it does nothing.

A release only fires after a human merged the upstream PR, so CI has been
green. A conflicted merge opens an issue rather than a PR — resolving an
upstream merge takes judgement, as v99 showed: stale Cargo.lock entries, a
regenerated licence file, and a signature change that compiled on neither
side alone.

release-extension.yml gains a workflow_call trigger so the watch can invoke
it directly. A tag pushed with GITHUB_TOKEN does not trigger another
workflow, so tagging alone would never publish. github.event_name is the
caller's event, so a scheduled run skips the -dev suffix and publishes a real
release.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@jaronoff97
jaronoff97 merged commit 8a7d8f7 into main Aug 20, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants