Skip to content

always import react #2786

always import react

always import react #2786

Workflow file for this run

name: Node.js CI
on: [push, pull_request]
jobs:
lint:
runs-on: ubuntu-latest
timeout-minutes: 5
env:
CI: true
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Use volta versioning
uses: volta-cli/action@v4
- name: Get cache dir, Node Version and NPM Version
id: node-config
run: |
echo "::set-output name=nodev::$(node -v)"
echo "::set-output name=npmv::$(npm -v)"
echo "::set-output name=dir::$(npm config get cache)"
- name: Cache npm cache
uses: actions/cache@v3
with:
path: ${{ steps.node-config.outputs.dir }}
key: ${{ runner.os }}-node_${{ steps.node-config.outputs.nodev }}-npm_${{ steps.node-config.outputs.npmv }}-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node_${{ steps.node-config.outputs.nodev }}-npm_${{ steps.node-config.outputs.npmv }}
- name: Cache node_modules
uses: actions/cache@v3
with:
path: "**/node_modules"
key: ${{ runner.os }}-node_${{ steps.node-config.outputs.nodev }}-npm_${{ steps.node-config.outputs.npmv }}-${{ hashFiles('**/package-lock.json') }}
- name: Install
run: npm install
- name: Check Linting
run: npm run lint
test:
runs-on: ubuntu-latest
timeout-minutes: 5
env:
CI: true
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Use Volta Node/NPM
uses: volta-cli/action@v4
- name: Get cache dir, Node Version and NPM Version
id: node-config
run: |
echo "::set-output name=nodev::$(node -v)"
echo "::set-output name=npmv::$(npm -v)"
echo "::set-output name=dir::$(npm config get cache)"
- name: Cache npm cache
uses: actions/cache@v3
with:
path: ${{ steps.node-config.outputs.dir }}
key: ${{ runner.os }}-node_${{ steps.node-config.outputs.nodev }}-npm_${{ steps.node-config.outputs.npmv }}-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node_${{ steps.node-config.outputs.nodev }}-npm_${{ steps.node-config.outputs.npmv }}
- name: Cache node_modules
uses: actions/cache@v3
with:
path: "**/node_modules"
key: ${{ runner.os }}-node_${{ steps.node-config.outputs.nodev }}-npm_${{ steps.node-config.outputs.npmv }}-${{ hashFiles('**/package-lock.json') }}
- name: Install
run: npm install
- name: Run tests
run: npm run test-ci
build:
runs-on: ubuntu-latest
timeout-minutes: 5
env:
CI: true
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Use volta versioning
uses: volta-cli/action@v4
- name: Get cache dir, Node Version and NPM Version
id: node-config
run: |
echo "::set-output name=nodev::$(node -v)"
echo "::set-output name=npmv::$(npm -v)"
echo "::set-output name=dir::$(npm config get cache)"
- name: Cache npm cache
uses: actions/cache@v3
with:
path: ${{ steps.node-config.outputs.dir }}
key: ${{ runner.os }}-node_${{ steps.node-config.outputs.nodev }}-npm_${{ steps.node-config.outputs.npmv }}-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node_${{ steps.node-config.outputs.nodev }}-npm_${{ steps.node-config.outputs.npmv }}
- name: Cache node_modules
uses: actions/cache@v3
with:
path: "**/node_modules"
key: ${{ runner.os }}-node_${{ steps.node-config.outputs.nodev }}-npm_${{ steps.node-config.outputs.npmv }}-${{ hashFiles('**/package-lock.json') }}
- name: Install
run: npm install
- name: Cache next.js build cache
uses: actions/cache@v3
with:
path: ${{ github.workspace }}/.next/cache
key: ${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json') }}-${{ hashFiles('src/**/*') }}
restore-keys: |
${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json') }}
- name: Build
run: npm run build
- name: Check for uncommitted changes
id: check-changes
uses: mskri/check-uncommitted-changes-action@v1.0.1
- name: There are uncommited changes
if: steps.check-changes.outputs.changes != ''
run: exit 1