Merge lp://staging/~sinzui/juju-ci-tools/use-s3ci-to-get into lp://staging/juju-ci-tools
Status: | Merged |
---|---|
Merged at revision: | 1855 |
Proposed branch: | lp://staging/~sinzui/juju-ci-tools/use-s3ci-to-get |
Merge into: | lp://staging/juju-ci-tools |
Diff against target: |
160 lines (+23/-27) 9 files modified
assemble-parallel-streams.bash (+2/-1) build-osx-client-remote.bash (+2/-2) gotestwin.py (+6/-7) jenkins_build_package.py (+5/-5) parallel-streams-job.bash (+1/-2) run-juju-eco-unit-tests.bash (+1/-3) run-osx-client.bash (+1/-1) test-restricted-network (+1/-2) tests/test_gotestwin.py (+4/-4) |
To merge this branch: | bzr merge lp://staging/~sinzui/juju-ci-tools/use-s3ci-to-get |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Christopher Lee (community) | Approve | ||
Review via email: mp+315532@code.staging.launchpad.net |
Description of the change
Use s3ci.py instead of jujuci.py.
jujuci.py is not reliable under parallel conditions. Its default
behaviour is to download artifacts from the *latest* build of a
jenkins job. The latest can be for a different build revision. This
is was caused the build-osx-client job to select the wrong tarfile.
There is a second bug in jujuci.py where it will try to get the exact
version you want, but it will only look 10 revisions back; we tested
13 yesterday!. As jenkins deletes old builds, there is no guarantee
that jujuci.py can get the artifacts.
s3ci.py does not have these limitations. There are 2 kinds of changes
that switch to s3ci.py.
1. get the juj-core tarfile, the exact tarfile, not the current one.
build-
gotestwin.py
jenkins_
tests/
2. get buildvars.bash and source them. We do this in most scripts and
in jenkins jobs, but these scripts were skipped over the last year
source $(s3ci.py get $revision_build build-revision buildvars.bash)
assemble-
parallel-
run-
test-
lgtm