From 8ce9b43195260d893ebe8978fe83d0522cae6d1c Mon Sep 17 00:00:00 2001 From: Naomi Carrigan Date: Wed, 26 Feb 2025 13:03:33 -0800 Subject: [PATCH] feat(tools): set up sonar (#1) ### Explanation _No response_ ### Issue _No response_ ### Attestations - [ ] I have read and agree to the [Code of Conduct](https://docs.nhcarrigan.com/community/coc/) - [ ] I have read and agree to the [Community Guidelines](https://docs.nhcarrigan.com/community/guide/). - [ ] My contribution complies with the [Contributor Covenant](https://docs.nhcarrigan.com/dev/covenant/). ### Dependencies - [ ] I have pinned the dependencies to a specific patch version. ### Style - [ ] I have run the linter and resolved any errors. - [ ] My pull request uses an appropriate title, matching the conventional commit standards. - [ ] My scope of feat/fix/chore/etc. correctly matches the nature of changes in my pull request. ### Tests - [ ] My contribution adds new code, and I have added tests to cover it. - [ ] My contribution modifies existing code, and I have updated the tests to reflect these changes. - [ ] All new and existing tests pass locally with my changes. - [ ] Code coverage remains at or above the configured threshold. ### Documentation _No response_ ### Versioning _No response_ Reviewed-on: https://git.nhcarrigan.com/nhcarrigan/typescript-config/pulls/1 Co-authored-by: Naomi Carrigan Co-committed-by: Naomi Carrigan --- .gitea/workflows/ci.yml | 32 ++++++++++++++++++++++++++++++++ .gitea/workflows/sonar-pr.yml | 29 +++++++++++++++++++++++++++++ .vscode/settings.json | 6 ++++++ 3 files changed, 67 insertions(+) create mode 100644 .gitea/workflows/ci.yml create mode 100644 .gitea/workflows/sonar-pr.yml create mode 100644 .vscode/settings.json diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml new file mode 100644 index 0000000..66204d9 --- /dev/null +++ b/.gitea/workflows/ci.yml @@ -0,0 +1,32 @@ +name: Node.js CI +on: + push: + branches: + - main + pull_request: + branches: + - main + +jobs: + lint: + name: Lint and Test + + steps: + - name: Checkout Source Files + uses: actions/checkout@v4 + + - name: Use Node.js v22 + uses: actions/setup-node@v4 + with: + node-version: 22 + + - name: Setup pnpm + uses: pnpm/action-setup@v2 + with: + version: 9 + + - name: Install Dependencies + run: pnpm install + + - name: Run Tests + run: pnpm run test diff --git a/.gitea/workflows/sonar-pr.yml b/.gitea/workflows/sonar-pr.yml new file mode 100644 index 0000000..31fd31c --- /dev/null +++ b/.gitea/workflows/sonar-pr.yml @@ -0,0 +1,29 @@ +name: Code Analysis +on: + push: + branches: + - main + pull_request: + branches: + - main + +jobs: + sonar: + name: SonarQube + + steps: + - name: Checkout Source Files + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Sonar + uses: SonarSource/sonarqube-scan-action@v4 + timeout-minutes: 10 + env: + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + SONAR_HOST_URL: "https://quality.nhcarrigan.com" + with: + args: > + -Dsonar.sources=. + -Dsonar.projectKey=typescript-config diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..c47903d --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,6 @@ +{ + "sonarlint.connectedMode.project": { + "connectionId": "Naomi", + "projectKey": "typescript-config" + } +} \ No newline at end of file