Feature/readme landing page upgrade #150
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Deploy Documentation to GitHub Pages | |
| on: | |
| push: | |
| branches: [ main ] | |
| paths: | |
| - 'docs/**' | |
| - '.github/workflows/docs.yml' | |
| pull_request: | |
| branches: [ main ] | |
| paths: | |
| - 'docs/**' | |
| - '.github/workflows/docs.yml' | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| pages: write | |
| id-token: write | |
| concurrency: | |
| group: "pages" | |
| cancel-in-progress: false | |
| jobs: | |
| check-changes: | |
| runs-on: ubuntu-latest | |
| outputs: | |
| docs-changed: ${{ steps.changes.outputs.docs }} | |
| is-release: ${{ steps.changes.outputs.release }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Check for changes | |
| id: changes | |
| run: | | |
| # Check if this is a release commit | |
| if [[ "${{ github.event.head_commit.message }}" == *"[release]"* ]]; then | |
| echo "release=true" >> $GITHUB_OUTPUT | |
| echo "docs=true" >> $GITHUB_OUTPUT | |
| echo "π Release commit detected - will deploy docs" | |
| else | |
| # Check if docs files changed | |
| if git diff --name-only HEAD~1 HEAD | grep -E '^docs/' > /dev/null; then | |
| echo "docs=true" >> $GITHUB_OUTPUT | |
| echo "π Docs changes detected - will deploy docs" | |
| else | |
| echo "docs=false" >> $GITHUB_OUTPUT | |
| echo "π No docs changes - skipping deployment" | |
| fi | |
| echo "release=false" >> $GITHUB_OUTPUT | |
| fi | |
| build: | |
| runs-on: ubuntu-latest | |
| needs: check-changes | |
| if: needs.check-changes.outputs.docs-changed == 'true' | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Setup Ruby | |
| uses: ruby/setup-ruby@v1 | |
| with: | |
| ruby-version: '3.2' | |
| bundler-cache: true | |
| - name: Debug Ruby Environment | |
| run: | | |
| echo "Ruby version: $(ruby --version)" | |
| echo "Gem version: $(gem --version)" | |
| echo "Bundler version: $(bundle --version)" | |
| echo "Current directory: $(pwd)" | |
| ls -la | |
| - name: Install Jekyll | |
| run: | | |
| gem install jekyll bundler | |
| - name: Navigate to docs | |
| run: | | |
| cd docs | |
| pwd | |
| ls -la | |
| - name: Install dependencies with verbose output | |
| run: | | |
| cd docs | |
| bundle install --verbose | |
| - name: Build documentation | |
| run: | | |
| cd docs | |
| bundle exec jekyll build --verbose | |
| - name: Upload artifact | |
| uses: actions/upload-pages-artifact@v3 | |
| with: | |
| path: docs/_site | |
| deploy: | |
| environment: | |
| name: github-pages | |
| url: ${{ steps.deployment.outputs.page_url }} | |
| runs-on: ubuntu-latest | |
| needs: [check-changes, build] | |
| if: github.ref == 'refs/heads/main' && needs.check-changes.outputs.docs-changed == 'true' | |
| steps: | |
| - name: Deploy to GitHub Pages | |
| id: deployment | |
| uses: actions/deploy-pages@v4 |