Skip to content

Merge pull request #73 from fga-eps-mds/develop #225

Merge pull request #73 from fga-eps-mds/develop

Merge pull request #73 from fga-eps-mds/develop #225

Workflow file for this run

name: CI
on:
push:
branches: [master, main, develop]
pull_request:
branches:
- master
- main
- develop
types: [opened, synchronize, reopened]
jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Use Node.js 16.x
uses: actions/setup-node@v2
with:
node-version: 16.x
# Cache node modules and next folder
- name: 📬 Caching
uses: actions/cache@v2
with:
path: |
${{ github.workspace }}/node_modules
key: ${{ runner.os }}-nextjs-${{ hashFiles('**/yarn.lock') }}-${{ hashFiles('**/*.{js,jsx,ts,tsx}') }}
restore-keys: |
${{ runner.os }}-nextjs-${{ hashFiles('**/yarn.lock') }}-
- name: 🧰 Install dependencies
run: yarn install
- name: 🧹 Run lint
run: yarn lint
type-check:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Use Node.js 16.x
uses: actions/setup-node@v2
with:
node-version: 16.x
# Cache node modules and next folder
- name: 📬 Caching
uses: actions/cache@v2
with:
path: |
${{ github.workspace }}/node_modules
key: ${{ runner.os }}-nextjs-${{ hashFiles('**/yarn.lock') }}-${{ hashFiles('**/*.{js,jsx,ts,tsx}') }}
restore-keys: |
${{ runner.os }}-nextjs-${{ hashFiles('**/yarn.lock') }}-
- name: 🧰 Install dependencies
run: yarn install
- name: 🔧 Check validity of types
run: yarn tsc --noEmit --pretty
test:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Use Node.js 16.x
uses: actions/setup-node@v2
with:
node-version: 16.x
# Cache node modules and next folder
- name: 📬 Caching
uses: actions/cache@v2
with:
path: |
${{ github.workspace }}/node_modules
key: ${{ runner.os }}-nextjs-${{ hashFiles('**/yarn.lock') }}-${{ hashFiles('**/*.{js,jsx,ts,tsx}') }}
restore-keys: |
${{ runner.os }}-nextjs-${{ hashFiles('**/yarn.lock') }}-
- name: 🧰 Install dependencies
run: yarn install
- name: 🧪 Run tests
run: yarn test
sonarcloud:
name: SonarCloud
runs-on: ubuntu-latest
continue-on-error: true
steps:
- name: Checkout code
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: 📬 Caching
uses: actions/cache@v2
with:
path: |
${{ github.workspace }}/node_modules
${{ github.workspace }}/.next/cache
key: ${{ runner.os }}-nextjs-${{ hashFiles('**/yarn.lock') }}-${{ hashFiles('**/*.{js,jsx,ts,tsx}') }}
restore-keys: |
${{ runner.os }}-nextjs-${{ hashFiles('**/yarn.lock') }}-
- name: 🧰 Install dependencies
run: yarn install
- name: 📜 Eslint report
run: npx eslint -f json -o reports/eslint-report.json src || true
- name: 🧪 Test and coverage
run: yarn test --coverage --passWithNoTests
- name: SonarCloud Scan
uses: SonarSource/sonarcloud-github-action@master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
build:
needs: [lint, type-check]
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Use Node.js 16.x
uses: actions/setup-node@v2
with:
node-version: 16.x
# Cache node modules and next folder
- name: 📬 Caching
uses: actions/cache@v2
with:
path: |
${{ github.workspace }}/node_modules
key: ${{ runner.os }}-nextjs-${{ hashFiles('**/yarn.lock') }}-${{ hashFiles('**/*.{js,jsx,ts,tsx}') }}
restore-keys: |
${{ runner.os }}-nextjs-${{ hashFiles('**/yarn.lock') }}-
- name: 🧰 Install dependencies
run: yarn install
- name: 📦 Build project
run: yarn build