name: Build Documentation concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true on: push: paths: - "doc/**" - ".github/**" - ".ci/**" pull_request: paths: - "doc/**" - ".github/**" - ".ci/**" jobs: build_deploy: name: Build documentation runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-22.04] steps: - uses: actions/checkout@v4 with: submodules: recursive fetch-depth: 0 - name: Install Dependencies on Ubuntu if: startsWith(matrix.os, 'ubuntu') run: | sudo apt-get update sudo apt-get install lftp python3 make latexmk \ texlive-latex-recommended texlive-latex-extra texlive-fonts-recommended sudo python3 -m pip install --upgrade pip sudo pip3 install -r doc/requirements.txt - name: Build Documentation run: | cd doc make all make latexpdf cp build/latex/*.pdf build/html/ cd .. - name: Deploy Documentation if: ${{ github.event_name != 'pull_request' && github.ref == 'refs/heads/master' }} env: FTPUSER: ${{ secrets.FTPUSER }} FTPPWD: ${{ secrets.FTPPWD }} FTPSERVER: ${{ secrets.FTPSERVER }} run: | bash .ci/ftp_deploy.sh $FTPUSER $FTPPWD $FTPSERVER doc/build/html nuclei_sdk - name: Upload Documentation uses: actions/upload-artifact@v4 with: # Artifact name name: nuclei_sdk_doc # A file, directory or wildcard pattern that describes what to upload path: doc/build/html