pod logs and resourceset (#206) #66
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: Build and Deploy Documentation | |
| on: | |
| push: | |
| branches: | |
| - main | |
| paths: | |
| - 'docs/**' | |
| - '.github/workflows/docs.yml' | |
| tags: | |
| - 'v*' | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| pages: write | |
| id-token: write | |
| concurrency: | |
| group: "pages" | |
| cancel-in-progress: false | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 | |
| with: | |
| fetch-depth: 0 # Needed for git info | |
| - name: Setup Hugo | |
| uses: peaceiris/actions-hugo@16361eb4acea8698b220b76c0d4e84e1fd22c61d # v2 | |
| with: | |
| hugo-version: 'latest' | |
| extended: true | |
| - name: Setup Go | |
| uses: actions/setup-go@40f1582b2485089dde7abd97c1529aa768e1baff # v5 | |
| with: | |
| go-version: '1.21' | |
| - name: Setup Node.js | |
| uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4 | |
| with: | |
| node-version: '24' | |
| cache: 'npm' | |
| cache-dependency-path: docs/package-lock.json | |
| - name: Install Go dependencies | |
| working-directory: docs | |
| run: | | |
| go mod download | |
| go mod tidy | |
| - name: Install npm dependencies | |
| working-directory: docs | |
| run: | | |
| npm ci | |
| - name: Fetch metadata | |
| working-directory: docs | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| # CRATES_IO_TOKEN not needed for public API access, but kept for future use | |
| CRATES_IO_TOKEN: ${{ secrets.CRATES_IO_TOKEN }} | |
| run: | | |
| mkdir -p scripts | |
| chmod +x scripts/fetch-metadata.sh || true | |
| ./scripts/fetch-metadata.sh static/metadata.json || echo "Metadata fetch failed, continuing..." | |
| - name: Build Hugo site | |
| working-directory: docs | |
| run: | | |
| hugo --minify --baseURL "https://flux9s.ca/" | |
| - name: Copy metadata.json to public | |
| working-directory: docs | |
| run: | | |
| if [ -f static/metadata.json ]; then | |
| cp static/metadata.json public/metadata.json | |
| else | |
| echo '{"crates_downloads": 0, "github_stars": 0, "github_releases": 0, "last_updated": "'$(date -u +%Y-%m-%dT%H:%M:%SZ)'"}' > public/metadata.json | |
| fi | |
| - name: Setup Pages | |
| uses: actions/configure-pages@1f0c5cde4bc74cd7e1254d0cb4de8d49e9068c7d # v4 | |
| - name: Upload artifact | |
| uses: actions/upload-pages-artifact@56afc609e74202658d3ffba0e8f6dda462b719fa # v3 | |
| with: | |
| path: docs/public | |
| deploy: | |
| # Only deploy from branch pushes — tag pushes build but don't deploy | |
| # (GitHub Pages environment protection rules reject deployments from tags) | |
| if: github.ref_type == 'branch' | |
| environment: | |
| name: github-pages | |
| url: ${{ steps.deployment.outputs.page_url }} | |
| runs-on: ubuntu-latest | |
| needs: build | |
| steps: | |
| - name: Deploy to GitHub Pages | |
| id: deployment | |
| uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # v4 |