Unify gem and docs into a monorepo #623
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: CI | |
| on: | |
| pull_request: | |
| push: | |
| branches: | |
| - main | |
| jobs: | |
| gem: | |
| name: Gem (Ruby ${{ matrix.ruby }}) | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: gem | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| ruby: ["3.3", "3.4"] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Ruby | |
| uses: ruby/setup-ruby@v1 | |
| with: | |
| ruby-version: ${{ matrix.ruby }} | |
| bundler-cache: true | |
| rubygems: latest | |
| working-directory: gem | |
| - name: Run tests | |
| run: bundle exec rake test | |
| - name: Run linter | |
| run: bundle exec rake standard | |
| docs: | |
| name: Docs (Rails) | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: docs | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Set up Ruby | |
| uses: ruby/setup-ruby@v1 | |
| with: | |
| bundler-cache: true | |
| working-directory: docs | |
| - name: Install pnpm | |
| uses: pnpm/action-setup@v5 | |
| with: | |
| version: 10.8.0 | |
| run_install: false | |
| - name: Setup Node | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version-file: docs/.node-version | |
| cache: pnpm | |
| cache-dependency-path: docs/pnpm-lock.yaml | |
| - name: Install dependencies | |
| run: pnpm install | |
| - name: Lint | |
| run: bundle exec standardrb | |
| - name: Run tests | |
| run: bin/rails db:test:prepare test | |
| docker-build: | |
| name: Docker build (Devcontainer) | |
| if: github.ref == 'refs/heads/main' | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| packages: write | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Login to GitHub Container Registry | |
| uses: docker/login-action@v4 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Build and push devcontainer image | |
| uses: devcontainers/ci@v0.3 | |
| with: | |
| imageName: ghcr.io/ruby-ui/web-devcontainer | |
| cacheFrom: ghcr.io/ruby-ui/web-devcontainer | |
| subFolder: docs | |
| push: always |