Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a table to keep product channel versions and APIs to update them #1465

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

gabrielBusta
Copy link
Member

@gabrielBusta gabrielBusta commented May 9, 2024

This is an API that lets us store the current versions of FIREFOX_NIGHTLY, instead of hard-coding it, so we can update this data using an API from a shipitscript task. This is part of the solution to #1462

@gabrielBusta gabrielBusta changed the title Add a table to keep the firefox-nightly version Add a table to keep the firefox-nightly version and APIs to update it May 9, 2024
@gabrielBusta gabrielBusta changed the title Add a table to keep the firefox-nightly version and APIs to update it Add a table to keep product channel versions and APIs to update them May 16, 2024
@gabrielBusta
Copy link
Member Author

gabrielBusta commented May 16, 2024

To grant shipitscript scopes to call the API to update versions we'd need a patch in ci-configuration:

diff --git a/clients.yml b/clients.yml
--- a/clients.yml
+++ b/clients.yml
@@ -862,6 +862,8 @@ project/releng/scriptworker/v2/shipit/de
     - project:releng:services/shipit_api/add_release/devedition
     - project:releng:services/shipit_api/add_release/fennec
     - project:releng:services/shipit_api/add_release/firefox
+    - project:releng:services/shipit_api/update_product_channel_version/firefox
     - project:releng:services/shipit_api/dev/add_release/devedition
     - project:releng:services/shipit_api/dev/add_release/firefox
     - project:releng:services/shipit_api/dev/schedule_phase/devedition/ship_devedition
@@ -897,6 +899,8 @@ project/releng/scriptworker/v2/shipit/pr
     - project:releng:services/shipit_api/add_release/devedition
     - project:releng:services/shipit_api/add_release/fennec
     - project:releng:services/shipit_api/add_release/firefox
+    - project:releng:services/shipit_api/update_product_channel_version/firefox
     - project:releng:services/shipit_api/dev/add_release/devedition
     - project:releng:services/shipit_api/dev/add_release/firefox
     - project:releng:services/shipit_api/dev/schedule_phase/devedition/ship_devedition
@@ -918,6 +922,8 @@ project/releng/scriptworker/v2/shipit/pr
     - project:releng:services/shipit_api/add_release/devedition
     - project:releng:services/shipit_api/add_release/fennec
     - project:releng:services/shipit_api/add_release/firefox
+    - project:releng:services/shipit_api/update_product_channel_version/firefox
     - project:releng:services/shipit_api/production/add_release/devedition
     - project:releng:services/shipit_api/production/add_release/firefox
     - project:releng:services/shipit_api/production/schedule_phase/devedition/ship_devedition

@gabrielBusta
Copy link
Member Author

This needs to be followed by a commit 7fef0f6 to use the Firefox Nightly version stored in the database when rebuilding product details. The reason this has to land first is that I need to seed the initial Firefox Nightly version in the database. Otherwise product details will fail because the new table is empty.

@@ -99,7 +99,8 @@
AUTH0_AUTH_SCOPES = assign_ldap_groups_to_scopes()

# other scopes
AUTH0_AUTH_SCOPES.update({"rebuild_product_details": LDAP_GROUPS["firefox-signoff"], "update_release_status": []})
AUTH0_AUTH_SCOPES.update({"rebuild_product_details": LDAP_GROUPS["firefox-signoff"], "update_release_status": [], "create_product_channel_version/firefox": []})
Copy link
Member Author

Choose a reason for hiding this comment

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

Another follow-up: We will need to grant releng scopes to seed the initial Thunderbird version once the Thunderbird bits are implemented.

Suggested change
AUTH0_AUTH_SCOPES.update({"rebuild_product_details": LDAP_GROUPS["firefox-signoff"], "update_release_status": [], "create_product_channel_version/firefox": []})
AUTH0_AUTH_SCOPES.update(
{
"rebuild_product_details": LDAP_GROUPS["firefox-signoff"],
"update_release_status": [],
"create_product_channel_version/firefox": [],
"create_product_channel_version/thunderbird": [],
}
)

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.

None yet

1 participant