[tor-commits] [manual/master] gitlabCI improvements. variables for less changes between lektors,
emmapeel at torproject.org
emmapeel at torproject.org
Fri Sep 17 10:55:19 UTC 2021
commit dc144f99b8e8229120ad879eb623aa28ecf4a47d
Author: emma peel <emma.peel at riseup.net>
Date: Fri Sep 17 12:53:42 2021 +0200
gitlabCI improvements. variables for less changes between lektors,
better packages, build lektor more times for l10n,
better rules and cache settings
---
.gitlab-ci.yml | 53 +++++++++++++++++++++++++++++++----------------------
1 file changed, 31 insertions(+), 22 deletions(-)
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index ca7a958..619afa8 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,4 +1,4 @@
-image: debian:buster
+image: debian:buster-slim
# This template should be usable on any system that's based on apt.
@@ -6,6 +6,7 @@ image: debian:buster
.apt-template: &apt-template |
export LC_ALL=C.UTF-8
+ echo Etc/UTC > /etc/timezone
mkdir -p apt-cache
export APT_CACHE_DIR="$(pwd)/apt-cache"
echo 'quiet "1";' \
@@ -20,7 +21,10 @@ image: debian:buster
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"
+
stages:
- build
@@ -34,25 +38,30 @@ pages:
- 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 apt-utils -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 --branch tbmanual-contentspot https://git.torproject.org/translation.git i18n
+ - 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 'build lektor'
- - lektor build --output-path public
+ - 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
+ rules:
+ - when: always
check_new_strings:
cache:
@@ -62,28 +71,25 @@ check_new_strings:
- lego
- apt-cache
- venv
+ - .cache/pip
+
stage: test_l10n
needs: [pages]
- only:
- refs:
- - merge_requests
- changes:
- - content/**/*
+ 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:
- *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 apt-utils python3-polib -y
- - pip3 install virtualenv
- - virtualenv venv
- - source venv/bin/activate
- - pip3 install lektor
- - 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
- - echo 'ok, we built it! now we will make some tests'
+ - 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
- echo 'lets see if there are any updates in the strings for translation'
- - l10n/bin/check_po_status.py tbmanual-contentspot
+ - l10n/bin/check_po_status.py $TRANSLATION_BRANCH
artifacts:
paths:
- public
@@ -91,6 +97,7 @@ check_new_strings:
- l10n
check_l10n:
+ allow_failure: true
cache:
key: $CI_PROJECT_PATH_SLUG.${CI_COMMIT_REF_SLUG}
paths:
@@ -99,11 +106,13 @@ check_l10n:
- apt-cache
- venv
- i18n
+ - .cache/pip
stage: test_l10n
needs: [pages]
only:
- translations
script:
- - DEBIAN_FRONTEND=noninteractive apt-get install gettext i18nspector python3-polib -y
+ - 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/
+
More information about the tor-commits
mailing list