--- name: Documentation # yamllint disable-line rule:truthy on: workflow_dispatch: push: branches: - master pull_request: branches: - master concurrency: group: ${{ github.workflow }} cancel-in-progress: false permissions: contents: read env: PYTHON_VERSION: "3.14" jobs: release: if: github.repository_owner == 'searxng' || github.event_name == 'workflow_dispatch' name: Release runs-on: ubuntu-26.04-arm permissions: # for JamesIves/github-pages-deploy-action to push contents: write steps: - name: Setup Python uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0 with: python-version: "${{ env.PYTHON_VERSION }}" - name: Checkout uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: persist-credentials: "false" fetch-depth: "0" - name: Setup cache Python uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 with: key: "python-${{ env.PYTHON_VERSION }}-${{ runner.arch }}-${{ hashFiles('./requirements*.txt') }}" restore-keys: | python-${{ env.PYTHON_VERSION }}-${{ runner.arch }}- path: "./local/" - name: Setup dependencies run: sudo ./utils/searxng.sh install buildhost - name: Setup venv run: make V=1 install - name: Build documentation run: make V=1 docs.html - if: github.ref_name == 'master' name: Release uses: JamesIves/github-pages-deploy-action@d92aa235d04922e8f08b40ce78cc5442fcfbfa2f # v4.8.0 with: folder: "dist/docs" branch: "gh-pages" commit-message: "[mod] docs: build from commit ${{ github.sha }}" # Automatically remove deleted files from the deploy branch clean: "true" single-commit: "true"