name: Docs build test and auto deploy on: pull_request: branches: [ "v3" ] types: [ opened, synchronize, reopened ] paths: - 'config/**.yml' - 'docs/**' - 'package.json' - 'yarn.lock' - '.github/workflows/vitepress-deploy.yml' push: branches: [ "v3" ] paths: - 'config/**.yml' - 'docs/**' - 'package.json' - 'yarn.lock' - '.github/workflows/vitepress-deploy.yml' jobs: build: name: Deploy docs runs-on: ubuntu-latest if: github.repository == 'crazywhalecc/static-php-cli' steps: - name: Checkout uses: actions/checkout@v4 - uses: actions/setup-node@v3 - run: npm install - name: "Install PHP for official runners" uses: shivammathur/setup-php@v2 with: coverage: none tools: composer:v2 php-version: 8.4 ini-values: memory_limit=-1 extensions: curl, openssl, mbstring - name: "Get Composer Cache Directory" id: composer-cache run: | echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT - name: "Cache Composer dependencies" uses: "actions/cache@v4" with: path: "${{ steps.composer-cache.outputs.dir }}" key: "php-8.2-locked-composer-${{ hashFiles('**/composer.lock') }}" restore-keys: | php-8.2-locked-composer - name: "Install Locked Dependencies" run: "composer install --no-interaction --no-progress" - name: Build run: npm run docs:build # Deploy to GitHub Pages only when the workflow is triggered by a push to the v3 branch - name: Deploy to GitHub Pages uses: peaceiris/actions-gh-pages@v3 if: github.event_name == 'push' && github.ref == 'refs/heads/v3' with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: docs/.vitepress/dist