Skip to content

Merge pull request #36 from basics/beta #10

Merge pull request #36 from basics/beta

Merge pull request #36 from basics/beta #10

Workflow file for this run

name: Main
on:
push:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
install:
if: "!contains(github.event.head_commit.message, 'skip ci')"
name: Install
strategy:
matrix:
os: [ubuntu-latest]
node: [20]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
- name: Checkout Repo
uses: actions/checkout@v4
- name: cache node_modules
uses: actions/cache@v4
id: cache
with:
path: |
node_modules
key: ${{ matrix.os }}-node-v${{ matrix.node }}-deps-${{ hashFiles(format('{0}{1}', github.workspace, '/package-lock.json')) }}
- name: Install Dependencies
if: steps.cache.outputs.cache-hit != 'true'
run: npm ci
- name: Lint
run: npm run lint
- name: Vitest - Test & Coverage
run: npm run coverage
- name: Archive vitest code coverage results
uses: actions/upload-artifact@v4
with:
name: vitest-code-coverage-report
path: ./coverage/
semantic-version:
name: Semantic Release
needs: install
strategy:
matrix:
os: [ubuntu-latest]
node: [20]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
- name: Checkout Repo
uses: actions/checkout@v4
- name: cache node_modules
uses: actions/cache@v4
id: cache
with:
path: node_modules
key: ${{ matrix.os }}-node-v${{ matrix.node }}-deps-${{ hashFiles(format('{0}{1}', github.workspace, '/package-lock.json')) }}
- name: Versioning
env:
GH_TOKEN: ${{ secrets.GH_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
run: |
npm run release
sonarcloud:
name: SonarCloud
needs: semantic-version
strategy:
matrix:
os: [ubuntu-latest]
node: [20]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
- name: Download vitest code coverage results
uses: actions/download-artifact@v4
with:
name: vitest-code-coverage-report
path: ./coverage/
- name: SonarCloud Scan
uses: SonarSource/sonarcloud-github-action@master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}