Check if a previous run left an inconsistent state behind.
The check is right before trying to push a new state as then
all information is available, like commit message and tag
name.
This is still only a band-aid. If gnumbd is down for a
longer period, an unprocessed commit won't be found, but
the push attempt will still fail.
Review URL: https://codereview.chromium.org/1887583002
Cr-Commit-Position: refs/heads/master@{#35437}
The option --json-output will make the auto-roller dump a
json file with a monitoring_state key. This can be one of:
started, up_to_date, success.
BUG=chromium:559141
LOG=n
NOTRY=true
Review URL: https://codereview.chromium.org/1465413002
Cr-Commit-Position: refs/heads/master@{#32201}
This replaces chromium_roll and the wrapper auto_roll with
just auto_roll. The arguments for the revision to roll and
the last rolled revision are optional and will be
auto-detected (this feature is from the wrapper).
Checking the cq box is default now (as in the wrapper).
BUG=chromium:559141
LOG=n
NOTRY=true
Review URL: https://codereview.chromium.org/1468973002
Cr-Commit-Position: refs/heads/master@{#32193}
This will allow callers (e.g. the infra recipe) to check
which steps have been executed and monitor success/failure.
BUG=chromium:559141
LOG=n
NOTRY=true
Review URL: https://codereview.chromium.org/1463143004
Cr-Commit-Position: refs/heads/master@{#32150}
We are creating a lot of tags. The result is that git 'packs'
some of them. Our parsers in the release script cannot handle
this.
R=machenbach@chromium.org
LONG=N
NOTRY=true
Review URL: https://codereview.chromium.org/1403293009
Cr-Commit-Position: refs/heads/master@{#31833}
If you are not logged in with your Google account you are
faced with a blank screen. In order to make it more
clear for the Chromium sheriffs on how to close the
auto-roller I want to add this information.
R=machenbach@chromium.org
LOG=N
NOTRY=true
Review URL: https://codereview.chromium.org/1392823004
Cr-Commit-Position: refs/heads/master@{#31670}
With this change mergeinfo.py gets more useful. There is
a distinction between merges and follow-up CLs/ports/reverts.
Also the information is show if the commit is already
rolled/an lkgr/deployed to Canary channel.
Additionally some formatting errors were resolved and
the already existing git wrapper used.
LOG=N
R=machenbach@chromium.org
NOTRY=true
Review URL: https://codereview.chromium.org/1341303002
Cr-Commit-Position: refs/heads/master@{#31043}
This will send automatic email notifications about reliable
failures from the respective jobs.
NOTRY=true
Review URL: https://codereview.chromium.org/1147713002
Cr-Commit-Position: refs/heads/master@{#28448}
usage: This tool analyzes the commit range between <of> and <until>. It finds commits which belong together e.g. Implement/Revert pairs and Implement/Port/Revert triples. All supplied hashes need to be from the same branch e.g. master.
Example for M42: ./search_related_commits.py --prettyprint --separator e0110920d6b856e87859b1c2a34956
BUG=
NOTRY=true
Review URL: https://codereview.chromium.org/1098123002
Cr-Commit-Position: refs/heads/master@{#28197}
Will be used for calculating changes between versions
BUG=
NOTRY=true
Review URL: https://codereview.chromium.org/1095483002
Cr-Commit-Position: refs/heads/master@{#27882}
Always use the same branch name (the old version leaked
branches). Always try to delete a possibly existing branch
on start-up and also clean up in the end.
NOTRY=true
TBR=tandrii@chromium.org
Review URL: https://codereview.chromium.org/1077633002
Cr-Commit-Position: refs/heads/master@{#27722}
Don't create local branches or otherwise manipulate the
checkout. This reads refs from remote branches and
reads file contents using show. It is faster and requires
less bootstrapping and cleanup.
TBR=tandrii@chromium.org
NOTRY=true
Review URL: https://codereview.chromium.org/1060013003
Cr-Commit-Position: refs/heads/master@{#27640}
In case the v8 revision in chromium was set to an older
revision that's not in the list of recent v8 releases, the
script will bail out too early. This changes iterates over
10 more revisions, which should cover all exceeding revisions
in branch period.
NOTRY=true
TBR=hablich@chromium.org
Review URL: https://codereview.chromium.org/1067793002
Cr-Commit-Position: refs/heads/master@{#27622}
[-h] [-g GIT_DIR] hash
positional arguments:
hash Hash of the commit to be searched.
optional arguments:
-h, --help show this help message and exit
-g GIT_DIR, --git-dir GIT_DIR
The path to your git working directory.
BUG=
Review URL: https://codereview.chromium.org/1033043002
Cr-Commit-Position: refs/heads/master@{#27563}
Remembering the current branch is a relic from the past
where no work-dir checkout was used. Now this doesn't give
much benefit and screws up the script if it was left in
a bad state (e.g. after a master restart).
TBR=tandrii@chromium.org
NOTRY=true
Review URL: https://codereview.chromium.org/1002383002
Cr-Commit-Position: refs/heads/master@{#27196}
This makes now the same simplification as the chromium
release scripts do. For creating branch B from a gnumbd'ed
(aka real) commit X do:
1. Branch Y off the real X
2. Set refs/pending/heads/B to Y
3. Set refs/pending-tags/B to X
4. Set refs/heads/B to X
The old algorithm tried to branch off the pending
correspondent of X. That commit was determined by comparing
tree objects of the real X and commits on pending.
Unfortunately, multiple commits on one branch can refer to
the same tree object, e.g., for commits P, Q, R with R being
the revert of Q, P and R refer to the same tree object.
TBR=tandrii@chromium.org
NOTRY=true
TEST=./script_test.py
TEST=tools/release/create_release.py -a me -r you --dry-run
Review URL: https://codereview.chromium.org/979243004
Cr-Commit-Position: refs/heads/master@{#27042}
Using a git range check for checking progress is wrong when
the last rolled revision and the revision candidate are on
different branches. The range A..B will always show the
commits from the merge-base of A and B until B.
Better compare the tags of the last rolled revision and the
candidate. The candidate's version must be strictly greater
than what's in chromium.
TBR=tandrii@chromium.org
NOTRY=true
TEST=./script_test.py
Review URL: https://codereview.chromium.org/979133002
Cr-Commit-Position: refs/heads/master@{#27021}
Before this change, out of two versions 4.2.13.1 and
4.2.14, the latter would have been considered the newest.
Now, the timestamp of the commit determines the age, which
allows to roll a patched version first. The auto-roller
will only roll forward (i.e. there needs to be a commit
range between the last roll and the new candidate).
Additionally, this CL does some cleanups:
- Use the sheriff detection mechanism in the auto-roller.
- Require the roll revision parameter in the chromium_roll
script to avoid redundancy. The auto_roll script determines
that revision automatically.
- Simplify the revision summary in the commit message. The
summary will now show last_roll..new_roll, which e.g.
includes the version change CL. It'll now show useful
information for cherry-picks, which it didn't before.
- Remove unused clusterfuzz check. That check is part of the
release process script.
TBR=tandrii@chromium.org
NOTRY=true
TEST=./script_test.py
TEST=./tools/release/chromium_roll.py --dry-run --sheriff -c ~/tmp/chromium/src --last-roll 55b9049ea3978a589d8db2aa191d21222eef737f fc263505535a175c8efa18f4c787bd92a1d1ab3d --use-commit-queue -r me -a you
Review URL: https://codereview.chromium.org/977903002
Cr-Commit-Position: refs/heads/master@{#27009}
The auto-push script is only used in an automated fashion
on bots. It doesn't need to check for a clean git
environment as it has a special workdir checkout.
If the release creation fails for whatever reason (e.g.
a master restart happens in the middle), the workdir
checkout might be left dirty. Any new attempt of the auto
pusher then bails out.
After this change it will call the create_release script
in any case which tidies up the workspace on startup.
TBR=tandrii@chromium.org
NOTRY=true
TEST=./script_test.py
Review URL: https://codereview.chromium.org/960773007
Cr-Commit-Position: refs/heads/master@{#26928}