diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f01720b..23c193c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,3 +1,5 @@ +image: debian + stages: - analyse - test @@ -6,74 +8,75 @@ stages: variables: GIT_SUBMODULE_STRATEGY: normal +cache: + paths: + - .venv/ + +before_script: + - apt-get update + - apt-get dist-upgrade -y + - > + apt-get install --no-install-recommends -y + bash + build-essential + cmake + coreutils + findutils + git + grep + make + plantuml + python3 + python3-pip + python3-venv + rsync + sed + # Convenient hack until this is fixed. + - ln -s /usr/bin/python3 /usr/bin/python + +.setup_build: &setup_build + - python -m venv .venv + - . ./.venv/bin/activate + - python -m pip install -r requirements.txt + - mkdir build + - cd build + line_limit: stage: analyse + needs: [] allow_failure: true - image: registry.git.mel.vin/vermim/cicd/cicd/coreutils:0.1 script: - - mkdir build - - cd build + - *setup_build - cmake -DDOC:STRING=OFF -DLINE_LIMIT:BOOL=ON -DWERROR:BOOL=ON .. - make line_limit regex_check: stage: analyse + needs: [] allow_failure: true - image: registry.git.mel.vin/vermim/cicd/cicd/coreutils:0.1 script: - - mkdir build - - cd build + - *setup_build - cmake -DDOC:STRING=OFF -DREGEX_CHECK:BOOL=ON -DWERROR:BOOL=ON .. - make regex_check sphinx_html: stage: test - image: registry.git.mel.vin/vermim/cicd/cicd/sphinx_html:0.3 + needs: [] script: - - mkdir build - - cd build - - cmake -DWERROR:BOOL=ON .. + - *setup_build + - cmake -DDOC:STRING=html .. - make artifacts: paths: - build/doc/html -review: +pages: stage: deploy - variables: - GIT_STRATEGY: none - only: - - master@shione/shione - dependencies: - - sphinx_html - image: registry.git.mel.vin/vermim/cicd/cicd/coreutils:0.1 - environment: - name: review/$CI_COMMIT_REF_NAME - url: https://shione.vermwa.re - on_stop: review_stop + rules: + - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH' + needs: ["sphinx_html"] script: - - mkdir -p ~/.ssh - - echo "$DOC_SSH_KNOWNHOSTS" > ~/.ssh/known_hosts - - eval $(ssh-agent) - - echo "$DOC_SSH_KEY" | ssh-add - > /dev/null - mv build/doc/html public - - rsync -a --delete public/ 'web@shione.vermwa.re:' - -review_stop: - stage: deploy - variables: - GIT_STRATEGY: none - when: manual - dependencies: [] - image: registry.git.mel.vin/vermim/cicd/cicd/coreutils:0.1 - environment: - name: review/$CI_COMMIT_REF_NAME - action: stop - script: - - mkdir -p ~/.ssh - - echo "$DOC_SSH_KNOWNHOSTS" > ~/.ssh/known_hosts - - eval $(ssh-agent) - - echo "$DOC_SSH_KEY" | ssh-add - > /dev/null - - mkdir /tmp/empty - - rsync -a --delete /tmp/empty/ 'web@shione.vermwa.re:' - - rmdir /tmp/empty + artifacts: + paths: + - public diff --git a/.gitmodules b/.gitmodules index bd75922..067a357 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ [submodule "cicd/style"] path = cicd/style - url = ../../../template/util/style.git + url = https://gitlab.com/vermware/template/util/style.git diff --git a/cicd/docker_targets/coreutils/Dockerfile b/cicd/docker_targets/coreutils/Dockerfile deleted file mode 100644 index 786afdb..0000000 --- a/cicd/docker_targets/coreutils/Dockerfile +++ /dev/null @@ -1,3 +0,0 @@ -FROM debian:stretch -ADD bootstrap.sh / -RUN /bootstrap.sh && rm /bootstrap.sh diff --git a/cicd/docker_targets/coreutils/Tagfile b/cicd/docker_targets/coreutils/Tagfile deleted file mode 100644 index dee3c0b..0000000 --- a/cicd/docker_targets/coreutils/Tagfile +++ /dev/null @@ -1 +0,0 @@ -registry.git.mel.vin:443/shione/shione/cicd/coreutils:0.0 diff --git a/cicd/docker_targets/coreutils/bootstrap.sh b/cicd/docker_targets/coreutils/bootstrap.sh deleted file mode 100755 index 2d6c23a..0000000 --- a/cicd/docker_targets/coreutils/bootstrap.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh - -DEBIAN=stretch - -set -e - -printf '%s\n' \ - "deb http://ftp.debian.org/debian $DEBIAN-backports main" \ - > /etc/apt/sources.list.d/$DEBIAN-backports.list - -apt-get update - -apt-get dist-upgrade -y - -# backported cmake requires backported libuv1 -apt-get install --no-install-recommends -y \ - bash \ - ca-certificates \ - cmake/$DEBIAN-backports \ - coreutils \ - findutils \ - git \ - grep \ - libuv1/$DEBIAN-backports \ - make \ - openssh-client \ - rsync \ - sed - -apt-get autoremove -y -apt-get clean -rm -rf /var/lib/apt/lists/* diff --git a/cicd/docker_targets/sphinx_html/Dockerfile b/cicd/docker_targets/sphinx_html/Dockerfile deleted file mode 100644 index 786afdb..0000000 --- a/cicd/docker_targets/sphinx_html/Dockerfile +++ /dev/null @@ -1,3 +0,0 @@ -FROM debian:stretch -ADD bootstrap.sh / -RUN /bootstrap.sh && rm /bootstrap.sh diff --git a/cicd/docker_targets/sphinx_html/Tagfile b/cicd/docker_targets/sphinx_html/Tagfile deleted file mode 100644 index 3fb6c15..0000000 --- a/cicd/docker_targets/sphinx_html/Tagfile +++ /dev/null @@ -1 +0,0 @@ -registry.git.mel.vin:443/shione/shione/cicd/sphinx_html:0.0 diff --git a/cicd/docker_targets/sphinx_html/bootstrap.sh b/cicd/docker_targets/sphinx_html/bootstrap.sh deleted file mode 100755 index f24045a..0000000 --- a/cicd/docker_targets/sphinx_html/bootstrap.sh +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/sh - -DEBIAN=stretch -PLANTUML=master - -set -e - -printf '%s\n' \ - "deb http://ftp.debian.org/debian $DEBIAN-backports main" \ - > /etc/apt/sources.list.d/$DEBIAN-backports.list - -apt-get update - -apt-get dist-upgrade -y - -# backported cmake requires backported libuv1 -apt-get install --no-install-recommends -y \ - ca-certificates \ - cmake/$DEBIAN-backports \ - curl \ - default-jre-headless \ - git \ - graphviz \ - libuv1/$DEBIAN-backports \ - make \ - python3-pip \ - python3-setuptools \ - python3-wheel - -# some font metapackages use recommends to install their subpackages -apt-get install -y \ - fonts-dejavu \ - fonts-liberation \ - fonts-noto - -ln -s /usr/bin/python3 /usr/local/bin/python -ln -s /usr/bin/pip3 /usr/local/bin/pip - -pip install \ - sphinx \ - sphinx_rtd_theme \ - sphinxcontrib-plantuml - -mkdir -p /opt/plantuml -for i in batik-all-1.7.jar jlatexmath-minimal-1.0.3.jar jlm_cyrillic.jar \ - jlm_greek.jar plantuml.jar -do - curl -Lf \ - -o /opt/plantuml/$i \ - https://git.mel.vin/mirror/plantuml/raw/$PLANTUML/$i -done - -printf '%s\n%s\n' \ - '#!/bin/sh' \ - 'exec java -jar /opt/plantuml/plantuml.jar "$@"' \ - > /usr/local/bin/plantuml -chmod +x /usr/local/bin/plantuml - -apt-get purge -y \ - curl - -apt-get autoremove -y -apt-get clean -rm -rf /var/lib/apt/lists/* diff --git a/cicd/style b/cicd/style index 68df132..fec71d3 160000 --- a/cicd/style +++ b/cicd/style @@ -1 +1 @@ -Subproject commit 68df132153b7892f80ea09e41f9ce15ebc68f5f8 +Subproject commit fec71d372cb198cb9e8521b54b2a6b19e5ef2aba