name: Build and deploy docs on: push: branches: - main tags: - '*.*.*' pull_request: branches: - main workflow_dispatch: jobs: build: if: github.repository_owner == 'xonsh' runs-on: ubuntu-latest name: Xonsh docs to gh-pages steps: - uses: actions/checkout@v2 - name: Setup Python uses: actions/setup-python@v2 with: python-version: '3.9' cache: 'pip' cache-dependency-path: 'pyproject.toml' - run: pip install -e '.[doc]' - name: Build Docs run: cd docs && make html - uses: tibdex/github-app-token@v1 if: ${{ github.event_name != 'pull_request' }} id: generate-token with: app_id: ${{ secrets.APP_ID }} private_key: ${{ secrets.APP_PRIVATE_KEY }} repository: xonsh/xonsh-docs - name: Deploy to dev if not tagged if: github.event_name != 'pull_request' && !startsWith(github.ref, 'refs/tags/v') uses: peaceiris/actions-gh-pages@v3 with: personal_token: ${{ steps.generate-token.outputs.token }} external_repository: xonsh/xonsh-docs publish_dir: ./docs/_build/html destination_dir: dev # latest as in main branch - name: Deploy to stable if tagged if: github.event_name != 'pull_request' && startsWith(github.ref, 'refs/tags/v') uses: peaceiris/actions-gh-pages@v3 with: personal_token: ${{ steps.generate-token.outputs.token }} external_repository: xonsh/xonsh-docs publish_dir: ./docs/_build/html # # todo: implement versioned docs