name: CI on: push: branches: [main, master, develop] pull_request: branches: [main, master, develop] concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: lint: name: Lint runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '20' - name: Enable Corepack run: corepack enable - name: Install dependencies run: yarn install --immutable - name: Run linter run: yarn lint build: name: Build runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '20' - name: Enable Corepack run: corepack enable - name: Install dependencies run: yarn install --immutable - name: Build run: yarn build test: name: Test runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '20' - name: Enable Corepack run: corepack enable - name: Install dependencies run: yarn install --immutable - name: Run tests run: yarn test build-web: name: Build Web runs-on: ubuntu-latest needs: [lint, build] steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '20' - name: Enable Corepack run: corepack enable - name: Install dependencies run: yarn install --immutable - name: Build web application run: yarn build:www - name: Upload build artifacts uses: actions/upload-artifact@v4 with: name: web-build path: packages/apps/build retention-days: 7