name: studio-nuxt-build run-name: studio nuxt build on: # Runs on pushes targeting the default branch push: branches: ["main"] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: # Add write workflow permissions permissions: contents: write # Allow one concurrent deployment concurrency: group: "pages" cancel-in-progress: true jobs: # Build job build-and-deploy: runs-on: ${{ matrix.os }} defaults: run: working-directory: docs strategy: matrix: os: [ubuntu-latest] node: [18] steps: - name: Checkout uses: actions/checkout@v3 - name: Identify package manager id: pkgman run: | cache=`[ -f "docs/pnpm-lock.yaml" ] && echo "pnpm" || ([ -f "docs/package-lock.json" ] && echo "npm" || ([ -f "docs/yarn.lock" ] && echo "yarn" || echo ""))` package_manager=`[ ! -z "$cache" ] && echo "$cache" || echo "pnpm"` echo "cache=$cache" >> $GITHUB_OUTPUT echo "package_manager=$package_manager" >> $GITHUB_OUTPUT - uses: pnpm/action-setup@v2.2.4 if: ${{ steps.pkgman.outputs.package_manager == 'pnpm' }} name: Install pnpm id: pnpm-install with: version: 7 - uses: actions/setup-node@v3 with: version: ${{ matrix.node }} cache: ${{ steps.pkgman.outputs.cache }} - name: Install dependencies run: ${{ steps.pkgman.outputs.package_manager }} install - name: Install @nuxthq/studio run: ${{ steps.pkgman.outputs.package_manager }} add -D @nuxthq/studio - name: Create .nuxtrc run: echo 'modules[]=@nuxthq/studio' > .nuxtrc - name: Generate run: ${{ steps.pkgman.outputs.package_manager }} nuxi generate env: NUXT_PUBLIC_STUDIO_API_URL: https://api.nuxt.studio NUXT_PUBLIC_STUDIO_TOKENS: 0d707fac0f35a9712d68ef375a3eeb09360219a02fe16a35d4941065d1610435 - name: Add .nojekyll file run: touch .output/public/.nojekyll # Deployment job - name: Deploy 🚀 uses: JamesIves/github-pages-deploy-action@v4 with: folder: docs/.output/public