82 lines
2.2 KiB
YAML
82 lines
2.2 KiB
YAML
|
|
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
|