From 49e362a72a6d2c97a11590b13edf25af848cc656 Mon Sep 17 00:00:00 2001 From: Zetok Zalbavar Date: Wed, 14 Dec 2016 20:31:36 +0000 Subject: [PATCH] chore(travis): add deployment of git stats to the github pages With all authors shown #3898 could be fixed. --- .travis.yml | 12 +++++++++ .travis/build-gitstats.sh | 53 ++++++++++++++++++++++++++++++++++++++ .travis/deploy-gitstats.sh | 30 +++++++++++++++++++++ 3 files changed, 95 insertions(+) create mode 100755 .travis/build-gitstats.sh create mode 100755 .travis/deploy-gitstats.sh diff --git a/.travis.yml b/.travis.yml index 6b06b79cf..bf06435a3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,6 +15,13 @@ matrix: env: JOB=verify-commit-format - os: linux env: JOB=build-docs DOXYGEN_CONFIG_FILE=doxygen.conf + - os: linux + env: JOB=build-gitstats GITSTATS_DIR=gitstats + addons: + apt: + packages: + - gitstats + # the actual compilin' - os: linux env: JOB=build-ubuntu-14-04 - os: osx @@ -49,3 +56,8 @@ after_success: && test $TRAVIS_BRANCH == "master" && test $JOB == "build-docs" && bash ./.travis/deploy-docs.sh + -> + test $TRAVIS_PULL_REQUEST == "false" + && test $TRAVIS_BRANCH == "master" + && test $JOB == "build-gitstats" + && bash ./.travis/deploy-gitstats.sh diff --git a/.travis/build-gitstats.sh b/.travis/build-gitstats.sh new file mode 100755 index 000000000..c3a1e26b7 --- /dev/null +++ b/.travis/build-gitstats.sh @@ -0,0 +1,53 @@ +#!/bin/bash +# +# Copyright © 2016 The qTox Project Contributors +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Scripts for generating gitstats on travis +# +# Downloads current git repo, and builds its stats. + +# usage: +# ./$script + +# Fail as soon as an error appears +set -eu -o pipefail + + +# need to download whole history, since travis does only a shallow clone +get_repo() { + git clone https://github.com/qTox/qTox.git +} + +make_stats() { + gitstats \ + -c authors_top=1000 \ + -c max_authors=100000 \ + qTox \ + "$GITSTATS_DIR" +} + +# check if at least something has been generated +verify_exists() { + [[ -e "$GITSTATS_DIR/index.html" ]] +} + + +main() { + get_repo + make_stats + verify_exists +} +main diff --git a/.travis/deploy-gitstats.sh b/.travis/deploy-gitstats.sh new file mode 100755 index 000000000..cfc28e67c --- /dev/null +++ b/.travis/deploy-gitstats.sh @@ -0,0 +1,30 @@ +#!/bin/bash +# +# Copyright © 2016 The qTox Project Contributors +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + + +cd "$GITSTATS_DIR" +COMMIT=$(cd qTox && git describe) + +git init --quiet +git config user.name "Travis CI" +git config user.email "qTox@users.noreply.github.com" + +git add . +git commit --quiet -m "Deploy to GH pages from commit: $COMMIT" + +echo "Pushing to GH pages..." +git push --force --quiet "https://${GH_TOKEN_GITSTATS}@github.com/qTox/gitstats.git" master:gh-pages &> /dev/null