Philipp Hörist pushed to branch master at gajim / gajim


Commits:
aec8af58 by lovetox at 2021-01-02T14:03:30+01:00
Update CI

- - - - -


3 changed files:

- .gitlab-ci.yml
- scripts/dev/pylint-ci.sh → scripts/ci/pylint.sh
- + scripts/ci/sdist.py


Changes:

=====================================
.gitlab-ci.yml
=====================================
@@ -30,7 +30,7 @@ Code Quality:
     - pip3 install -I pyOpenSSL
     - mypy -V
     - mypy gajim
-    - scripts/dev/pylint-ci.sh --jobs=2 gajim
+    - scripts/ci/pylint.sh --jobs=2 gajim
     - coverage run --source=gajim -m unittest discover -s test/no_gui -v
     - coverage report -mi
     - coverage xml -i
@@ -58,19 +58,8 @@ Linux:
     - if: '$CI_PIPELINE_SOURCE == "schedule"'
       when: never
     - when: always
-  before_script:
-    - sudo apt-get build-dep -y -qq gajim-default-nightly
   script:
-    - python3 setup.py sdist
-    - cd dist
-    - GF=$(basename gajim-* .tar.gz)
-    - gzip -d $GF.tar.gz
-    - mkdir -p $GF/gajim/data/plugins/
-    - curl -O https://ftp.gajim.org/plugins_master_zip/plugin_installer.zip
-    - unzip plugin_installer.zip -d $GF/gajim/data/plugins/
-    - rm plugin_installer.zip
-    - tar -uf $GF.tar $GF
-    - gzip $GF.tar
+    - ./scripts/ci/sdist.py
 
   artifacts:
     name: "gajim-$CI_COMMIT_REF_NAME-$CI_COMMIT_SHA"


=====================================
scripts/dev/pylint-ci.sh → scripts/ci/pylint.sh
=====================================


=====================================
scripts/ci/sdist.py
=====================================
@@ -0,0 +1,62 @@
+#!/usr/bin/env python3
+
+import os
+import io
+import zipfile
+import subprocess
+import shutil
+from pathlib import Path
+import requests
+
+PLUGINS = [
+    'plugin_installer',
+]
+
+PLUGINS_BASE_URL = 'https://ftp.gajim.org'
+PLUGINS_FOLDER = Path('./gajim/data/plugins')
+
+COMMIT_BRANCH = os.environ['CI_COMMIT_BRANCH']
+
+
+def get_plugins_folder():
+    if COMMIT_BRANCH == 'master':
+        return 'plugins_master_zip'
+
+    version = COMMIT_BRANCH.split('_')[1]
+    return f'plugins_{version}_zip'
+
+
+def get_plugins_url(plugin):
+    folder = get_plugins_folder()
+    return f'{PLUGINS_BASE_URL}/{folder}/{plugin}.zip'
+
+
+def extraxt_zip(zip_bytes, path):
+    print('Extract to', path)
+    with zipfile.ZipFile(io.BytesIO(zip_bytes)) as zip_file:
+        zip_file.extractall(path)
+
+
+def download_plugins():
+    PLUGINS_FOLDER.mkdir(parents=True)
+    for plugin in PLUGINS:
+        url = get_plugins_url(plugin)
+        print('Download', url)
+        req = requests.get(url)
+        req.raise_for_status()
+        extraxt_zip(req.content, PLUGINS_FOLDER)
+
+
+def setup():
+    print('Setup')
+    subprocess.call(['python3', 'setup.py', 'sdist'])
+
+
+def cleanup():
+    print('Cleanup')
+    shutil.rmtree(PLUGINS_FOLDER)
+
+
+download_plugins()
+setup()
+cleanup()



View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/commit/aec8af588c943c1f7e40ad435193292b8d95e0f4

-- 
View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/commit/aec8af588c943c1f7e40ad435193292b8d95e0f4
You're receiving this email because of your account on dev.gajim.org.


_______________________________________________
Commits mailing list
Commits@gajim.org
https://lists.gajim.org/cgi-bin/listinfo/commits

Reply via email to