diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..b390252 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,45 @@ +name: QA +on: [pull_request] +jobs: + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: pnpm/action-setup@v2.2.1 + with: + version: 6.19.1 + - uses: actions/setup-node@v3 + with: + node-version: "16" + cache: "pnpm" + - name: Install dependencies + run: pnpm install + - name: Check linters + run: pnpm lint + - name: Validate paths + run: | + pnpm paths + git diff --exit-code ./lib/\$path.ts + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: pnpm/action-setup@v2.2.1 + with: + version: 6.19.1 + - uses: actions/setup-node@v3 + with: + node-version: "16" + cache: "pnpm" + - uses: actions/cache@v2 + with: + path: | + ${{ github.workspace }}/.next/cache + key: ${{ runner.os }}-nextjs-${{ hashFiles('**/pnpm-lock.json') }}-${{ hashFiles('**.[jt]s', '**.[jt]sx') }} + # If source files changed but packages didn't, rebuild from a prior cache. + restore-keys: | + ${{ runner.os }}-nextjs-${{ hashFiles('**/pnpm-lock.json') }}- + - name: Install dependencies + run: pnpm install + - name: Build project + run: pnpm build