mozilla / release-services

Mozilla Release Engineering Services
https://docs.mozilla-releng.net
Mozilla Public License 2.0
49 stars 93 forks source link

[shipit] Don't allow promoting the same release twice #2226

Closed mitchhentges closed 5 years ago

mitchhentges commented 5 years ago

The Firefox 69.0b9 beta release was accidentally promoted twice. Ship It was then in an invalid state, since it was only tracking the second promotion, but the first promotion still existed and was hogging resources. Cancelling the release only cancelled the second graph.

To reproduce:

  1. Click to promote a release
  2. Click "do eet" multiple times
  3. Multiple graphs are created

Expected behaviour:

mitchhentges commented 5 years ago

@rail or @garbas: could you point me towards docs on getting ship-it running locally? I have the frontend "running", but what do I need to run the backend/api? I'm guessing I need to create a postgres database and give shipit access to it? Where is the schema located, or will flask manage that? How do I invoke it, do I just call shipit_api/__init__.py? When I do, it complains that module 'taskcluster' has no attribute '_client_importer'.

Do we have quick-start dev docs for ship-it?

rail commented 5 years ago

there is https://docs.mozilla-releng.net/develop/contribute.html, but it doesn't cover shipit as it shoudl be.

What I usually do is:

The TC credentials should have scopes to read the secret from repo:github.com/mozilla-releng/services:branch:master.

Then I usually go to the API to confirm the self signed cert exception at https://localhost:8015/ and then you can browse the UI at https://localhost:8010/

Most of the changes should trigger autoreload in api and frontend.

Please let me know if this helps.