Giter VIP home page Giter VIP logo

releasewarrior's Introduction

releasewarrior's People

Contributors

bhearsum avatar callek avatar escapewindow avatar garbas avatar hwine avatar johanlorenzo avatar kmoir avatar mihaitabara avatar nthomas-mozilla avatar srfraser avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

releasewarrior's Issues

dashboard view

I know what needs doing at specific points in the release:

  • when we get an email about shipit, we create the release and add the graphid and mark the shipit checkbox
  • when we get an email about channels/publish, we do the appropriate steps
  • when we get errors we investigate

But I'm missing some overview:

  • which releases to keep an eye on (we can look at the releases/ folder but this includes completed releases, which can be noisy when we have a lot of releases this week, and can include checking a lot of files)
    • evidently i didn't know about the release status command
  • we now have a new bugzilla query we need to add to, as well as remember about the trello board

I think it would be awesome to add a dashboard template for the overview. Whenever we rebuild a specific release's md file, either on an update or sync or create, we could also rebuild the dashboard page, and it would be as up to date as the rest of the release files. Then whoever is on releaseduty can keep an eye on this single page rather than polling a number of files/webpages.

This could also have a troubleshooting tips section (or point to a troubleshooting how to page) - how to do trickier manual operations, or what types of things go wrong and what types of fixes generally work.

We could also update the template with reminders of things that we currently have in the trello board.

Minor typo in description

Similar to the definition of a Census, this tool systematically acuires and records information about the releases of a given product.

update all human tasks with `--checkbox`es

and remove the other commandline options.

Also, if we can simplify so we can just refer to published_release as publish etc, that'll make it easier to type. As long as the md templates specify what they mean, I think we're good.

Files in FUTURE/* aren't deleted after a release is created

Today, I realized we've got a lot of outdated FUTURE releases. I cleaned them out in: 2ac8a5c
I just tested what happens when such a release is created: The file gets read, but not deleted. Sadly, this log line is lying:

removing FUTURE/ data file: /home/jlorenzo/git/mozilla/releasewarrior/releases/FUTURE/devedition-devedition-57.0b8.json

Allow to complete a release, even though not every step is complete

QA started update tests when Firefox 52.0b3 was done with "update verification tasks". Hence, they gave approval, before we sent the cdntest email.

That would great to have a command like:

$ release complete firefox beta 52.0b3
These tasks have not been done: 
   * emailed_cdntest

Are you sure you want to complete firefox beta 52.0b3? [y/N] y 

update troubleshooting tips

this should be a section for releaseduty to help troubleshoot and practice.

e.g.

nthomas> r+
17:45:06 build2 ?
17:45:56
<•rail> I'm going to create a clone of that task, but using different revision
17:46:21
<•nthomas> does that work with deps, or doesn't matter because this is a leaf?
17:47:31
<•rail> yeah, IIRC that task is on the edge of the graph, nothing depends on it
17:48:13
<•nthomas> ok, once you're done could you describe that in some detail so I can go fishing next time
17:48:29
<•rail> sure
17:50:18
<•nthomas> cheers
17:50:56
<•rail> created https://tools.taskcluster.net/groups/Co8iBgS1RnKVNOWMZm0TUg/tasks/Co8iBgS1RnKVNOWMZm0TUg/details by cloning the failed task (Actions -> Edit Task) and replaced all revision entries with the new one

[Nice to have] Remove the "emailed_cdntest" step?

We discovered yesterday that emails when Fennecs builds are ready, weren't sent anymore. (Per @rail , the postsigning task is dead. That's why no email is sent.)

Even with that email not being sent out, QA is able to figure out when builds are ready. (@MihaiTabara said they monitor archive.m.o).

This makes me wonder if we should stop sending manually a one-line email when it's QA's turn to take part of the show 😃

future release notes can get skipped

We leave ourselves notes in releases/FUTURE/PRODUCT-BRANCH-VERSION.json.
However, we skipped fx 53.0.1 and shipped a 53.0.2, so we skipped the future note.

We might want to remove the VERSION from the FUTURE json.

Are all steps idempotent?

I admit to being way behind on the state of release duty, but in the old days, we sometimes "collided" on handling commands manually.

  • Does releasewarrior ensure all tasks are idempotent? Or will that still be up to humans to coordinate?
  • If 2 folks perform a task at the same time, does that produce a merge conflict in the data files? How do folks correct?

Fair to say the above are out of scope, but should give that some mention in the docs, imo.

Add issue using $EDITOR of your choice

Adding issies via command line is nice, but sometimes you want to pass some formatting characters without worrying about shell expansions. It would be great if we can add something like --issue --editor which would open your editor of choice ($EDITOR from env?), similar to git commit.

add content to releasewarrior on how to verify updates after throttling

such as

•rail> https://aus5.mozilla.org/update/6/Firefox/55.0.3/20170824053622/WINNT_x86_64-msvc-x64/zh-TW/release/Windows_NT 10.0.0.0 (x64)/ISET:SSE3,MEM:16384/default/default/update.xml
3:52 PM https://aus5.mozilla.org/update/6/Firefox/55.0.3/20170824053622/WINNT_x86_64-msvc-x64/zh-TW/release/Windows_NT%2010.0.0.0%20(x64)/ISET:SSE3,MEM:16384/default/default/update.xml?force=1
3:54 PM you can use force=-1 to simulate background updates
3:54 PM looks like they are throttled
3:54 PM
Aki Sasaki nice
3:55 PM i'd still like an update url expander in the client :)
3:56 PM i should have thought of https://github.com/mozbhearsum/build-tools/blob/update-status/scripts/updates/update-status.py though

Handle "merge day" tasks

Releasewarrior could be a great place to store the progress of a merge day.

An interesting consequence of this (called out by @rail): the merge day documentation will be able to live in this repo!

Consider moving release data files to their own repo

I imagine that there wil be code commits to this repo around the same time that release data commits happen. Because of this, it may be possible for someone to pull with the intention of getting new data, but end up getting new code that breaks them.

It may be beneficial to move the release data files to their own repo to avoid this. This could also open up the possibility of separate data files by product, or perhaps even rendering a web UI with gh-pages.

Graphid2 should be depicted when exists?

Not sure if this is a bug or not, will resume to debugging later.
Case: When we add graph2 for RC builds / ESR , shouldn't it be displayed instead of graphid 1 for release status?

releasewarrior should work regardless of my cwd

I was surprised to find that releasewarrior threw an exception when I wasn't in the releasewarrior directory. This might be related to #2 in that it's somewhat caused by the tool and the data it manages being so closely tied together.

One way to fix this could be to require a local config (perhaps one that could be generated automatically) that points at the data.

add in-progress to postmortem

2 sections: completed and in-progress
This would help in talking about in-progress chemspills and major releases.

[Nice to have] Let ship-it create new releases in releasewarrior

There's a sort of duplication of effort:

  • On one hand, you have to start a release by (manually) submitting it on ship-it. This notifies release-drivers via email
  • On the other hand, on releasewarrior, you have to:
    • release create firefox beta 52.0b2 (for instance)
    • release update --shipit firefox beta 52.0b2

It'd be good if ship took care of the last 2 steps

Be consistant with date formats

I found it somewhat jarring that there are multiple date formats in various places:

  • sometimes year is 4 digits, sometime only 2
  • sometimes there are leading zeros ('0'), sometimes not

Personally, I'm a strong believer in ISO-8601 dates. The confusion of 'what century is it' is not something I wish for the next generations.

The patches s/b easy -- the challenge will be picking a 'flag day' to convert the existing data. Or maybe git can handle rename-with-content-change as well. We'd find out. :)

This may be related to issue #9.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.