diff --git a/.github/workflows/lint-typecheck.yml b/.github/workflows/lint-typecheck.yml new file mode 100644 index 0000000000..3998f19668 --- /dev/null +++ b/.github/workflows/lint-typecheck.yml @@ -0,0 +1,52 @@ +name: 🧹 Lint & Typecheck + +on: + pull_request: + workflow_dispatch: + +concurrency: + group: ${{ github.workflow }}-${{ github.event.number || github.sha }} + cancel-in-progress: true + +jobs: + lint: + name: Lint + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Add dev branch + run: git branch dev origin/dev + + - name: Setup pnpm + uses: pnpm/action-setup@v4 + + - name: Setup node + uses: actions/setup-node@v4 + with: + node-version: 20 + + - name: Get pnpm store directory + id: pnpm-cache + run: | + echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_OUTPUT + + - uses: actions/cache@v4 + name: Setup pnpm cache + with: + path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} + key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} + restore-keys: | + ${{ runner.os }}-pnpm-store- + + - name: Install dependencies + run: pnpm i --frozen-lockfile + + - name: Lint + run: pnpm lint + + - name: Type Check + run: pnpm typecheck diff --git a/.github/workflows/test-unit.yml b/.github/workflows/test-unit.yml index d421a5bce1..76545c0b22 100644 --- a/.github/workflows/test-unit.yml +++ b/.github/workflows/test-unit.yml @@ -9,48 +9,6 @@ concurrency: cancel-in-progress: true jobs: - lint: - name: Lint - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Add dev branch - run: git branch dev origin/dev - - - name: Setup pnpm - uses: pnpm/action-setup@v4 - - - name: Setup node - uses: actions/setup-node@v4 - with: - node-version: 20 - - - name: Get pnpm store directory - id: pnpm-cache - run: | - echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_OUTPUT - - - uses: actions/cache@v4 - name: Setup pnpm cache - with: - path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} - key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} - restore-keys: | - ${{ runner.os }}-pnpm-store- - - - name: Install dependencies - run: pnpm i --frozen-lockfile - - - name: Lint - run: pnpm lint - - - name: Type Check - run: pnpm typecheck - build: name: Unit Test (${{ matrix.node-name }}) runs-on: ubuntu-latest