Skip to content

[MOO-1562] Add widget, NT branch and SP version selection when triggering #651

[MOO-1562] Add widget, NT branch and SP version selection when triggering

[MOO-1562] Add widget, NT branch and SP version selection when triggering #651

Workflow file for this run

name: Run unit tests
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test:
name: "Unit tests"
runs-on: ubuntu-latest
steps:
- name: "Checking changed files"
id: files
uses: softprops/diffset@d5947696689a571f7a984a52505e2649eead5c22 # v1
if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository
with:
base: main
global_files: |
!{packages/**/*,configs/e2e/*.json,scripts/**/*,data/**/*}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: "Checking-out code"
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
with:
fetch-depth: 0
- name: "Fetching main to compare"
if: github.event_name == 'pull_request' && steps.files.outputs.global_files == ''
run: git fetch --no-tags --prune --depth=1 origin +refs/heads/${{ github.base_ref }}:refs/remotes/origin/${{ github.base_ref }}
- name: "Defining environment variables"
id: variables
run: echo "arg=$(if [ "${{ steps.files.outputs.global_files }}" = "" ] && ${{ github.event_name == 'pull_request' }}; then echo '--since'; else echo '--all'; fi)" >> ${{ runner.os == 'Windows' && '$env:GITHUB_OUTPUT' || '$GITHUB_OUTPUT' }}
- name: "Defining node version"
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3
with:
node-version-file: ".nvmrc"
cache: "yarn"
- name: "Get yarn cache directory path"
id: yarn-cache-dir-path
run: echo "dir=$(yarn config get cacheFolder)" >> ${{ runner.os == 'Windows' && '$env:GITHUB_ENV' || '$GITHUB_ENV' }}
- name: "Defining cache"
uses: actions/cache@937d24475381cd9c75ae6db12cb4e79714b926ed # v2
env:
cache-name: cache-node-modules
with:
path: ${{ env.dir }}
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/yarn.lock') }}
- name: "Installing dependencies"
run: yarn install
- name: "Linting code"
run: yarn workspaces foreach ${{ steps.variables.outputs.arg }} --parallel run lint
- name: "Running unit tests"
run: yarn workspaces foreach ${{ steps.variables.outputs.arg }} --parallel run test