Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix `./mach upload-nightly macbrew` #17085

Merged
Merged
Changes from all commits
Commits
File filter...
Filter file types
Jump to…
Jump to file
Failed to load files.

Always

Just for now

@@ -59,6 +59,24 @@
}


TemporaryDirectory = None
if sys.version_info >= (3, 2):
TemporaryDirectory = tempfile.TemporaryDirectory
else:
import contextlib

# Not quite as robust as tempfile.TemporaryDirectory,
# but good enough for most purposes
@contextlib.contextmanager
def TemporaryDirectory(**kwargs):
dir_name = tempfile.mkdtemp(**kwargs)
try:
yield dir_name
except Exception as e:
shutil.rmtree(dir_name)
raise e


def otool(s):
o = subprocess.Popen(['/usr/bin/otool', '-L', s], stdout=subprocess.PIPE)
for l in o.stdout:
@@ -442,7 +460,7 @@ def update_brew(package, timestamp):

brew_version = timestamp.strftime('%Y.%m.%d')

with tempfile.TemporaryDirectory(prefix='homebrew-servo') as tmp_dir:
with TemporaryDirectory(prefix='homebrew-servo') as tmp_dir:
def call_git(cmd, **kwargs):
subprocess.check_call(
['git', '-C', tmp_dir] + cmd,
@@ -461,7 +479,7 @@ def call_git(cmd, **kwargs):
formula = formula.replace('PACKAGEURL', package_url)
formula = formula.replace('SHA', digest)
formula = formula.replace('VERSION', brew_version)
with open(path.join(tmp_dir, 'Formula', 'servo-bin.rb')) as f:
with open(path.join(tmp_dir, 'Formula', 'servo-bin.rb'), 'w') as f:
f.write(formula)

call_git(['add', path.join('.', 'Formula', 'servo-bin.rb')])
@@ -491,6 +509,8 @@ def call_git(cmd, **kwargs):
upload_to_s3(platform, package, timestamp)

if platform == 'macbrew':
update_brew(package, timestamp)
packages = PACKAGES[platform]
assert(len(packages) == 1)
update_brew(packages[0], timestamp)

return 0
ProTip! Use n and p to navigate between commits in a pull request.
You can’t perform that action at this time.