name: Deploy Website on: workflow_dispatch: {} permissions: contents: read jobs: test: uses: dicebear/dicebear/.github/workflows/test.yml@10.x deploy: needs: test environment: ${{ github.ref_name == '9.x' && 'website-v9' || 'website-latest' }} runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v6 - name: Setup Node uses: actions/setup-node@v6 with: node-version: 24 cache: npm - name: Install dependencies run: npm ci - name: Download legal pages env: PAT: ${{ secrets.PAT }} run: ./apps/docs/scripts/download-legal-pages.sh - name: Build with VitePress env: VITE_PRIVACY_POLICY_URL: ${{ vars.VITE_PRIVACY_POLICY_URL }} VITE_COOKIE_POLICY_URL: ${{ vars.VITE_COOKIE_POLICY_URL }} VITE_LEGAL_NOTICE_URL: ${{ vars.VITE_LEGAL_NOTICE_URL }} run: npx turbo run build --filter='@dicebear/docs...' - name: Deploy to Bunny.net uses: ayeressian/bunnycdn-storage-deploy@251c77f4b9e7e683ad00086de2bef5770c3386b2 # v2.4.5 with: source: 'apps/docs/.vitepress/dist' destination: '' storageZoneName: '${{ secrets.WEBSITE_STORAGE_NAME }}' storagePassword: '${{ secrets.WEBSITE_STORAGE_PASSWORD }}' accessKey: '${{ secrets.CDN_ACCESS_KEY }}' pullZoneId: '${{ secrets.WEBSITE_PULL_ZONE_ID }}' upload: 'true' remove: 'true' purgePullZone: 'true'