[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[tor-commits] [manual/translations] update gitlabCI file



commit 0e2b465738128eed3ea53b6e6a907deda46c6922
Author: emma peel <emma.peel@xxxxxxxxxx>
Date:   Thu Oct 7 17:54:33 2021 +0200

    update gitlabCI file
---
 .gitlab-ci.yml | 101 ++++++++++++++++++++++++++++++++++++++++++++-------------
 1 file changed, 78 insertions(+), 23 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 0fa8dfb..619afa8 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,13 +1,5 @@
-image: python:3.9-slim-buster
+image: debian:buster-slim
 
-cache:
-  key: $CI_PROJECT_PATH_SLUG.${CI_COMMIT_REF_SLUG}
-  paths:
-    - packages
-    - venv
-    - i18n
-    - lego
-    - apt-cache
 
 # This template should be usable on any system that's based on apt.
 # taken from tor gitlabci
@@ -29,35 +21,98 @@ cache:
       apt-get upgrade -qy
 
 variables:
-    GIT_SUBMODULE_STRATEGY: recursive
+  GIT_SUBMODULE_STRATEGY: recursive
+  PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
+  TRANSLATION_BRANCH: "tbmanual-contentspot"
 
-before_script:
+
+stages:
+    - build
+    - test_l10n
+
+pages:
+  cache:
+    key: $CI_PROJECT_PATH_SLUG.${CI_COMMIT_REF_SLUG}
+    paths:
+      - packages
+      - lego
+      - apt-cache
+      - venv
+      - .cache/pip
+      - .cache/lektor/builds/
+  stage: build
+  script:
     - *apt-template
-    - DEBIAN_FRONTEND=noninteractive apt-get install gettext python3-babel python3-pip git python3-inifile python3-dev python3-setuptools python3-openssl python3-cryptography i18nspector -y
+    - DEBIAN_FRONTEND=noninteractive apt-get install gettext python3-babel python3-pip git python3-inifile python3-dev python3-setuptools python3-openssl python3-cryptography i18nspector apt-utils ca-certificates -y
     - pip3 install virtualenv
     - virtualenv venv
     - source venv/bin/activate
     - pip3 install lektor
     - echo 'checking out translations'
     - rm -rf i18n
-    - git clone https://git.torproject.org/translation.git i18n
-    - cd i18n && git checkout tbmanual-contentspot && cd ..
-
-pages:
-  script:
-    - echo 'building lektor 3 times to get translations in place'
+    - git clone --branch $TRANSLATION_BRANCH https://git.torproject.org/translation.git i18n
+    - echo 'reinstall lektor plugins'
+    - lektor project-info --output-path
     - lektor plugins reinstall
+    - echo 'building lektor 3 more times to get translations in place'
     - lektor build --output-path public && lektor build --output-path public && lektor build --output-path public
   artifacts:
     paths:
       - public
       - i18n
-  only:
-    - translations
+  rules:
+    - when: always
 
-check_l10n:
+check_new_strings:
+  cache:
+    key: $CI_PROJECT_PATH_SLUG.${CI_COMMIT_REF_SLUG}
+    paths:
+      - packages
+      - lego
+      - apt-cache
+      - venv
+      - .cache/pip
+
+  stage: test_l10n
+  needs: [pages]
+  allow_failure: true
+  rules:
+    - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
+    - if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH
+    - if: '$CI_COMMIT_BRANCH == "translations"'
+      when: never
+    - changes:
+      - content/**/*.lr
+      - templates/**/*
   script:
-    - rm -rf l10n/
+    - *apt-template
+    - DEBIAN_FRONTEND=noninteractive apt-get install gettext git python3-dev python3-setuptools i18nspector python3-polib python3-requests ca-certificates apt-utils -y
     - git clone https://gitlab.torproject.org/tpo/community/l10n.git
-    - pip3 install polib
+    - echo 'lets see if there are any updates in the strings for translation'
+    - l10n/bin/check_po_status.py $TRANSLATION_BRANCH
+  artifacts:
+    paths:
+      - public
+      - i18n
+      - l10n
+
+check_l10n:
+  allow_failure: true
+  cache:
+    key: $CI_PROJECT_PATH_SLUG.${CI_COMMIT_REF_SLUG}
+    paths:
+      - packages
+      - lego
+      - apt-cache
+      - venv
+      - i18n
+      - .cache/pip
+  stage: test_l10n
+  needs: [pages]
+  only:
+    - translations
+  script:
+    - DEBIAN_FRONTEND=noninteractive apt-get install gettext i18nspector python3-polib ca-certificates -y
+    - echo 'lets see if there are any broken links on the translations'
     - l10n/bin/check_markdown_links.py i18n/
+



_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits