Skip to content

Localised Docs

Localised Docs #88

Workflow file for this run

name: Localised Docs
on:
schedule:
- cron: '31 0 * * 0'
workflow_dispatch:
inputs:
Locale:
description: 'Locale to build'
required: true
default: 'fr'
type: choice
options:
- fr
- es_419
- pt
- cs
- zh
- ar
- ALL
jobs:
build-all-locales:
runs-on: ubuntu-20.04
strategy:
max-parallel: 1
matrix:
include:
- id: French
locale: fr
- id: Spanish
locale: es_419
- id: Portuguese
locale: pt
- id: Czech
locale: cs
- id: Chinese
locale: zh
- id: Arabic
locale: ar
fail-fast: false
# Updated if condition to handle workflow_dispatch
if: (github.event_name == 'schedule') || (github.event_name == 'workflow_dispatch' && github.event.inputs.Locale == 'ALL')
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.9
uses: actions/setup-python@v4
with:
python-version: '3.9'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
- name: Install custom pre-processor
run: |
cd tools/python/markdown-pp-master
python3 setup.py develop
pip install MarkdownPP
- name: Install markdown extensions
run: |
cd tools/python/markdown-extensions/d_card
python3 setup.py develop
pip install d_card
- name: Install dhis2_plugins for mkdocs
run: |
cd tools/python/dhis2_plugins
python3 setup.py develop
pip install dhis2_plugins
- name: Install markdown hacks
run: |
# temporary hacks
python3 -m site
cp tools/python/blockprocessors.py ${pythonLocation}/lib/python3.9/site-packages/markdown/
cp tools/python/attr_list.py ${pythonLocation}/lib/python3.9/site-packages/markdown/extensions/
cp tools/python/tables.py ${pythonLocation}/lib/python3.9/site-packages/markdown/extensions/
- name: Build the docs
run: |
mkdocs build
env:
DHIS2_DOCS_LANGUAGE: '${{ matrix.locale }}'
DHIS2_DOCS_TX_TOKEN: ${{ secrets.DHIS2_DOCS_TX_TOKEN }}
- name: Sync docs to S3
uses: dhis2/s3-sync-action@master
with:
args: --delete --exclude 'full*'
env:
AWS_S3_BUCKET: ${{ secrets.DHIS2_S3_DOCS_BUCKET }}
AWS_ACCESS_KEY_ID: ${{ secrets.DHIS2_S3_DOCS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.DHIS2_S3_DOCS_ACCESS_KEY }}
AWS_REGION: 'eu-west-1'
AWS_CF_DISTRIBUTION_ID: ${{ secrets.DHIS2_S3_DOCS_CF_ID }}
SOURCE_DIR: 'target/${{ matrix.locale }}/.'
DEST_DIR: '${{ matrix.locale }}/'
build-single-locale:
runs-on: ubuntu-20.04
# Updated if condition to handle workflow_dispatch
if: (github.event_name == 'workflow_dispatch' && github.event.inputs.Locale != 'ALL')
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.9
uses: actions/setup-python@v4
with:
python-version: '3.9'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
- name: Install custom pre-processor
run: |
cd tools/python/markdown-pp-master
python3 setup.py develop
pip install MarkdownPP
- name: Install markdown extensions
run: |
cd tools/python/markdown-extensions/d_card
python3 setup.py develop
pip install d_card
- name: Install dhis2_plugins for mkdocs
run: |
cd tools/python/dhis2_plugins
python3 setup.py develop
pip install dhis2_plugins
- name: Install markdown hacks
run: |
# temporary hacks
python3 -m site
cp tools/python/blockprocessors.py ${pythonLocation}/lib/python3.9/site-packages/markdown/
cp tools/python/attr_list.py ${pythonLocation}/lib/python3.9/site-packages/markdown/extensions/
cp tools/python/tables.py ${pythonLocation}/lib/python3.9/site-packages/markdown/extensions/
- name: Build the docs
run: |
mkdocs build
env:
DHIS2_DOCS_LANGUAGE: '${{ github.event.inputs.Locale }}'
DHIS2_DOCS_TX_TOKEN: ${{ secrets.DHIS2_DOCS_TX_TOKEN }}
- name: Sync docs to S3
uses: dhis2/s3-sync-action@master
with:
args: --delete --exclude 'full*'
env:
AWS_S3_BUCKET: ${{ secrets.DHIS2_S3_DOCS_BUCKET }}
AWS_ACCESS_KEY_ID: ${{ secrets.DHIS2_S3_DOCS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.DHIS2_S3_DOCS_ACCESS_KEY }}
AWS_REGION: 'eu-west-1'
AWS_CF_DISTRIBUTION_ID: ${{ secrets.DHIS2_S3_DOCS_CF_ID }}
SOURCE_DIR: 'target/${{ github.event.inputs.Locale }}/.'
DEST_DIR: '${{ github.event.inputs.Locale }}/'