name: Deploy Docs # Controls when the action will run. Triggers the workflow on push or pull request # events but only for the master branch on: push: branches: [ master ] pull_request: branches: [ master ] types: [ closed ] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Set up Python 3.8 uses: actions/setup-python@v2 with: python-version: 3.8 - name: Install dependencies run: | python -m pip install --upgrade pip if [ -f requirements.txt ]; then pip install -r requirements.txt; fi - name: Create API docs run: | sphinx-apidoc -f -o docs/source/api esbo_etc - name: Build docs run: | sphinx-build -b html docs/source docs/build/html - name: Commit documentation changes run: | git clone https://github.com/LukasK13/ESBO-ETC.git --branch gh-pages --single-branch gh-pages cp -r docs/build/html/* gh-pages cd gh-pages git config --local user.email "action@github.com" git config --local user.name "GitHub Action" git add . git commit -m "Update documentation" -a || true # The above command will fail if no changes were present, so we ignore # the return code. - name: Push changes uses: ad-m/github-push-action@master with: branch: gh-pages directory: gh-pages github_token: ${{ secrets.GITHUB_TOKEN }}