name: Node.js CI - Dockge on: push: branches: [master] paths-ignore: - '*.md' pull_request: branches: [master] paths-ignore: - '*.md' jobs: ci: strategy: matrix: os: [ubuntu-latest, windows-latest, macos-latest, ARM64] node: [18.17.1] # Can be changed runs-on: ${{ matrix.os }} steps: - name: Checkout Code uses: actions/checkout@v4 - run: git config --global core.autocrlf false # Mainly for Windows - uses: actions/checkout@v3 - name: Setup Node.js uses: actions/setup-node@v3 with: node-version: ${{matrix.node}} - uses: pnpm/action-setup@v2 name: Install pnpm with: version: 8 run_install: false - name: Get pnpm store directory shell: bash run: | echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV - uses: actions/cache@v3 name: Setup pnpm cache with: path: ${{ env.STORE_PATH }} key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | ${{ runner.os }}-pnpm-store- - name: Install dependencies run: pnpm install - name: Lint run: pnpm run lint - name: Check Typescript run: pnpm run check-ts - name: Build run: pnpm run build:frontend # more things can be add later like tests etc..