name: Frontend Build Check on: pull_request: paths: - 'frontend/src/**' - 'frontend/*.json' - 'frontend/*.js' - 'frontend/*.ts' jobs: setup-and-build: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 - name: Setup Node uses: actions/setup-node@v3 with: node-version: '16' cache: 'yarn' cache-dependency-path: frontend/yarn.lock - name: Restore cache uses: actions/cache@v3 with: path: frontend/dist key: ${{ runner.os }}-btrix-frontend-build-${{ hashFiles('frontend/dist') }} restore-keys: | ${{ runner.os }}-btrix-frontend-build- - name: Install dependencies working-directory: frontend env: HUSKY: 0 run: yarn install --frozen-lockfile - name: Lint working-directory: frontend run: yarn lint:check - name: Format working-directory: frontend run: yarn format:check - name: Unit tests working-directory: frontend run: yarn test - name: Localization build working-directory: frontend run: yarn localize:prepare - name: Remove non-production dependencies working-directory: frontend run: yarn install --frozen-lockfile --ignore-optional --production - name: Webpack build working-directory: frontend run: yarn build