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: 8 - name: Install Node.js uses: actions/setup-node@v4 with: node-version: 20 cache: 'pnpm' - name: Install pnpm packages run: pnpm install - name: Run ESLint run: pnpm run lint building: name: Build project runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - uses: pnpm/action-setup@v2 with: version: 8 - name: Install Node.js uses: actions/setup-node@v4 with: node-version: 20 cache: 'pnpm' - name: Install pnpm packages run: pnpm install - name: Build Project run: pnpm run build docker: name: Build Docker runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Setup Docker buildx uses: docker/setup-buildx-action@v3 - name: Build Docker image uses: docker/build-push-action@v5 with: push: false platforms: linux/amd64,linux/arm64,linux/arm context: .