diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml new file mode 100644 index 000000000..6d9f2cac5 --- /dev/null +++ b/.github/workflows/documentation.yml @@ -0,0 +1,67 @@ +--- +name: Documentation + +# yamllint disable-line rule:truthy +on: + workflow_dispatch: + workflow_run: + workflows: + - Integration + types: + - completed + branches: + - master + +concurrency: + group: ${{ github.workflow }}-${{ github.ref_name }} + cancel-in-progress: false + +permissions: + contents: read + +env: + PYTHON_VERSION: "3.13" + +jobs: + release: + if: github.event_name == 'workflow_dispatch' || github.event.workflow_run.conclusion == 'success' + name: Release + runs-on: ubuntu-24.04-arm + permissions: + # for JamesIves/github-pages-deploy-action to push + contents: write + + steps: + - name: Setup Python + uses: actions/setup-python@v5 + with: + python-version: "${{ env.PYTHON_VERSION }}" + + - name: Checkout + uses: actions/checkout@v4 + with: + persist-credentials: "false" + fetch-depth: "0" + + - name: Setup cache Python + uses: actions/cache@v4 + with: + key: "python-${{ env.PYTHON_VERSION }}-${{ runner.arch }}-${{ hashFiles('./requirements*.txt') }}" + restore-keys: "python-${{ env.PYTHON_VERSION }}-${{ runner.arch }}-" + path: "./local/" + + - name: Setup venv + run: make V=1 install + + - name: Build documentation + run: make V=1 docs.clean docs.html + + - name: Release + uses: JamesIves/github-pages-deploy-action@v4 + with: + folder: "dist/docs" + branch: "gh-pages" + commit-message: "[doc] build from commit ${{ github.sha }}" + # Automatically remove deleted files from the deploy branch + clean: "true" + single-commit: "true" diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index ddc0498f7..9ca96bf69 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -47,47 +47,6 @@ jobs: - name: Build themes run: make themes.all - documentation: - name: Documentation - runs-on: ubuntu-24.04 - permissions: - contents: write # for JamesIves/github-pages-deploy-action to push changes in repo - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - fetch-depth: '0' - persist-credentials: false - - name: Install Ubuntu packages - run: sudo ./utils/searxng.sh install buildhost - - name: Set up Python - uses: actions/setup-python@v5 - with: - python-version: '3.12' - architecture: 'x64' - - name: Cache Python dependencies - id: cache-python - uses: actions/cache@v4 - with: - path: | - ./local - ./.nvm - ./node_modules - key: python-ubuntu-24.04-3.12-${{ hashFiles('requirements*.txt', 'setup.py','.nvmrc', 'package.json') }} - - name: Build documentation - run: | - make V=1 docs.clean docs.html - - name: Deploy - if: github.ref == 'refs/heads/master' - uses: JamesIves/github-pages-deploy-action@3.7.1 - with: - GITHUB_TOKEN: ${{ github.token }} - BRANCH: gh-pages - FOLDER: dist/docs - CLEAN: true # Automatically remove deleted files from the deploy branch - SINGLE_COMMIT: true - COMMIT_MESSAGE: '[doc] build from commit ${{ github.sha }}' - babel: name: Update translations branch runs-on: ubuntu-24.04 @@ -95,7 +54,6 @@ jobs: needs: - python - themes - - documentation permissions: contents: write # for make V=1 weblate.push.translations steps: @@ -137,7 +95,6 @@ jobs: needs: - python - themes - - documentation env: DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} runs-on: ubuntu-24.04