Skip to content

Commit

Permalink
Add ccache_mac cipd package scripts.
Browse files Browse the repository at this point in the history
Change-Id: If71fc5fe27b4cf60cf963fff86d3e6a8224bf853
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/269150
Auto-Submit: Weston Tracey <westont@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
  • Loading branch information
wjtracey authored and Skia Commit-Bot committed Feb 6, 2020
1 parent c767209 commit 046f989
Show file tree
Hide file tree
Showing 6 changed files with 145 additions and 0 deletions.
1 change: 1 addition & 0 deletions infra/bots/assets/ccache_mac/VERSION
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
1
26 changes: 26 additions & 0 deletions infra/bots/assets/ccache_mac/common.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#!/usr/bin/env python
#
# Copyright 2017 Google Inc.
#
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.


"""Common vars used by scripts in this directory."""


import os
import sys

FILE_DIR = os.path.dirname(os.path.abspath(__file__))
INFRA_BOTS_DIR = os.path.realpath(os.path.join(FILE_DIR, os.pardir, os.pardir))

sys.path.insert(0, INFRA_BOTS_DIR)
from assets import assets

ASSET_NAME = os.path.basename(FILE_DIR)


def run(cmd):
"""Run a command, eg. "upload" or "download". """
assets.main([cmd, ASSET_NAME] + sys.argv[1:])
44 changes: 44 additions & 0 deletions infra/bots/assets/ccache_mac/create.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
#!/usr/bin/env python
#
# Copyright 2016 Google Inc.
#
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.


"""Create a ccache binary for mac hosts."""


import argparse
import common
import os
import subprocess
import utils

URL = "https://github.com/ccache/ccache/releases/download/v3.7.7/ccache-3.7.7.tar.gz"
VERSION = "ccache-3.7.7"

def create_asset(target_dir):
# configure --prefix requires an absolute path.
target_dir = os.path.abspath(target_dir)

# Download and extract the source.
with utils.tmp_dir():
subprocess.check_call(["curl", "-L", "-o", VERSION + ".tar.gz",
"https://github.com/ccache/ccache/releases/download/v3.7.7/ccache-3.7.7.tar.gz"])
subprocess.check_call(["tar", "-xzf", VERSION + ".tar.gz"])
os.chdir(VERSION)

subprocess.check_call(["./configure", "--disable-man", "--prefix=" + target_dir])
subprocess.check_call(["make"])
subprocess.check_call(["make" ,"install"])

def main():
parser = argparse.ArgumentParser()
parser.add_argument('--target_dir', '-t', required=True)
args = parser.parse_args()
create_asset(args.target_dir)


if __name__ == '__main__':
main()
42 changes: 42 additions & 0 deletions infra/bots/assets/ccache_mac/create_and_upload.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
#!/usr/bin/env python
#
# Copyright 2016 Google Inc.
#
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.


"""Create the asset and upload it."""


import argparse
import common
import os
import subprocess
import sys
import utils


def main():
parser = argparse.ArgumentParser()
parser.add_argument('--gsutil')
args = parser.parse_args()

with utils.tmp_dir():
cwd = os.getcwd()
create_script = os.path.join(common.FILE_DIR, 'create.py')
upload_script = os.path.join(common.FILE_DIR, 'upload.py')

try:
subprocess.check_call(['python', create_script, '-t', cwd])
cmd = ['python', upload_script, '-t', cwd]
if args.gsutil:
cmd.extend(['--gsutil', args.gsutil])
subprocess.check_call(cmd)
except subprocess.CalledProcessError:
# Trap exceptions to avoid printing two stacktraces.
sys.exit(1)


if __name__ == '__main__':
main()
16 changes: 16 additions & 0 deletions infra/bots/assets/ccache_mac/download.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#!/usr/bin/env python
#
# Copyright 2017 Google Inc.
#
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.


"""Download the current version of the asset."""


import common


if __name__ == '__main__':
common.run('download')
16 changes: 16 additions & 0 deletions infra/bots/assets/ccache_mac/upload.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#!/usr/bin/env python
#
# Copyright 2017 Google Inc.
#
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.


"""Upload a new version of the asset."""


import common


if __name__ == '__main__':
common.run('upload')

0 comments on commit 046f989

Please sign in to comment.