---
kind: pipeline
name: Opytex Main
type: docker

trigger:
  branch:
    - master

steps:
  - name: Build Opytex base
    image: python:3.8-alpine
    volumes:
      - name: pelican-output
        path: /output
    commands:
      - apk add --no-cache git imagemagick-dev imagemagick
      - git submodule init
      - git submodule update
      - pip install --no-cache-dir -r requirements.txt
      - export MAGICK_HOME=/usr
      - pelican ./content/ -o /output -s publishconf.py --relative-urls
      - ls /output

  - name: Push to bucket opytex.org
    image: plugins/s3
    volumes:
      - name: pelican-output
        path: /output
    settings:
      bucket: opytex.org
      endpoint: https://storage.opytex.org
      access_key:
        from_secret: minio_access_key
      secret_key:
        from_secret: minio_secret_key
      source: /output/**/*
      target: /
      path_style: true
      strip_prefix: /output


volumes:
  - name: pelican-output
    temp: {}

---
kind: pipeline
name: Opytex Year
type: docker

trigger:
  branch:
    - 2022-2023
    - 2021-2022
    - 2020-2021
    - 2019-2020
    - 2018-2019
    - 2017-2018
    - 2016-2017
    - 2015-2016

steps:
  - name: Build Opytex ${DRONE_BRANCH}
    image: python:3.8-alpine
    volumes:
      - name: pelican-output
        path: /output
    commands:
      - apk add --no-cache git imagemagick-dev imagemagick
      - git submodule init
      - git submodule update
      - git clone https://git.opytex.org/lafrite/${DRONE_BRANCH}.git content
      - pip install --no-cache-dir -r requirements.txt
      - apk add --no-cache git imagemagick-dev imagemagick
      - pip install --no-cache-dir -r requirements.txt
      - export MAGICK_HOME=/usr
      - pelican ./content/ -o /output -s publishconf.py --relative-urls
      - ls /output

  - name: Push to bucket opytex.org
    image: plugins/s3-sync:1
    volumes:
      - name: pelican-output
        path: /drone/src/output
    settings:
      bucket: opytex.org
      endpoint: https://storage.opytex.org
      access_key:
        from_secret: minio_access_key
      secret_key:
        from_secret: minio_secret_key
      source: /output
      target: /enseignements/${DRONE_BRANCH}
      path_style: true
      delete: true


volumes:
  - name: pelican-output
    temp: {}
