removed verify:docs, updated ui, updated loading content collections, updated pipelines #58
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: 🚀 Validation Pipeline | |
| concurrency: | |
| group: ${{ github.repository }}-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| on: | |
| pull_request: | |
| branches: [main] | |
| permissions: | |
| actions: write | |
| contents: read | |
| # Required to put a comment into the pull-request | |
| pull-requests: write | |
| jobs: | |
| lint: | |
| name: ⬣ Biome lint | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: ⬇️ Checkout repo | |
| uses: actions/checkout@v4 | |
| - name: Setup Biome | |
| uses: biomejs/setup-biome@v2 | |
| - name: Run Biome | |
| run: biome ci . | |
| validate: | |
| name: 🔎 Validate | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: 🛑 Cancel Previous Runs | |
| uses: styfle/cancel-workflow-action@0.12.1 | |
| - name: ⬇️ Checkout repo | |
| uses: actions/checkout@v4 | |
| - name: ⎔ Setup node | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version-file: "package.json" | |
| - name: Install pnpm | |
| uses: pnpm/action-setup@v4 | |
| - name: Install dependencies | |
| run: pnpm install | |
| - run: pnpm install --prefer-offline --frozen-lockfile | |
| - run: pnpm exec playwright install chromium --with-deps | |
| - name: 🔎 Validate | |
| run: pnpm run test | |
| build-docs: | |
| name: ⬆️ Build Docs | |
| runs-on: ubuntu-latest | |
| # FIXME:MONOREPO If docs are in a subdirectory, uncomment the next line | |
| # defaults: | |
| # run: | |
| # working-directory: docs | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| ref: ${{ github.head_ref }} | |
| fetch-depth: 0 | |
| - uses: pnpm/action-setup@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version-file: "package.json" | |
| cache: pnpm | |
| - name: Install deps | |
| run: pnpm install --prefer-offline --frozen-lockfile | |
| - name: Generate docs | |
| env: | |
| APP_ENV: production | |
| run: pnpm run generate:docs | |
| - name: Pack generated docs (tarball) | |
| run: | | |
| tar -czf docs-generated.tgz generated-docs | |
| ls -lh docs-generated.tgz | |
| - name: Upload generated docs (tgz) | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: docs-generated-tgz | |
| path: docs-generated.tgz | |
| if-no-files-found: error | |
| - name: Upload versions file | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: docs-versions | |
| path: app/utils/versions.ts | |
| if-no-files-found: error | |
| deploy-docs-pr-preview: | |
| name: 🚀 Deploy Docs | |
| if: ${{ github.event_name == 'pull_request' }} | |
| needs: [lint, validate, build-docs] | |
| runs-on: ubuntu-latest | |
| # FIXME:MONOREPO If docs are in a subdirectory, uncomment the next line | |
| # defaults: | |
| # run: | |
| # working-directory: docs | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Download generated docs (tgz) | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: docs-generated-tgz | |
| path: . | |
| - name: Unpack generated docs | |
| run: | | |
| tar -xzf docs-generated.tgz | |
| ls -laR generated-docs | sed -n '1,200p' | |
| - name: Download versions file | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: docs-versions | |
| path: app/utils/ | |
| - name: Verify files before deploy | |
| run: | | |
| echo "=== Checking generated-docs structure ===" | |
| ls -la generated-docs/ | |
| echo "=== Checking versions.ts ===" | |
| cat app/utils/versions.ts | |
| - uses: forge-42/fly-deploy@v1.0.0-rc.2 | |
| id: deploy | |
| env: | |
| FLY_ORG: ${{ vars.FLY_ORG }} | |
| FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }} | |
| FLY_REGION: ${{ vars.FLY_REGION }} | |
| with: | |
| # FIXME:MONOREPO If docs are in a subdirectory, add: workspace_name: docs | |
| app_name: ${{ github.event.repository.name }}-${{ github.event.number }} | |
| use_isolated_workspace: true | |
| env_vars: | | |
| APP_ENV=production | |
| GITHUB_OWNER=${{ github.repository_owner }} | |
| GITHUB_REPO=${{ github.event.repository.name }} | |
| GITHUB_REPO_URL=https://github.com/${{ github.repository }} |