From e62e7e0e6e1ef355af75c55a9a4ce098b911ed24 Mon Sep 17 00:00:00 2001 From: Romuald Juchnowicz-Bierbasz Date: Mon, 20 May 2019 15:30:08 +0200 Subject: [PATCH] Add pipeline for releasing to github --- jenkins/release.groovy | 12 ++++++++++++ jenkins/release.py | 26 ++++++++++++++++++++++++++ jenkins/requirements.txt | 1 + 3 files changed, 39 insertions(+) create mode 100644 jenkins/release.groovy create mode 100644 jenkins/release.py create mode 100644 jenkins/requirements.txt diff --git a/jenkins/release.groovy b/jenkins/release.groovy new file mode 100644 index 0000000..d25d308 --- /dev/null +++ b/jenkins/release.groovy @@ -0,0 +1,12 @@ +stage('Upload to github') +{ + node('ActiveClientWindowsBuilder') { + withPythonEnv('python') { + withCredentials([usernamePassword(credentialsId: 'github_friendsofgalaxy', usernameVariable: 'GITHUB_USERNAME', passwordVariable: 'GITHUB_TOKEN')]) { + bat 'pip install -r jenkins/requirements.txt' + version = bat(returnStdout: true, script: 'python setup.py --version').trim() + bat "python jenkins/release.py ${version}" + } + } + } +} diff --git a/jenkins/release.py b/jenkins/release.py new file mode 100644 index 0000000..2290553 --- /dev/null +++ b/jenkins/release.py @@ -0,0 +1,26 @@ +import os +import sys +from galaxy.github.exporter import transfer_repo + +GITHUB_USERNAME = "FriendsOfGalaxy" +GITHUB_EMAIL = "friendsofgalaxy@gmail.com" +GITHUB_TOKEN = os.environ["GITHUB_TOKEN"] +GITHUB_REPO_NAME = "galaxy-plugin-api" +SOURCE_BRANCH = os.environ["GIT_REFSPEC"] + +GITLAB_USERNAME = "galaxy-client" +GITLAB_REPO_NAME = "galaxy-plugin-api" + +def version_provider(): + return sys.argv[1] + +gh_version = transfer_repo( + version_provider=version_provider, + source_repo_spec="git@gitlab.gog.com:{}/{}.git".format(GITLAB_USERNAME, GITLAB_REPO_NAME), + source_include_elements=["src", "tests", "requirements.txt", ".gitignore", "*.md", "pytest.ini"], + source_branch=SOURCE_BRANCH, + dest_repo_spec="https://{}:{}@github.com/{}/{}.git".format(GITHUB_USERNAME, GITHUB_TOKEN, GITHUB_USERNAME, GITHUB_REPO_NAME), + dest_branch="master", + dest_user_email=GITHUB_EMAIL, + dest_user_name=GITLAB_USERNAME +) \ No newline at end of file diff --git a/jenkins/requirements.txt b/jenkins/requirements.txt new file mode 100644 index 0000000..d76c88e --- /dev/null +++ b/jenkins/requirements.txt @@ -0,0 +1 @@ +git+ssh://git@gitlab.gog.com/galaxy-client/github-exporter.git@v0.1 \ No newline at end of file