name: Deploy Docs & Extensions # (/documentation and /extensions-site) on: push: branches: - main pull_request: paths: - 'documentation/**' - 'extensions-site/**' jobs: deploy: runs-on: ubuntu-latest permissions: contents: write steps: - name: Checkout the branch uses: actions/checkout@v3 - name: Setup Node.js uses: actions/setup-node@v3 with: node-version: 20 - name: Cache Node.js modules (documentation) uses: actions/cache@v3 with: path: ./documentation/node_modules key: ${{ runner.os }}-documentation-${{ hashFiles('./documentation/package-lock.json') }} restore-keys: | ${{ runner.os }}-documentation- - name: Install dependencies and build docs working-directory: ./documentation env: INKEEP_API_KEY: ${{ secrets.INKEEP_API_KEY }} INKEEP_INTEGRATION_ID: ${{ secrets.INKEEP_INTEGRATION_ID }} INKEEP_ORG_ID: ${{ secrets.INKEEP_ORG_ID }} run: | npm install npm run build - name: Cache Node.js modules (extensions-site) uses: actions/cache@v3 with: path: ./extensions-site/node_modules key: ${{ runner.os }}-extensions-${{ hashFiles('./extensions-site/package-lock.json') }} restore-keys: | ${{ runner.os }}-extensions- - name: Install dependencies and build extensions-site working-directory: ./extensions-site env: VITE_BASENAME: "/goose/v1/extensions/" # Set the base URL here for the extensions site run: | npm install npm run build - name: Combine builds into one directory run: | mkdir combined-build cp -r documentation/build/* combined-build/ mkdir -p combined-build/v1/extensions cp -r extensions-site/build/client/* combined-build/v1/extensions/ - name: Deploy to /gh-pages if: github.event_name == 'push' && github.ref == 'refs/heads/main' uses: peaceiris/actions-gh-pages@v3 with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: combined-build