PHPOffice/PHPPresentation

View on GitHub
.github/workflows/deploy.yml

Summary

Maintainability
Test Coverage
name: Deploy

on:
  push:
    branches: 
      - develop
  pull_request:

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v2
      ### MkDocs
      - name: Setup Python
        uses: actions/setup-python@v2
        with:
          python-version: 3.x
      - name: Install Python Dependencies
        run: pip install mkdocs-material autolink-references-mkdocs-plugin
      - name: Build documentation
        run: mkdocs build --site-dir public
      ### PHPUnit
      - name: Setup PHP
        uses: shivammathur/setup-php@v2
        with:
          php-version: '8.1'
          extensions: mbstring, intl, gd, xml, dom, json, fileinfo, curl, zip, iconv
          coverage: xdebug
      - name: Create directory public/coverage
        run: mkdir ./public/coverage
      - name: Create directory public/coverage
        run: mkdir ./public/docs
      - name: Install PHP Dependencies
        run: composer install --ansi --prefer-dist --no-interaction --no-progress
      - name: Install PhpDocumentor
        run: wget https://phpdoc.org/phpDocumentor.phar && chmod +x phpDocumentor.phar
      - name: Build Coverage Report
        run: XDEBUG_MODE=coverage ./vendor/bin/phpunit -c ./ --coverage-text --coverage-html ./public/coverage
      - name: Build Documentation
        run: ./phpDocumentor.phar run -d ./src -t ./public/docs

      ### Deploy
      - name: Deploy
        uses: peaceiris/actions-gh-pages@v3
        if: github.ref == 'refs/heads/develop'
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          publish_dir: ./public