Re: Trivial bugs hurting progress

2015-03-04 Thread Curtis Hovey-Canonical
On Wed, Mar 4, 2015 at 8:44 AM, Martin Packman
martin.pack...@canonical.com wrote:
 On 04/03/2015, Andrew Wilkins andrew.wilk...@canonical.com wrote:

 Curtis and I have talked about also doing a ppc64 test run as part of
 the gating job, that gets us the map ordering stuff as a newer go
 would, and other gccgo quirks covered as well. We don't want to bump
 the compiler version yet I think, as we want to be able to build with
 the trusty toolchain still, and not accidentally let in regressions by
 depending on newer gos.

I assume Core developers are like myself. I have run the test suite
just like the lander. I know a failure to merge is probably a bad
test.

As CI is running more compilers, series, and archs, We could prevent
regressions in master by using lesser combination that must pass. We
could:
- catch and fix map order bugs
- skip tests that wont pass on an arch/compiler combinations
- discover and fix real arch and series issues
without ever breaking the build, never blocking other engineers from merging.

We cannot achieve my ideal combination of precise, gcc-4.9+patches,
and ppc64el or i386. Precise doesn't work with ppc64el, and it is hard
to get a run 386 test quickly.


-- 
Curtis Hovey
Canonical Cloud Development and Operations
http://launchpad.net/~sinzui

-- 
Juju-dev mailing list
Juju-dev@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju-dev


Re: Trivial bugs hurting progress

2015-03-04 Thread Tim Penhey
On 04/03/15 19:05, Andrew Wilkins wrote:
 The bugs were fixed in this branch: https://github.com/juju/juju/pull/1738
  - invalid printf-style formatting will cause go vet to fail

My bad. I had deleted the pre-push hook script some time ago when go vet
failed continuously, and I hadn't reinstated it.

I have done so now.

Tim

-- 
Juju-dev mailing list
Juju-dev@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju-dev


Re: Trivial bugs hurting progress

2015-03-04 Thread Andrew Wilkins
On Thu, Mar 5, 2015 at 10:24 AM, Tim Penhey tim.pen...@canonical.com
wrote:

 On 04/03/15 19:05, Andrew Wilkins wrote:
  The bugs were fixed in this branch:
 https://github.com/juju/juju/pull/1738
   - invalid printf-style formatting will cause go vet to fail

 My bad. I had deleted the pre-push hook script some time ago when go vet
 failed continuously, and I hadn't reinstated it.

 I have done so now.


Thanks. FYI (and others' I), there's a couple of ways to temporarily
disable hooks or just vet:

git push --no-verify
or
IGNORE_VET_WARNINGS=1 git push

(obviously to be used judiciously)
-- 
Juju-dev mailing list
Juju-dev@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju-dev


Re: Trivial bugs hurting progress

2015-03-04 Thread John Meinel
One option is to run the test suite with go 1.3 and just make sure that
juju compiles with all the other compilers (1.2, gccgo, etc). That gives us
a fast precommit check, which won't catch everything, but should catch most
1.2 compat bugs. And leave the full test suite runs as CI tests.

John
=:-


On Thu, Mar 5, 2015 at 6:28 AM, Andrew Wilkins andrew.wilk...@canonical.com
 wrote:

 On Thu, Mar 5, 2015 at 10:24 AM, Tim Penhey tim.pen...@canonical.com
 wrote:

 On 04/03/15 19:05, Andrew Wilkins wrote:
  The bugs were fixed in this branch:
 https://github.com/juju/juju/pull/1738
   - invalid printf-style formatting will cause go vet to fail

 My bad. I had deleted the pre-push hook script some time ago when go vet
 failed continuously, and I hadn't reinstated it.

 I have done so now.


 Thanks. FYI (and others' I), there's a couple of ways to temporarily
 disable hooks or just vet:

 git push --no-verify
 or
 IGNORE_VET_WARNINGS=1 git push

 (obviously to be used judiciously)

 --
 Juju-dev mailing list
 Juju-dev@lists.ubuntu.com
 Modify settings or unsubscribe at:
 https://lists.ubuntu.com/mailman/listinfo/juju-dev


-- 
Juju-dev mailing list
Juju-dev@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju-dev


Re: Trivial bugs hurting progress

2015-03-04 Thread Aaron Bentley
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1


On 2015-03-04 08:53 AM, Dimiter Naydenov wrote:
 If it's about catching map ordering issues, let's use go 1.3+ as
 an extra step, rather than gccgo, which is buggy and slow and
 randomly segfaults. It's likely we'll slow down merge gating
 considerably.

It's not just about map ordering issues.  It's about complete
compatibility with GCC Go.  For example, there are issues with test
doubles that have had to be worked around in the past.

When a GCC Go incompatibility is landed, we sometimes spend days with
an unreleasable Juju before it gets fixed.  It has been 3 days since
master was releasable.  Even though GCC Go is slow, it's worth it to
avoid three days of being unreleasable.

My 2ยข.

Aaron
-BEGIN PGP SIGNATURE-
Version: GnuPG v1

iQEcBAEBAgAGBQJU9xieAAoJEK84cMOcf+9hDg0H/j6TYPNbI92arsWimT21bxve
1TOBvXtlGJCAwsiZOU//mEKwHXmChrm/a8F2YeWlMDAvk4+Uw4Wid5EViucZiNK9
+IhrpCqG835PMhyxVRbOVzSYoxsjrn1E1Kb5Q+tcOWqrjntoj4JrFMKeCIuANTVj
yi56sl1jNNtOKV0SpmGnILuNNrFVXpy0i4P0Iz462V5sbQ5VtSXwtRc1rtK5OJA6
b47cv346z+DqPJahWNknG+yt2RaGQWzOfTST46B3kiU9CEKsH/U4P3nY9Ixx6hBz
uH8FHpQpfHByK2FPTs9+thnViD30YUaPdFNUnT8FfRnEaNjpqaDEs4jgOafI8LE=
=4tUi
-END PGP SIGNATURE-

-- 
Juju-dev mailing list
Juju-dev@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju-dev


Re: Trivial bugs hurting progress

2015-03-04 Thread Curtis Hovey-Canonical
On Wed, Mar 4, 2015 at 1:05 AM, Andrew Wilkins
andrew.wilk...@canonical.com wrote:
 The bot is currently running (I think) Go 1.2. I'm running 1.4, Ian's
 running 1.3, and I'm sure Dave's running tip ;)  Go 1.3+ made map iteration
 less deterministic, so these sorts of bugs are much more likely to occur
 after 1.2. It'd be good to either bump the compiler version to something
 more recent, unless we want to gate things on multiple compilers (maybe gc
 and gccgo, seeing as we currently use both).

While we add our golang archive to all the slaves to ensure golang
1.2.1 is available, apt prefers to use the latest version. On Vivid,
that is golang 1.3, and it very erratic success rate is probably
because of tests aren't ready for a newish golang. Fixing the test
suite will give allow us to make the vivid unit tests voting.

Our test runner script accepts a PPA option. We have added newer
golang and mongos to our experimental PPA, then setup a test to run
with it to prove the Juju was ready for the newer versions. We can do
this again.

-- 
Curtis Hovey
Canonical Cloud Development and Operations
http://launchpad.net/~sinzui

-- 
Juju-dev mailing list
Juju-dev@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju-dev


Re: Trivial bugs hurting progress

2015-03-04 Thread Martin Packman
On 04/03/2015, Andrew Wilkins andrew.wilk...@canonical.com wrote:
 Hi all,

 Ian asked me to mail the list about a couple of bugs that managed to get
 past the bot; first so that we can all be mindful of these sorts of bugs,
 and second to highlight the fact that they could have been caught by the
 bot.

 The bugs were fixed in this branch: https://github.com/juju/juju/pull/1738
  - random. iteration Map is

This was being addressed as part of bug 1427149.

https://bugs.launchpad.net/juju-core/+bug/1427149
http://reviews.vapour.ws/r/1048/

Your patch means that branch now needed updating.

  - invalid printf-style formatting will cause go vet to fail

So, do we want to revisit making the bot fail on go vet errors? That's
trivial flip.

 The bot is currently running (I think) Go 1.2. I'm running 1.4, Ian's
 running 1.3, and I'm sure Dave's running tip ;)  Go 1.3+ made map iteration
 less deterministic, so these sorts of bugs are much more likely to occur
 after 1.2. It'd be good to either bump the compiler version to something
 more recent, unless we want to gate things on multiple compilers (maybe gc
 and gccgo, seeing as we currently use both).

Curtis and I have talked about also doing a ppc64 test run as part of
the gating job, that gets us the map ordering stuff as a newer go
would, and other gccgo quirks covered as well. We don't want to bump
the compiler version yet I think, as we want to be able to build with
the trusty toolchain still, and not accidentally let in regressions by
depending on newer gos.

Martin

-- 
Juju-dev mailing list
Juju-dev@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju-dev


Re: Trivial bugs hurting progress

2015-03-04 Thread Dimiter Naydenov
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On  4.03.2015 15:44, Martin Packman wrote:
 On 04/03/2015, Andrew Wilkins andrew.wilk...@canonical.com
 wrote:
 Hi all,
 
 Ian asked me to mail the list about a couple of bugs that managed
 to get past the bot; first so that we can all be mindful of these
 sorts of bugs, and second to highlight the fact that they could
 have been caught by the bot.
 
 The bugs were fixed in this branch:
 https://github.com/juju/juju/pull/1738 - random. iteration Map
 is
 
 This was being addressed as part of bug 1427149.
 
 https://bugs.launchpad.net/juju-core/+bug/1427149 
 http://reviews.vapour.ws/r/1048/
 
 Your patch means that branch now needed updating.
 
 - invalid printf-style formatting will cause go vet to fail
 
 So, do we want to revisit making the bot fail on go vet errors?
 That's trivial flip.
 
 The bot is currently running (I think) Go 1.2. I'm running 1.4,
 Ian's running 1.3, and I'm sure Dave's running tip ;)  Go 1.3+
 made map iteration less deterministic, so these sorts of bugs are
 much more likely to occur after 1.2. It'd be good to either bump
 the compiler version to something more recent, unless we want to
 gate things on multiple compilers (maybe gc and gccgo, seeing as
 we currently use both).
 
 Curtis and I have talked about also doing a ppc64 test run as part
 of the gating job, that gets us the map ordering stuff as a newer
 go would, and other gccgo quirks covered as well. We don't want to
 bump the compiler version yet I think, as we want to be able to
 build with the trusty toolchain still, and not accidentally let in
 regressions by depending on newer gos.
If it's about catching map ordering issues, let's use go 1.3+ as an
extra step, rather than gccgo, which is buggy and slow and randomly
segfaults. It's likely we'll slow down merge gating considerably.

Just my 0.02c.

Dimiter
 
 Martin
 


- -- 
Dimiter Naydenov dimiter.nayde...@canonical.com
Juju Core Sapphire team http://juju.ubuntu.com
-BEGIN PGP SIGNATURE-
Version: GnuPG v1

iQEcBAEBAgAGBQJU9w5NAAoJENzxV2TbLzHw+lsH/jDFDXb+APntIyq1WUzIfRb2
cbg3vurBAqvIcT6qt6pMTW3uEf1Q9daksvqSRFhC8Nbz70bIeLJ3vLNHzn6gRy/d
z9QiyJQIXQE8208bmQLYdOkbLZAfURzT8I6PTFzioI7HkL7qA3suWod1pnEwSvcQ
L+bw3+H/gym9bUGqDG2zG1p6u+Z0JH4lxMBomcxsaU1WJyBFN0HVi0xinJN5IX7k
YZoZokaD6C0pu30r756wMy1PigImm/+G/lxLqzlnpL32iZFZhQOnWPZMxMVOtfIM
AGzSAJtdy149jcnfLHJqeb4yNugTKUxPrARrFVkBbYKau4I09eGOes7yKq7j8fA=
=8QrH
-END PGP SIGNATURE-

-- 
Juju-dev mailing list
Juju-dev@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju-dev


Trivial bugs hurting progress

2015-03-03 Thread Andrew Wilkins
Hi all,

Ian asked me to mail the list about a couple of bugs that managed to get
past the bot; first so that we can all be mindful of these sorts of bugs,
and second to highlight the fact that they could have been caught by the
bot.

The bugs were fixed in this branch: https://github.com/juju/juju/pull/1738
 - random. iteration Map is
 - invalid printf-style formatting will cause go vet to fail

The bot is currently running (I think) Go 1.2. I'm running 1.4, Ian's
running 1.3, and I'm sure Dave's running tip ;)  Go 1.3+ made map iteration
less deterministic, so these sorts of bugs are much more likely to occur
after 1.2. It'd be good to either bump the compiler version to something
more recent, unless we want to gate things on multiple compilers (maybe gc
and gccgo, seeing as we currently use both).

As for formatting: there is a pre-push hook that runs go vet to catch,
amongst other things, printf formatting errors. It would seem that the bot
is not currently failing these, as they occasionally end up in master. If
you're not using the hook, please be extra careful; this slows people down.
If you want to set up the hook, you can find instructions under
https://github.com/juju/juju/blob/master/CONTRIBUTING.md#local-clone.

Thanks,
Andrew
-- 
Juju-dev mailing list
Juju-dev@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju-dev