Files
tasknote/.github/workflows/main.yml
T
2024-09-20 10:29:12 -03:00

56 lines
1.5 KiB
YAML

name: Main
on:
push:
branches:
- main
workflow_dispatch:
jobs:
client-code-checks:
name: Client Code Checks
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: ${{ github.event.pull_request.head.ref }}
- name: Set up Node
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Clean and Install
run: cd client && npm ci
- name: Build
run: cd client && npm run build
- name: Lint
run: cd client && npm run lint
- name: Unit tests
run: cd client && npm run test:coverage
client-sonarcloud:
name: Client SonarCloud
runs-on: ubuntu-latest
needs:
- client-code-checks
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
- name: SonarCloud Scan
uses: SonarSource/sonarcloud-github-action@v3.0.0
with:
projectBaseDir: client
args: >
-Dsonar.organization=ricardo-campos-org
-Dsonar.projectKey=ricardo-campos-org_react-typescript-todolist
-Dsonar.javascript.lcov.reportPaths=coverage/lcov.info
-Dsonar.sources=src/
-Dsonar.tests=src/__test__/
-Dsonar.verbose=true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}