removed verify:docs, updated ui, updated loading content collections, updated pipelines #73
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 | |
| 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 | |
| #FIXME uncomment if working with monorepo structure | |
| # working-directory: docs | |
| env: | |
| APP_ENV: production | |
| run: pnpm run generate:docs | |
| - name: Pack generated docs (tarball) | |
| # FIXME adjust if working with monorepo structure | |
| # run: | | |
| # tar -czf docs-generated.tgz -C docs generated-docs | |
| # ls -lh docs/docs-generated.tgz | |
| 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 | |
| # FIXME adjust if working with monorepo structure | |
| # path: docs/app/utils/versions.ts | |
| path: app/utils/versions.ts | |
| if-no-files-found: error | |
| deploy-docs-pr-preview: | |
| name: 🚀 Deploy Docs | |
| needs: [build-docs] | |
| runs-on: ubuntu-latest | |
| 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' | |
| # FIXME adjust if working with monorepo structure | |
| # run: | | |
| # set -euxo pipefail | |
| # tar -xzf docs-generated.tgz -C docs | |
| # ls -laR docs/generated-docs | sed -n '1,200p' | |
| - name: Download versions file | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: docs-versions | |
| path: app/utils/ | |
| - 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 uncomment if working with monorepo structure | |
| # 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 }} |