55on :
66 workflow_dispatch :
77 inputs :
8- deploy-gh-pages :
9- description : Deploy GH Pages
10- required : true
11- type : boolean
12- default : false
138 khiops-python-tutorial-revision :
149 default : 10.3.1.0
1510 description : khiops-python-tutorial repo revision
2419 - doc/*.py
2520 - khiops/**.py
2621 - .github/workflows/api-docs.yml
22+ push :
23+ tags : ['*']
2724# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
2825permissions :
2926 contents : read
@@ -49,20 +46,10 @@ jobs:
4946 # https://github.com/actions/runner/issues/2033#issuecomment-1598547465
5047 options : --user 1001
5148 steps :
52- - name : Set parameters as env
53- run : |
54- KHIOPS_PYTHON_TUTORIAL_REVISION=${{ inputs.khiops-python-tutorial-revision || env.DEFAULT_KHIOPS_PYTHON_TUTORIAL_REVISION }}
55- echo "KHIOPS_PYTHON_TUTORIAL_REVISION=$KHIOPS_PYTHON_TUTORIAL_REVISION" >> "$GITHUB_ENV"
5649 - name : Checkout khiops-python
5750 uses : actions/checkout@v4
5851 with :
5952 fetch-depth : 0
60- - name : Checkout khiops-python-tutorial
61- uses : actions/checkout@v4
62- with :
63- repository : khiopsml/khiops-python-tutorial
64- ref : ${{ env.KHIOPS_PYTHON_TUTORIAL_REVISION }}
65- path : doc/khiops-python-tutorial
6653 - name : Add pip scripts directory to path
6754 run : echo PATH="$PATH:/github/home/.local/bin" >> "$GITHUB_ENV"
6855 - name : Install doc build requirements
@@ -75,25 +62,43 @@ jobs:
7562 # Install the doc python requirements
7663 cd doc
7764 pip3 install -U -r requirements.txt
65+ # Clone the Khiops Python tutorial repository while building the documentation
7866 - name : Build Sphinx Documentation
7967 run : |
8068 cd doc
81- ./create-doc -t
69+ ./create-doc -t -d -g \
70+ ${{ inputs.khiops-python-tutorial-revision || env.DEFAULT_KHIOPS_PYTHON_TUTORIAL_REVISION }}
8271 - name : Upload the docs as an artifact
83- uses : actions/upload-pages- artifact@v3
72+ uses : actions/upload-artifact@v4
8473 with :
85- path : doc/_build/html/
86- # Deploy only when the user explicitly (and manually) orders it
87- deploy :
88- if : github.event_name == 'workflow_dispatch' && inputs.deploy-gh-pages == true
89- runs-on : ubuntu-latest
74+ name : api-docs
75+ path : ./doc/_build/html/
76+ # Release on Git tag
77+ release :
78+ if : github.ref_type == 'tag'
9079 needs : build
91- environment :
92- name : github-pages
93- url : ${{ steps.deployment.outputs.page_url }}
80+ runs-on : ubuntu-22.04
81+ permissions :
82+ contents : write
9483 steps :
95- - name : Setup Pages
96- uses : actions/configure-pages@v4
97- - name : Deploy API Docs to GitHub Pages
98- id : deployment
99- uses : actions/deploy-pages@v4
84+ - name : Download docs artifact
85+ uses : actions/download-artifact@v4
86+ with :
87+ name : api-docs
88+ path : ./doc/_build/html/
89+ - name : Create docs release zip archive
90+ uses :
thedoctor0/[email protected] 91+ with :
92+ type : zip
93+ path : ./doc/_build/html/
94+ filename : khiops-api-docs-${{ github.ref_name }}.zip
95+ - name : Release the docs zip archive
96+ 97+ with :
98+ allowUpdates : true
99+ artifacts : ./khiops-api-docs-${{ github.ref_name }}.zip
100+ body : ' **For testing purposes only**'
101+ draft : false
102+ makeLatest : false
103+ prerelease : true
104+ updateOnlyUnreleased : true
0 commit comments