Skip to content

feat: add ignoredPropNames option to require-usememo rule #76

feat: add ignoredPropNames option to require-usememo rule

feat: add ignoredPropNames option to require-usememo rule #76

Workflow file for this run

name: Pull-request
on: [pull_request]
jobs:
install:
name: Installing packages
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 1
- name: Use Node.js 18.x
uses: actions/setup-node@v3
with:
node-version: 18.x
cache: 'yarn'
cache-dependency-path: '**/yarn.lock'
- name: Cache node modules
uses: actions/cache@v3
id: cache
with:
path: node_modules
key: ${{ runner.os }}-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-
- name: Install Dependencies
if: steps.cache.outputs.cache-hit != 'true' # It will run install dependencies just if hash of yarn.lock changed
run: yarn install --frozen-lockfile --prefer-offline
env:
NODE_AUTH_TOKEN: ${{ secrets.GIT_PACKAGES_TOKEN }}
test:
name: Run Unit Tests
runs-on: ubuntu-latest
needs: install
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 1
- name: Use Node.js 18.x
uses: actions/setup-node@v3
with:
node-version: 18.x
cache: 'yarn'
cache-dependency-path: '**/yarn.lock'
- name: Restore node_modules
uses: actions/cache@v3
id: restore-build
with:
path: node_modules
key: ${{ runner.os }}-${{ hashFiles('**/yarn.lock') }}
- name: Restore jest cache
uses: actions/cache@v3
with:
path: .jest-cache
key: ${{ runner.os }}-${{ hashFiles('**/.jest-cache/**') }}
- name: Run tests
run: yarn test
build:
name: Test build
runs-on: ubuntu-latest
needs: install
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 1
- name: Use Node.js 18.x
uses: actions/setup-node@v3
with:
node-version: 18.x
cache: 'yarn'
cache-dependency-path: '**/yarn.lock'
- name: Restore node_modules
uses: actions/cache@v3
id: restore-build
with:
path: node_modules
key: ${{ runner.os }}-${{ hashFiles('**/yarn.lock') }}
- name: Run build
run: yarn build
deadcode:
name: Find dead code
runs-on: ubuntu-latest
needs: install
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 1
- name: Use Node.js 18.x
uses: actions/setup-node@v3
with:
node-version: 18.x
cache: 'yarn'
cache-dependency-path: '**/yarn.lock'
- name: Restore node_modules
uses: actions/cache@v3
id: restore-build
with:
path: node_modules
key: ${{ runner.os }}-${{ hashFiles('**/yarn.lock') }}
- name: Find dead code
run: yarn deadCode
version-check:
name: Check package version
runs-on: ubuntu-latest
steps:
- name: Checkout PR
uses: actions/checkout@v3
with:
fetch-depth: 1
- name: Checkout main
uses: actions/checkout@v3
with:
ref: main
path: main
fetch-depth: 1
- name: Compare versions
id: version_check
run: |
PR_VERSION=$(node -p "require('./package.json').version")
MAIN_VERSION=$(node -p "require('./main/package.json').version")
if [ "$PR_VERSION" = "$MAIN_VERSION" ]; then
echo "ERROR_MESSAGE=Error: Package version has not been updated" >> $GITHUB_OUTPUT
exit 1
elif ! npx semver -r ">$MAIN_VERSION" "$PR_VERSION" > /dev/null; then
echo "ERROR_MESSAGE=Error: New version ($PR_VERSION) is not greater than current version ($MAIN_VERSION)" >> $GITHUB_OUTPUT
exit 1
else
echo "Package version has been updated correctly"
fi
- name: Comment PR
if: failure()
uses: actions/github-script@v6
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: '${{ steps.version_check.outputs.ERROR_MESSAGE }}'
})