mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-24 05:11:16 +00:00
Bug 1428197 - Reject generic channels in rust repack jobs. r=glandium
Ensure better determinism when creating rust toolchain packages by rejecting generic channels like 'stable' or 'nightly'. Instead, insist on a specific version or date. The current valid dates for beta and nightly can be obtained with: curl -s https://static.rust-lang.org/dist/channel-rust-beta.toml | grep ^date curl -s https://static.rust-lang.org/dist/channel-rust-nightly.toml | grep ^date MozReview-Commit-ID: I0DXw1KJGZz --HG-- extra : rebase_source : 92e158193072582b8568d9c9f00ffdefa0af1a9c
This commit is contained in:
parent
10af499fbf
commit
2d2defe3df
@ -384,16 +384,29 @@ def expand_platform(name):
|
||||
return platforms.get(name, name)
|
||||
|
||||
|
||||
def validate_channel(channel):
|
||||
'''Require a specific release version.
|
||||
|
||||
Packaging from meta-channels, like `stable`, `beta`, or `nightly`
|
||||
doesn't give repeatable output. Reject such channels.'''
|
||||
channel_prefixes = ('stable', 'beta', 'nightly')
|
||||
if any([channel.startswith(c) for c in channel_prefixes]):
|
||||
if '-' not in channel:
|
||||
raise ValueError('Generic channel "%s" specified!'
|
||||
'\nPlease give a specific release version'
|
||||
' like "1.24.0" or "beta-2018-02-20".' % channel)
|
||||
|
||||
|
||||
def args():
|
||||
'''Read command line arguments and return options.'''
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('--channel',
|
||||
help='Release channel to use:'
|
||||
' stable, beta, or nightly',
|
||||
default='stable')
|
||||
' 1.xx.y, beta-yyyy-mm-dd,'
|
||||
' or nightly-yyyy-mm-dd.',
|
||||
required=True)
|
||||
parser.add_argument('--cargo-channel',
|
||||
help='Release channel to use for cargo:'
|
||||
' stable, beta, or nightly.'
|
||||
help='Release channel version to use for cargo.'
|
||||
' Defaults to the same as --channel.')
|
||||
parser.add_argument('--host',
|
||||
help='Host platform for the toolchain executable:'
|
||||
@ -406,6 +419,8 @@ def args():
|
||||
args = parser.parse_args()
|
||||
if not args.cargo_channel:
|
||||
args.cargo_channel = args.channel
|
||||
validate_channel(args.channel)
|
||||
validate_channel(args.cargo_channel)
|
||||
if not args.host:
|
||||
args.host = 'linux64'
|
||||
args.host = expand_platform(args.host)
|
||||
|
Loading…
Reference in New Issue
Block a user