1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
|
name: Publish Documentation to sites.ecmwf.int
on:
pull_request:
types: [opened, synchronize, reopened, closed]
push:
branches:
- 'develop'
- 'master'
tags:
- '**'
jobs:
build:
if: ${{ github.event_name == 'pull_request' && github.event.action != 'closed' || github.event_name == 'push'}}
runs-on: ubuntu-latest
outputs:
artifact-id: ${{ steps.upload-doc.outputs.artifact-id }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.13'
- name: Install python dependencies
run: |
python -m pip install -r docs/requirements.txt
- name: Prepare Doxygen
uses: ecmwf/reusable-workflows/setup-doxygen@main
with:
version: 1.14.0
- name: Build doc
run: |
DOCBUILD_OUTPUT=docs_out ./docs/build_docs.sh
- name: Archive documentation
id: upload-doc
uses: actions/upload-artifact@v4
with:
name: documentation
path: docs_out/sphinx
preview-publish:
if: ${{ github.event_name == 'pull_request' && github.event.action != 'closed' }}
needs: build
uses: ecmwf/reusable-workflows/.github/workflows/pr-preview-publish.yml@main
with:
artifact-id: ${{ needs.build.outputs.artifact-id }}
space: docs
name: dev-section
path: fdb/pull-requests
link-text: 🌈🌦️📖🚧 Documentation 🚧📖🌦️🌈
secrets:
sites-token: ${{ secrets.ECMWF_SITES_DOCS_DEV_SECTION_TOKEN }}
preview-unpublish:
if: ${{ github.event_name == 'pull_request' && github.event.action == 'closed' }}
uses: ecmwf/reusable-workflows/.github/workflows/pr-preview-unpublish.yml@main
with:
space: docs
name: dev-section
path: fdb/pull-requests
secrets:
sites-token: ${{ secrets.ECMWF_SITES_DOCS_DEV_SECTION_TOKEN }}
publish:
if: >-
${{ github.event_name == 'push' && (
github.ref_name == 'develop' ||
github.ref_name == 'master' ||
github.ref_type == 'tag'
) }}
needs: build
uses: ecmwf/reusable-workflows/.github/workflows/docs-publish.yml@main
with:
artifact-id: ${{ needs.build.outputs.artifact-id }}
space: docs
name: dev-section
path: fdb
id: ${{ github.ref_name }}
softlink: ${{ github.ref_name == 'master' && 'stable'
|| github.ref_name == 'develop' && 'latest' }}
secrets:
sites-token: ${{ secrets.ECMWF_SITES_DOCS_DEV_SECTION_TOKEN }}
|