From 9d3c1a45ec5b4d3330dac234ccf061e39c44e112 Mon Sep 17 00:00:00 2001 From: this-is-tobi Date: Fri, 5 Jul 2024 23:14:06 +0200 Subject: [PATCH] ci: :construction_worker: add app build tests in ci --- .github/workflows/test.yml | 67 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 .github/workflows/test.yml diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..df2524b --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,67 @@ +name: Build tests + +on: + pull_request: + types: + - opened + - reopened + - synchronize + - ready_for_review + branches: + - "**" + workflow_dispatch: + inputs: + NODE_VERSION: + description: Nodejs version used to run build tests + required: true + type: string + default: "20" + PNPM_VERSION: + description: Pnpm version used to run build tests + required: true + type: string + default: "9" + +env: + NODE_VERSION: "20" + PNPM_VERSION: "9" + +jobs: + lint: + name: Test app build + runs-on: ubuntu-latest + steps: + - name: Checks-out repository + uses: actions/checkout@v4 + + - name: Install pnpm + uses: pnpm/action-setup@v4 + id: pnpm-install + with: + version: "${{ inputs.PNPM_VERSION || env.PNPM_VERSION }}" + run_install: false + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: "${{ inputs.NODE_VERSION || env.NODE_VERSION }}" + + - name: Get pnpm store directory + id: pnpm-store + run: | + echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT + + - name: Cache node files + uses: actions/cache@v4 + with: + path: | + ${{ steps.pnpm-store.outputs.STORE_PATH }} + key: node-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('**/pnpm-lock.yaml') }} + restore-keys: | + node-${{ runner.os }}-${{ runner.arch }}- + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + - name: Test application build + run: pnpm run build