From b8981d274c8a3297bc0fa0067271bcdda1b0ee54 Mon Sep 17 00:00:00 2001 From: Sree <72890349+sree-cfa@users.noreply.github.com> Date: Wed, 28 Feb 2024 12:48:14 -0800 Subject: [PATCH] Adding Sentry config (#78) --- .github/workflows/codeql.yaml | 2 +- .github/workflows/deploy-to-staging.yaml | 14 ++++++++++++++ build.gradle | 22 ++++++++++++++++++++++ src/main/resources/application.yaml | 3 +++ 4 files changed, 40 insertions(+), 1 deletion(-) diff --git a/.github/workflows/codeql.yaml b/.github/workflows/codeql.yaml index 3c70dfe53..9ab8def1f 100644 --- a/.github/workflows/codeql.yaml +++ b/.github/workflows/codeql.yaml @@ -60,7 +60,7 @@ jobs: # modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance. - name: Run and Build Application - run: ./gradlew build + run: ./gradlew build -x sentryBundleSourcesJava - name: Perform CodeQL Analysis uses: github/codeql-action/analyze@v3 with: diff --git a/.github/workflows/deploy-to-staging.yaml b/.github/workflows/deploy-to-staging.yaml index bff59c8e5..95a354af3 100644 --- a/.github/workflows/deploy-to-staging.yaml +++ b/.github/workflows/deploy-to-staging.yaml @@ -20,6 +20,9 @@ jobs: - uses: webfactory/ssh-agent@v0.8.0 with: ssh-private-key: ${{ secrets.APTIBLE_SSH_PRIVATE_KEY }} + - name: Generate Sentry release name from sha + id: generate-release + run: echo "::set-output name=RELEASE::$(git rev-parse HEAD)" - name: Deploy Using Aptible CLI run: | ssh-keyscan beta.aptible.com >> ~/.ssh/known_hosts @@ -42,7 +45,18 @@ jobs: 'SPRING_DATASOURCE_USERNAME=${{ secrets.SPRING_DATASOURCE_USERNAME }}' \ 'SPRING_DATASOURCE_PASSWORD=${{ secrets.SPRING_DATASOURCE_PASSWORD }}' \ 'SPRING_PROFILES_ACTIVE=staging' \ + 'SENTRY_DSN=${{ secrets.SENTRY_DSN }}' \ + 'SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }}' \ + 'SENTRY_ENVIRONMENT=staging' \ 'CLAMAV_URL=${{ vars.CLAMAV_URL }}' + - name: Create Sentry release + uses: getsentry/action-release@v1 + env: + SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} + SENTRY_ORG: codeforamerica + SENTRY_PROJECT: il-gcc + with: + environment: staging - name: Announce on Slack when deploy fails uses: ravsamhq/notify-slack-action@v2 with: diff --git a/build.gradle b/build.gradle index c4c347e68..f55b7299d 100644 --- a/build.gradle +++ b/build.gradle @@ -18,6 +18,7 @@ plugins { id 'jacoco' id "org.flywaydb.flyway" version "[9.+,10.0[" id 'io.miret.etienne.sass' version '1.5.0' + id "io.sentry.jvm.gradle" version "4.3.0" } jacoco { @@ -150,6 +151,19 @@ def sassConfiguration = { CompileSass task -> task.outputDir = project.file("${projectDir}/generated/main/resources/static/assets/css") } +test { + useJUnitPlatform { + JUnitPlatformOptions options -> + options.excludeTags("a11y") + } +} + + +tasks.withType(Test).configureEach { + environment("SENTRY_DSN", "") + environment("MIXPANEL_API_KEY", "this-is-a-dummy-key-for-tests") +} + tasks.named('compileSass', CompileSass).configure { task -> group 'cfa-uswds' description = 'Compile Sass files into CSS.' @@ -221,6 +235,14 @@ processResources { } } +sentry { + includeSourceContext = true + + org = "codeforamerica" + projectName = "il-gcc" + authToken = System.getenv("SENTRY_AUTH_TOKEN") +} + jar { enabled false } diff --git a/src/main/resources/application.yaml b/src/main/resources/application.yaml index 14e0bb3e0..555164eff 100644 --- a/src/main/resources/application.yaml +++ b/src/main/resources/application.yaml @@ -81,6 +81,9 @@ logging: level: root: INFO org.springframework.web: ERROR +sentry: + dsn: ${SENTRY_DSN} + traces-sample-rate: 0.6 server: tomcat: max-http-form-post-size: ${form-flow.uploads.max-file-size}MB