Merge lp://staging/~sinzui/juju-release-tools/assemble-publish-purpose into lp://staging/juju-release-tools
Status: | Merged |
---|---|
Merged at revision: | 60 |
Proposed branch: | lp://staging/~sinzui/juju-release-tools/assemble-publish-purpose |
Merge into: | lp://staging/juju-release-tools |
Diff against target: |
513 lines (+174/-121) 2 files modified
assemble-streams.bash (+158/-101) publish-public-tools.bash (+16/-20) |
To merge this branch: | bzr merge lp://staging/~sinzui/juju-release-tools/assemble-publish-purpose |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Aaron Bentley (community) | Approve | ||
Review via email:
|
Description of the change
This branch adds support for proposed and devel purposes
./juju-
./juju-
./juju-
./juju-
I retracted an errant copy of 1.20.6 to my own tools like this.
./juju-
^ where -n means no-sync, -r means retract and IGNORE implies don't visit the archives.
Created new assemble-
1. Removed the juju stable and devel archive search because they have not been
the source for tools for 9 months.
Fixed https:/
2. Documented the use of IGNORE as the release version to regenerate streams...
...do not try to retrieve tools and extract them when using IGNORE
Removed the PRIVATE arg that wasn't used and overlaps with IGNORE
3. Create the whole path to tools and metadata. DEST_DIST can be
juju-dist/ or juju-dist/purpose
4. Replaced all the early returns in functions with guards in the "main"
calls so that is clear which functions are being used with IGNORE is
set or GET_RELEASED_TOOL is false.
5. Removed the excludes list from s3cmd. It never worked. Fast syncing
was achieved using a local cache. The source for the sync is determined
by the purpose. Note the subtle rule for testing. Syncing happens
directly in the tree that will be synced. This removed the need for
the old new-tools/
is maintained because testing is syncing from purposes, which must have
all the stable tools released.
6. Made retract_tools() a common step so that is is well tested. Always
retract when the purpose is testing. Also retract is RETRACT_GLOB is
set using the -r option.
7. init_tools_maybe() started as a way to ensure Jerff can get s sane
seed of data for devel and proposed. I used this to make my own for
the CPCs, but I didn't need it. This function evolved to be the
means to reset testing by first retracting the testing tools and data
then seeding it with proposed.
8. Extracted archive_
It might be deletable with the release of 1.21.0
9. Inlined the creation and cleanup to $WORK
19. Exit early when debs were search, but no new tools were found. This case
is an error for testing, but results in a no-op for streams.
11. Inlined JUJU_PATH, ARCH and lsb-release vars because they are now localised.
12. Moved signing key into options, factored out PRIVATE
13. Introduced purpose. DEST_DIST us made with it. Users of the script will
have a cache for each purpose.
14. Exit early if new-tools does not exist. It is not created because the
dir is a cache that users should not accidentally create.
15. only enter functions when we know we will use them...not more immediate
exists because a env var is set.
Updated publish-
1. Updated the script to understand more purposes, simplified the logic
because only "release" has a different root dir rule.
2. Removed EVENT because it was not needed when better phrasing was used.
Looks landable, but some comments below.