chore(deps): update yarn to v3.8.6 #301
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: ci | |
on: | |
push: | |
branches: [master, alpha, beta, next] | |
pull_request: | |
types: [opened, synchronize, reopened] | |
jobs: | |
qa-lint: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Use Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version-file: '.nvmrc' | |
cache: 'yarn' | |
- name: Install dependencies | |
run: yarn install | |
- name: Lint markdown | |
run: yarn lint:markdown | |
- name: Check package.json quality | |
run: yarn check:packagejson | |
- name: Words spell checking | |
run: yarn spell:check:ci | |
- name: Format codebase | |
run: yarn format:ci | |
- name: Typecheck codebase | |
run: yarn ts:check | |
- name: Lint codebase | |
run: yarn lint:ci | |
- name: Upload reports | |
uses: actions/upload-artifact@v3 | |
with: | |
name: eslint | |
path: reports/eslint | |
if-no-files-found: error | |
qa-unit-testing: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Use Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version-file: '.nvmrc' | |
cache: 'yarn' | |
- name: Install dependencies | |
run: yarn install | |
- name: Run unit and intergration specs | |
run: yarn test:unit:ci | |
- name: Upload reports | |
uses: actions/upload-artifact@v3 | |
with: | |
name: jest | |
path: reports/jest | |
if-no-files-found: error | |
qa-mutation-testing: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Use Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version-file: '.nvmrc' | |
cache: 'yarn' | |
- name: Install dependencies | |
run: yarn install | |
- name: Run mutation specs | |
run: yarn test:mutation:ci | |
env: | |
STRYKER_DASHBOARD_API_KEY: ${{ secrets.STRYKER_DASHBOARD_API_KEY }} | |
- name: Upload reports | |
uses: actions/upload-artifact@v3 | |
with: | |
name: stryker | |
path: reports/stryker | |
if-no-files-found: error | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Use Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version-file: '.nvmrc' | |
cache: 'yarn' | |
- name: Install dependencies | |
run: yarn install | |
- name: Build package | |
run: yarn build | |
- name: Upload lib | |
uses: actions/upload-artifact@v3 | |
with: | |
name: lib | |
path: lib | |
if-no-files-found: error | |
qa-sonar-cloud: | |
needs: [qa-lint, qa-unit-testing] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Use Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version-file: '.nvmrc' | |
cache: 'yarn' | |
- name: Install dependencies | |
run: yarn install | |
- name: Download Eslint artifact | |
uses: actions/download-artifact@v3 | |
with: | |
name: eslint | |
path: reports/eslint | |
- name: Download Jest artifact | |
uses: actions/download-artifact@v3 | |
with: | |
name: jest | |
path: reports/jest | |
- name: SonarCloud Scan | |
uses: SonarSource/sonarcloud-github-action@master | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} | |
publish: | |
needs: [build, qa-lint, qa-unit-testing, qa-mutation-testing] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
persist-credentials: false | |
- name: Use Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version-file: '.nvmrc' | |
cache: 'yarn' | |
- name: Install dependencies | |
run: yarn install | |
- name: Download lib | |
uses: actions/download-artifact@v3 | |
with: | |
name: lib | |
path: lib | |
- name: Semantic release | |
run: yarn semantic-release | |
env: | |
GH_TOKEN: ${{ secrets.GH_TOKEN }} | |
NPM_TOKEN: ${{ secrets.NPM_TOKEN }} |