Skip to content

feat: add support for tracking nightly release metadata#1972

Merged
bhearsum merged 2 commits into
mozilla-releng:mainfrom
bhearsum:feat-add-endpoint-for-querying
May 28, 2026
Merged

feat: add support for tracking nightly release metadata#1972
bhearsum merged 2 commits into
mozilla-releng:mainfrom
bhearsum:feat-add-endpoint-for-querying

Conversation

@bhearsum

@bhearsum bhearsum commented May 22, 2026

Copy link
Copy Markdown
Contributor

As part of https://bugzilla.mozilla.org/show_bug.cgi?id=2031045 I need a way to cheaply find the first version a locale shipped with. The solution I'm aiming at is making this data available in product-details. We already gather enough data as part of rebuilding it to make this data available for releases. We don't have it for nightlies. Let's put this data into Ship It, similar to how we're already tracking current nightly version information. After this is landed we'll need to do a backfill of Nightly data by hand, and update it in automation (similar to how we add current nightly version information) before we can start putting this data in product details.

In theory, we could gather it by looking through VCS data or scraping archive -- in practice there's far too many nightlies for this to be practical (1,000s, if not 10,000s).

See also: https://bugzilla.mozilla.org/show_bug.cgi?id=2042596

@bhearsum bhearsum force-pushed the feat-add-endpoint-for-querying branch from 49d30d7 to 30a9db2 Compare May 22, 2026 20:23
@bhearsum bhearsum marked this pull request as ready for review May 25, 2026 18:07
@bhearsum bhearsum requested a review from a team as a code owner May 25, 2026 18:07
Comment thread api/src/shipit_api/admin/api.yml Outdated
Comment thread api/src/shipit_api/public/api.py Outdated
@bhearsum bhearsum force-pushed the feat-add-endpoint-for-querying branch from 30a9db2 to 3a73672 Compare May 26, 2026 16:42
@bhearsum bhearsum requested a review from jcristau May 26, 2026 16:48

class NightlyRelease(db.Model):
__tablename__ = "shipit_api_nightly_releases"
id = sa.Column(sa.Integer, primary_key=True)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

nit: it's harmless, but not sure we need this id for anything?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

To be honest, I was mostly following the style here: a separate id as the PK like with the other tables.

Comment thread api/src/shipit_api/public/api.py Outdated
@bhearsum bhearsum force-pushed the feat-add-endpoint-for-querying branch from 322a2ab to 71914fd Compare May 27, 2026 15:35

@jcristau jcristau left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks.

Comment thread api/src/shipit_api/public/api.py Outdated
@bhearsum bhearsum force-pushed the feat-add-endpoint-for-querying branch from 71914fd to 7d5bbe2 Compare May 27, 2026 18:37
Comment thread api/src/backend_common/api.yml Outdated
Comment thread api/src/backend_common/api.yml Outdated
Comment thread api/src/backend_common/api.yml Outdated
/nightly-release:
get:
summary: List nightly releases
operationId: shipit_api.public.api.list_nightly_releases

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Is referencing shipit_api.public from backend_common OK? (I guess so, there's references to it from the admin api.yml already, it just surprised me a bit)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

There's no technical reason...although I can see why it's surprising and maybe confusing. I guess the alternatives here are duplication of the GET endpoint or moving the handler into backend_common. The latter would be worse IMO. The former might be okay at the risk of future diversion. (I'm inclined to just leave this as is for now.)

@bhearsum bhearsum force-pushed the feat-add-endpoint-for-querying branch from 7d5bbe2 to 6208a79 Compare May 28, 2026 13:01
@bhearsum bhearsum merged commit e9c41d1 into mozilla-releng:main May 28, 2026
7 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.

2 participants