image: ubuntu:xenial

cache:
  paths:
    - output/ # Node modules and dependencies

before_script:
  - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
  - eval $(ssh-agent -s)
  - ssh-add <(echo "$SSH_PRIVATE_KEY")
  - mkdir -p ~/.ssh
  - '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'

build:
  stage: build
  script:
    - apt-get install -y --force-yes build-essential python-dev python-pip git nodejs nodejs-legacy npm
    - pip install --upgrade pip==9.0.3
    - pip install -r requirements.txt
    - cd content && npm install && cd ..
    - sed -i "s/RELATIVE_URLS = True/RELATIVE_URLS = False/" pelicanconf.py
    - apt-get install -y --force-yes locales
    - locale-gen fr_FR
    - locale-gen fr_FR.UTF-8
    - update-locale LANG=fr_FR.UTF-8
    - . /etc/default/locale
    - pelican content
    # krb5 auth
    - echo -e "krb5-config krb5-config/default_realm string LOCAL.ISIMA.FR" | debconf-set-selections
    - apt-get install -y --force-yes krb5-user krb5-config
    - echo "$KEYTAB" > my.keytab.hex
    #- echo 'sed \'s/\([0-9A-F]\{2\}\)/\\\\\\x\1/gI\' my.keytab.hex | xargs printf > my.keytab'
    - sed 's/\([0-9A-F]\{2\}\)/\\\\\\x\1/gI' my.keytab.hex | xargs printf > my.keytab
    - kinit -k -t my.keytab vimazeno@LOCAL.ISIMA.FR
    - ssh -K vimazeno@perso.local.isima.fr "mkdir -p ~/public_html/"
    - ssh -K vimazeno@perso.local.isima.fr "echo 'Options +FollowSymLinks' >  ~/public_html/.htaccess"
    - ssh -K vimazeno@perso.local.isima.fr "echo 'RewriteEngine on' >>  ~/public_html/.htaccess"
    - ssh -K vimazeno@perso.local.isima.fr "echo 'RewriteCond %{HTTP_HOST} ^perso.isima.fr$' >>  ~/public_html/.htaccess"
    - ssh -K vimazeno@perso.local.isima.fr "echo 'RewriteRule (.*) https://perso.limos.fr%{REQUEST_URI} [R=301,L]' >>  ~/public_html/.htaccess"
    # rsync
    - apt-get install -y --force-yes rsync
    - rsync -az --exclude '_' -e "ssh -K" output/ vimazeno@perso.local.isima.fr:~/public_html/
  when: manual