From d5e4bc0e58a9cc4ce96514890c5584b1e8890408 Mon Sep 17 00:00:00 2001 From: Daniel Van Der Ploeg Date: Thu, 24 Oct 2024 16:02:21 +1030 Subject: [PATCH] chore: add test workflow --- .github/workflows/test.yml | 65 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 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 00000000..f7c6f7ed --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,65 @@ +name: Test on Pull Request + +on: + pull_request: + branches: + - '**' # Trigger on all branches + workflow_dispatch: # Allows manual trigger from the GitHub Actions tab + +jobs: + test: + name: ⚙️ Run Tests + runs-on: ubuntu-latest + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 + ref: ${{ github.event.pull_request.head.ref }} + + - name: Fetch target + run: git fetch origin ${{ github.event.pull_request.base.ref }} + + - uses: actions/setup-node@v3 + with: + node-version-file: '.nvmrc' + cache: 'yarn' + + - name: Install + run: yarn install + + - name: Run Tests + run: | + FORCE_COLOR=true + DESTINATION_BRANCH=${{ github.event.pull_request.base.ref }} # Set branch + yarn nx affected:test --base=$DESTINATION_BRANCH --ci --code-coverage --parallel --max-parallel=3 + + code-quality: + name: 🕵️‍♀️ Code Quality + runs-on: ubuntu-latest + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 + ref: ${{github.event.pull_request.head.ref}} + + - name: Fetch target branch + run: git fetch origin ${{ github.event.pull_request.base.ref }} --depth 1 + + - name: Setup dependency cache + uses: actions/cache@v4 + with: + path: /usr/local/share/.cache/yarn/v6 + key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} + + - name: Install + run: yarn install + + - name: Code Quality Check + run: | + FORCE_COLOR=true + DESTINATION_BRANCH=${{ github.event.pull_request.base.ref }} # Set branch + yarn nx affected:lint --base=$DESTINATION_BRANCH --parallel --max-parallel=3 + yarn nx format:check --base=$DESTINATION_BRANCH --parallel --max-parallel=3 + yarn nx affected -t check-types --base=$DESTINATION_BRANCH --parallel --max-parallel=3