feat: implement comprehensive RBAC system with Cerbos integration #3
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: Development Deploy | |
| # Deploys to GitHub Pages for development environment testing | |
| # This runs on the development fork (jonphipps/standards-dev) | |
| on: | |
| push: | |
| branches: [dev] | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| pages: write | |
| id-token: write | |
| concurrency: | |
| group: "pages" | |
| cancel-in-progress: false | |
| env: | |
| HUSKY: 0 | |
| # Development environment configuration | |
| DOCS_ENV: development | |
| SITE_TITLE: IFLA Standards Portal (Development) | |
| SITE_TAGLINE: International Federation of Library Associations and Institutions | |
| jobs: | |
| build: | |
| name: Build for Development Environment | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '22' | |
| cache: 'pnpm' | |
| - name: Setup Pages | |
| uses: actions/configure-pages@v5 | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Build theme package | |
| run: npx nx run @ifla/theme:build | |
| - name: Build all sites for development | |
| run: | | |
| echo "🏗️ Building all sites for development environment..." | |
| npx nx run-many --target=build --all --parallel=3 | |
| - name: Create unified build directory | |
| run: | | |
| echo "📦 Creating unified build directory..." | |
| mkdir -p _site | |
| # Copy portal to root | |
| cp -r portal/build/* _site/ | |
| # Copy each standard site to its subdirectory | |
| for site in ISBDM LRM FRBR isbd muldicat unimarc newtest; do | |
| if [ -d "standards/$site/build" ]; then | |
| echo "Copying $site..." | |
| mkdir -p "_site/$site" | |
| cp -r "standards/$site/build/"* "_site/$site/" | |
| fi | |
| done | |
| echo "✅ Unified build created" | |
| - name: Upload artifact | |
| uses: actions/upload-pages-artifact@v3 | |
| with: | |
| path: ./_site | |
| deploy: | |
| name: Deploy to GitHub Pages | |
| environment: | |
| name: github-pages | |
| url: ${{ steps.deployment.outputs.page_url }} | |
| runs-on: ubuntu-latest | |
| needs: build | |
| steps: | |
| - name: Deploy to GitHub Pages | |
| id: deployment | |
| uses: actions/deploy-pages@v4 |