From 67e197c3ed5adaf7af497b86c36cb8b1ef2738a7 Mon Sep 17 00:00:00 2001 From: Aleks Kissinger Date: Sat, 12 Jan 2019 11:35:11 +0100 Subject: added brew update to travis --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to '.travis.yml') diff --git a/.travis.yml b/.travis.yml index 52de1f4..f11e2bf 100644 --- a/.travis.yml +++ b/.travis.yml @@ -26,6 +26,7 @@ before_install: install: + - '[[ "$TRAVIS_OS_NAME" != osx || "$QTVER" != 511 ]] || brew update' - '[[ "$TRAVIS_OS_NAME" != osx || "$QTVER" != 511 ]] || brew install qt5' - '[[ "$TRAVIS_OS_NAME" != osx || "$QTVER" != 511 ]] || brew link --force qt5' - '[[ "$TRAVIS_OS_NAME" != osx || "$QTVER" != 511 ]] || brew install poppler --with-qt' @@ -40,4 +41,4 @@ script: - '[[ "$DEPLOY_TIKZIT" != 1 ]] || curl --upload-file $FILE https://transfer.sh/$FILE' notifications: - email: false \ No newline at end of file + email: false -- cgit v1.2.3 From cfd6ae88b194d69d2a2c365d4a8a78644ba9079b Mon Sep 17 00:00:00 2001 From: Aleks Kissinger Date: Sun, 13 Jan 2019 18:13:29 +0100 Subject: added github AUTO deploy scripts --- .travis.yml | 48 +++++++++++++++--------------------------------- scripts/gh-list.py | 11 +++++++++++ scripts/gh-push.py | 30 ++++++++++++++++++++++++++++++ scripts/gh.py | 29 +++++++++++++++++++++++++++++ 4 files changed, 85 insertions(+), 33 deletions(-) create mode 100644 scripts/gh-list.py create mode 100644 scripts/gh-push.py create mode 100644 scripts/gh.py (limited to '.travis.yml') diff --git a/.travis.yml b/.travis.yml index f11e2bf..056b543 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,44 +1,26 @@ language: cpp - branches: only: - - master - + - master matrix: - include: + include: - os: osx compiler: clang env: - - FILE=tikzit-osx.dmg - - QTVER=511 - - DEPLOY_TIKZIT=1 - # - os: osx - # compiler: clang - # env: - # - FILE=tikzit-osx-mountain.dmg - # - QTVER=56 - # - DEPLOY_TIKZIT=1 - -before_install: - # - '[[ "$TRAVIS_OS_NAME" != osx || "$QTVER" != 56 ]] || curl https://raw.githubusercontent.com/GiovanniBussi/macports-ci/master/macports-ci > macports-ci' - # - '[[ "$TRAVIS_OS_NAME" != osx || "$QTVER" != 56 ]] || source macports-ci install' - - - + - FILE=tikzit-osx.dmg + - QTVER=511 + - DEPLOY_TIKZIT=1 +before_install: install: - - '[[ "$TRAVIS_OS_NAME" != osx || "$QTVER" != 511 ]] || brew update' - - '[[ "$TRAVIS_OS_NAME" != osx || "$QTVER" != 511 ]] || brew install qt5' - - '[[ "$TRAVIS_OS_NAME" != osx || "$QTVER" != 511 ]] || brew link --force qt5' - - '[[ "$TRAVIS_OS_NAME" != osx || "$QTVER" != 511 ]] || brew install poppler --with-qt' - # - '[[ "$TRAVIS_OS_NAME" != osx || "$QTVER" != 56 ]] || sudo port -N -k install qt56' - # - '[[ "$TRAVIS_OS_NAME" != osx || "$QTVER" != 56 ]] || export PATH=/opt/local/libexec/qt5/bin:$PATH' - +- brew update +- brew install qt5 +- brew link --force qt5 +- brew install poppler --with-qt script: - - qmake -v - - qmake -r - - make - - '[[ "$TRAVIS_OS_NAME" != osx ]] || (chmod +x deploy-osx.sh && ./deploy-osx.sh && mv tikzit.dmg $FILE)' - - '[[ "$DEPLOY_TIKZIT" != 1 ]] || curl --upload-file $FILE https://transfer.sh/$FILE' - +- qmake -v +- qmake -r +- make +- '(chmod +x deploy-osx.sh && ./deploy-osx.sh && mv tikzit.dmg $FILE)' +- python scripts/gh-push.py $FILE notifications: email: false diff --git a/scripts/gh-list.py b/scripts/gh-list.py new file mode 100644 index 0000000..1966db4 --- /dev/null +++ b/scripts/gh-list.py @@ -0,0 +1,11 @@ +from gh import gh, pr +import os + +tok = os.getenv('GITHUB_TOKEN') + +draft = [r for r in gh('releases') + if r['draft'] and r['name'] == 'AUTO'][0] + +for a in draft['assets']: + print(a['browser_download_url'] + + '?access_token=' + tok) diff --git a/scripts/gh-push.py b/scripts/gh-push.py new file mode 100644 index 0000000..3aedb15 --- /dev/null +++ b/scripts/gh-push.py @@ -0,0 +1,30 @@ +import sys, re +from gh import gh, get_release + +if len(sys.argv) != 2: + print("Usage: python gh-push.py FILENAME") + sys.exit(1) + +f = sys.argv[1] + +print('Pulling info on release AUTO.') +draft = get_release('AUTO') + +existing = [a for a in draft['assets'] if a['name'] == f] +if (len(existing) > 0): + print('Asset exists, deleting.') + gh('releases/assets/' + str(existing[0]['id']), + ['-X', 'DELETE']) + +print('Uploading new asset...') + +upload_url = re.sub( + '\\{.*\\}', '?name=' + f, + draft['upload_url']) + +resp = gh(upload_url, [ + '-H', 'Content-type: application/octet-stream', + '--data-binary', f + ]) + +print('Done.') diff --git a/scripts/gh.py b/scripts/gh.py new file mode 100644 index 0000000..13a8880 --- /dev/null +++ b/scripts/gh.py @@ -0,0 +1,29 @@ +import sys, os, json +from subprocess import Popen, PIPE + +api_url = 'https://api.github.com/repos/tikzit/tikzit' + +tok = os.getenv('GITHUB_TOKEN', '') + +if tok == '': + print("Must set GITHUB_TOKEN environment variable.") + sys.exit(1) + +# pretty-print JSON responses +def pr(j): print(json.dumps(j, indent=2)) + +# call GitHub API with curl +def gh(s, args=[]): + cmd = (["curl", "-s"] + args + + ["-H", "Authorization: token " + tok] + + [s if 'https://' in s else api_url + '/' + s]) + # ONLY UN-COMMENT FOR TESTING: + # print(' '.join(cmd)) + p = Popen(cmd, stdout=PIPE) + resp = p.stdout.read() + return json.loads(resp if resp else '{}') + +def get_release(n): + rs = [r for r in gh('releases') if r['name'] == n] + if len(rs) > 0: return rs[0] + else: return None -- cgit v1.2.3