name: Linting and Testing on: push: branches: - master - dev pull_request: jobs: linting: name: Run Linters runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - uses: pnpm/action-setup@v2 with: version: latest - name: Install Node.js uses: actions/setup-node@v4 with: node-version: 20 cache: 'pnpm' - name: Install packages run: pnpm install --frozen-lockfile - name: Prepare for linting run: pnpm prepare - name: Run ESLint run: pnpm lint building: name: Build project runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - uses: pnpm/action-setup@v2 with: version: latest - name: Install Node.js uses: actions/setup-node@v4 with: node-version: 20 cache: 'pnpm' - name: Install pnpm packages run: pnpm install --frozen-lockfile - name: Build Project run: pnpm build docker: name: Build docker runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Build uses: docker/build-push-action@v5