Merge pull request #96 from deinsoftware/dev #407
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
# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created | |
# For more information see: https://help.github.com/actions/language-and-framework-guides/publishing-nodejs-packages | |
name: build | |
on: | |
push: | |
branches: [main] | |
pull_request: | |
branches: [main, dev] | |
env: | |
NODE_VERSION: 18 | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
- run: npm ci --ignore-scripts | |
- run: npm run build | |
- name: link js project | |
run: npm link | |
working-directory: bin | |
- run: npm run test:c | |
- name: Display coverage files | |
run: ls -R | |
working-directory: coverage | |
- uses: actions/upload-artifact@master | |
with: | |
name: coverage-artifact | |
path: coverage/lcov.info | |
sonar: | |
needs: build | |
if: ${{ success() }} | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis | |
- uses: actions/download-artifact@master | |
with: | |
name: coverage-artifact | |
path: coverage | |
- name: Display coverage files | |
run: ls -R | |
working-directory: coverage | |
- name: Get package info | |
id: package | |
uses: codex-team/action-nodejs-package-info@v1 | |
- name: Analyze with SonarCloud | |
uses: sonarsource/sonarcloud-github-action@master | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} | |
with: | |
args: > | |
-Dsonar.projectKey=dein:swpm | |
-Dsonar.organization=dein | |
-Dsonar.projectName=swpm | |
-Dsonar.projectVersion=${{ steps.package.outputs.version }} | |
-Dsonar.javascript.lcov.reportPaths=coverage/lcov.info | |
-Dsonar.coverage.exclusions=**/*.test.ts | |
-Dsonar.cpd.exclusions=**/*.test.ts |