Other things:
Removing commit|clean|push command from cros_mark_chrome because it's unnecessary ... I'm just gonna use the same stabilizing branch as the other stable marker, so I can use the same clean / push from the other script. This makes this change fit in much more nicely to cbuildbot.
Other changes:
Add ability for cros_mark_chrome_as_stable to communicate to calling script through stdout.
Make STABLE_BRANCH in cros_mark_as_stable public for above reason.
Removed push_options from cros_mark and accompanying change to cbuildbot as it isn't used anymore.
Made it easier to debug with cbuildbot (I ran cbuildbot A LOT of times to test this change so I felt the pain)...this includes:
- only build when syncing
- allow one to explicitly disable tests
- use dryrun is options.debug is set
Change-Id: I413a2e81a99cdde2e4d9139561cd518245b9b346
BUG=chromium-os:8693
TEST=Ran cbuildbot with --notest --debug --nosync x86-pre-flight and
saw it go through correctly and dryrun push. Ran cbuildbot with same and --chrome_rev=tot. Ran with syncing and running tests too.
Review URL: http://codereview.chromium.org/5154008
Change-Id: I6744aac09fb075f91f710f16343fab45b8dc8af9
BUG=chromium-os:7283
TEST=Ran it with cbuildbot through the unit tests phase and looked
at the file and saw it get parsed correctly.
Review URL: http://codereview.chromium.org/5124006
Besides changing a lot of _ to not _, I added lots of docstrings, moved things around,
factored out the Marking component of the EBuildStableMarker (for use with other CL),
and fixed the version logic.
The versioning logic was too hacktastic. So I took a note from David's changes to
take the information from pkgsplit rather than doing the ugly parsing I was doing before.
This is much more robust in the case of no _r*'s and _rc or _alpha*, etc.
This CL also adds the ability to test Push changes in 2 ways. One using --dryrun which allows someone to call it by not actually push to the remote server and two, a unit test for the Push method.
Used in http://codereview.chromium.org/4798001/
BUG=chromiumos:8693
TEST=Ran unit tests and chrome mark as stable. Will run some more tests.
Committed: http://chrome-svn/viewvc/chromeos?view=rev&revision=be485ce
Review URL: http://codereview.chromium.org/5172003
Change-Id: I6d1231c6f46d8cc2e5fb57d04f2d3417cfbfb4f8
Besides changing a lot of _ to not _, I added lots of docstrings, moved things around,
factored out the Marking component of the EBuildStableMarker (for use with other CL),
and fixed the version logic.
The versioning logic was too hacktastic. So I took a note from David's changes to
take the information from pkgsplit rather than doing the ugly parsing I was doing before.
This is much more robust in the case of no _r*'s and _rc or _alpha*, etc.
This CL also adds the ability to test Push changes in 2 ways. One using --dryrun which allows someone to call it by not actually push to the remote server and two, a unit test for the Push method.
Used in http://codereview.chromium.org/4798001/
BUG=chromiumos:8693
TEST=Ran unit tests and chrome mark as stable. Will run some more tests.
Review URL: http://codereview.chromium.org/5172003
Change-Id: I4319dcd3a4235474ecfd61c680a5242bab5bd00b
Besides changing a lot of _ to not _, I added lots of docstrings, moved things around,
factored out the Marking component of the EBuildStableMarker (for use with other CL),
and fixed the version logic.
The versioning logic was too hacktastic. So I took a note from David's changes to
take the information from pkgsplit rather than doing the ugly parsing I was doing before.
This is much more robust in the case of no _r*'s and _rc or _alpha*, etc.
Used in http://codereview.chromium.org/4798001/
BUG=chromiumos:8693
TEST=Ran unit tests and chrome mark as stable. Will run some more tests.
Review URL: http://codereview.chromium.org/5172003
Change-Id: Id6ef9a480591d1a28352f360c6d076564b43e318
Change-Id: Ie4632acf22bedb0c94de0cb3fe67b549fc2d0871
BUG=chromium-os:9323
TEST=Ran it and inserted exception for push_try < 3 and
mocked out push.
Review URL: http://codereview.chromium.org/5142003
Also add _Print statement so that stdout is printed.
BUG=chromium-os:9257
TEST=Run cros_mark_as_stable.py clean / commit
Change-Id: I9a01d6369d4b14ca0be812b8b1509c8375b1d575
Review URL: http://codereview.chromium.org/5063004
If there's no directory, I guess things are really, really clean.
BUG=chromium-os:9197
TEST=Ran cros_mark_as_stable.py clean with missing overlay directories.
Change-Id: I3f4811fe01bca56e850f823a973476884292e278
Review URL: http://codereview.chromium.org/4988004
What's new?
- cros_mark_as_stable now exits with errors if directories are specified
that don't exist.
- cbuildbot.py always explicitly specifies overlay directories so
cros_mark_as_stable can rely on them existing.
- Package names and paths are now separated with colons instead of
spaces, so as to allow for us using the same syntax with
enter_chroot.sh as we use without the same script. (enter_chroot.sh
mucks with command-lines that contain spaces or quotes.)
- cbuildbot.py now ensures its build path is a absolute path. This ensures we don't kill the wrong processes, if, for instance, the buildpath is '../..'
- All buildbots now explicitly specify what overlays they want to rev. Public buildbots only rev public ebuilds and private buildbots now only rev private ebuilds.
BUG=chromium-os:8647
TEST=Ran unit tests. Manually marked packages as stable. Ran cbuildbot.py test run.
Change-Id: I1df6d428973d91329c4f5159e2886889a3ebb7c7
Committed: http://chrome-svn/viewvc/chromeos?view=rev&revision=795bd30
Review URL: http://codereview.chromium.org/4442001
What's new?
- cros_mark_as_stable now exits with errors if directories are specified
that don't exist.
- cbuildbot.py always explicitly specifies overlay directories so
cros_mark_as_stable can rely on them existing.
- Package names and paths are now separated with colons instead of
spaces, so as to allow for us using the same syntax with
enter_chroot.sh as we use without the same script. (enter_chroot.sh
mucks with command-lines that contain spaces or quotes.)
- cbuildbot.py now ensures its build path is a absolute path. This ensures we don't kill the wrong processes, if, for instance, the buildpath is '../..'
- All buildbots now explicitly specify what overlays they want to rev. Public buildbots only rev public ebuilds and private buildbots now only rev private ebuilds.
BUG=chromium-os:8647
TEST=Ran unit tests. Manually marked packages as stable. Ran cbuildbot.py test run.
Change-Id: I1df6d428973d91329c4f5159e2886889a3ebb7c7
Review URL: http://codereview.chromium.org/4442001
What's new?
- cros_mark_as_stable now exits with errors if directories are specified
that don't exist.
- cbuildbot.py always explicitly specifies overlay directories so
cros_mark_as_stable can rely on them existing.
- Package names and paths are now separated with colons instead of
spaces, so as to allow for us using the same syntax with
enter_chroot.sh as we use without the same script. (enter_chroot.sh
mucks with command-lines that contain spaces or quotes.)
- All buildbots now explicitly specify what overlays they want to rev. Public buildbots only rev public ebuilds and private buildbots now only rev private ebuilds.
BUG=chromium-os:8647
TEST=Ran unit tests. Manually marked packages as stable.
Change-Id: I1df6d428973d91329c4f5159e2886889a3ebb7c7
Review URL: http://codereview.chromium.org/4442001
Change-Id: I413d21dd60ce822af65d5c7c22fd2dba67858d43
BUG=6113
TEST=Ran unit tests and also created my own 9999 ebuild and ran with --all and
saw 0.0.1-r1.ebuild get created in stabilizing_branch
Review URL: http://codereview.chromium.org/4449001
When you pass '--foo="bar baz"' to a script, the argument is literally
passed as "bar baz", with the quotes. So we need to not add unnecessary
quotes in there.
When enter_chroot.sh parses arguments, it actually removes the quotes
for you, and splits up arguments. As a result, it may actually
be necessary to (1) use the above broken syntax when you call scripts
using enter_chroot.sh; but (2) don't use that syntax when calling
scripts without enter_chroot.sh. That's a broken situation, so I've
added a TODO for that. I've also added more warnings to
cros_mark_as_stable.py so that it's easier to debug when it doesn't
work.
BUG=chromium-os:8633
TEST=Ran unit tests. Planning to watch TOT buildbot post-commit to make sure behavior is right.
Change-Id: Ia1a0e60153fec60cb7ed4db2da128ffd9ae81e23
Review URL: http://codereview.chromium.org/4385002
BUG=chromium-os:8493
TEST=Ran unit tests. Verified that cros_mark_as_stable.py supports
running on just the private or public overlay.
Change-Id: I5e2e8fc5e63b3c93bb688a5ce87233315c0c2d1c
Review URL: http://codereview.chromium.org/4250001
This is required so that paths still work after we change directories.
Currently our branch builder uses this broken recipe :(
BUG=none
TEST=Check that "./cros_mark_as_stable.py -r .. clean" cleans both the private overlay and chromiumos-overlay
Change-Id: Ie4047fb091bf7af36dc28482ea73b085ec12893c
Review URL: http://codereview.chromium.org/4175004
This is just a temporary workaround until buildbots have portage installed
outside the chroot. We should roll this back when that's fixed.
TBR=sosa@chromium.org
BUG=b0rked tree
TEST=ran unit tests
Change-Id: I004c1476e929212774218d50d10f371806cf6c7f
Review URL: http://codereview.chromium.org/4070002
What's new?
- cros_mark_all_as_stable is now in Python and has unit tests.
- We now detect and report coding errors that can cause incorrect behavior.
E.g., if 9999 ebuild or stable ebuild can't be found, we report a hard
failure so that developers will know about the problem.
- We now check that git hashes we report actually match up with the
right repository.
- Unified diff of changes are now printed to stdout, so that developers
can see a list of the changes and debug any problems.
- cros_mark_all_as_stable now takes 2.5 seconds to run.
BUG=chromium-os:7795
TEST=Manually examined diff output from run of cros_mark_all_as_stable
on full repository.
Change-Id: I762597c9b94e5f8e8171b83c966ad54e21a65c1b
Review URL: http://codereview.chromium.org/3798003
This reverts commit 365d4b0cc8.
Fix preflight breakage, this seems like the most possible cause. Will recommit if not.
BUG=
TEST=
Review URL: http://codereview.chromium.org/3767012
Change-Id: I93fe463fec77c445e7ff0ec86db25d5ef2997ad7
We always want to re-build packages we are revving, however, if the last
build succeeds in building but fails tests, we have a bad local cache that
has revved packages. This avoids this issue by working on all packages we
are revving.
Change-Id: I3bd7463a4090b1f007d09be81bdf65657bd9c3f3
BUG=7589
TEST=Ran it with cbuildbot.
Review URL: http://codereview.chromium.org/3745006
BUG=none
TEST=Ran it by hand and verified that the error message goes away.
Before this change there is an error about merge_branch already existing.
Change-Id: I8393da46d6bebf1f40d253863cfe4c28b76c1b8e
Review URL: http://codereview.chromium.org/3127036
As I was writing a doc to describe how to manually uprev I decided
that this was a good time to change the default to be consistent
with the new workflow.
Change-Id: I18932f66004161303f22835ab3b4a8436995300a
Review URL: http://codereview.chromium.org/3125024
Using git-cl push requires setting up Rietveld authentication
cookies on the bots. This is non-trivial. So instead just use
git. This removes a point of failure.
BUG=5258
TEST=Verified by successfully pushing.
Change-Id: Ic3cd68f2d2a9cc59bbe69270896172ee4a418226
Review URL: http://codereview.chromium.org/3015061
Instead of using master, use the tracking branch.
BUG=5258
TEST=Verified that cleanup now works with repo.
Change-Id: I6e415d9068d54b602238b89c77ba4dbe2f9ff4c6
Review URL: http://codereview.chromium.org/3076035
This is required to enable running cros_mark_as_stable from outside
the chroot.
BUG=5258
TEST=Successfully ran outside the chroot and pushed a change.
All unit tests continue to pass.
Change-Id: Ibd23ace6326b8453c132c416d6db6e42c8c2c239
Review URL: http://codereview.chromium.org/2884060
Currently, cros_mark_as_stable.py does not add a newline after its
CROS_WORKON_COMMIT="" line. This works fine for 9999 ebuilds that have a newline
after the EAPI="" line, but doesn't work for ebuilds that don't do this.
This should fix the preflight queue build.
TEST=Ran cros_mark_as_stable.py on the update engine and verified that the
CROS_WORKON_COMMIT="" line was not joined together with the next line.
BUG=none
Review URL: http://codereview.chromium.org/3036029
TEST=Ran using default option and then tried -t chromiumorg/master and
saw a correct failure since I don't have that branch to track against.
Review URL: http://codereview.chromium.org/3032019
TEST=Tested with following workflow:
cros_mark_as_stable -p 'crash-reporter' -i 'boogabooga' commit
cros_mark_as_stable push
cros_mark_as_stable clean
Also passed in some real options for push_options in a branch that had nothing in it.
Review URL: http://codereview.chromium.org/3017002