diff --git a/.github/actions/setup-go/action.yaml b/.github/actions/setup-go/action.yaml index ae034ba37c..c654c1953f 100644 --- a/.github/actions/setup-go/action.yaml +++ b/.github/actions/setup-go/action.yaml @@ -8,3 +8,8 @@ runs: with: cache: true go-version: "~1.20" + - name: Install gotestsum + uses: jaxxstorm/action-install-gh-release@v1.10.0 + with: + repo: gotestyourself/gotestsum + tag: v1.9.0 diff --git a/.github/actions/upload-datadog/action.yaml b/.github/actions/upload-datadog/action.yaml new file mode 100644 index 0000000000..88d4454aab --- /dev/null +++ b/.github/actions/upload-datadog/action.yaml @@ -0,0 +1,16 @@ +name: Upload tests to datadog +if: always() +inputs: + api-key: + description: "Datadog API key" + required: true +runs: + using: "composite" + steps: + - shell: bash + run: | + npm install -g @datadog/datadog-ci + datadog-ci junit upload --service coder ./gotests.xml \ + --tags os:${{runner.os}} --tags runner_name:${{runner.name}} + env: + DATADOG_API_KEY: ${{ inputs.api-key }} diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 1b32a91cab..5f1e62cfab 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -199,14 +199,6 @@ jobs: - uses: ./.github/actions/setup-go - - name: Install gotestsum - uses: jaxxstorm/action-install-gh-release@v1.10.0 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - repo: gotestyourself/gotestsum - tag: v1.9.0 - - uses: hashicorp/setup-terraform@v2 with: terraform_version: 1.1.9 @@ -243,6 +235,11 @@ jobs: path: ./gotests.xml retention-days: 30 + - uses: ./.github/actions/upload-datadog + if: always() + with: + api-key: ${{ secrets.DATADOG_API_KEY }} + - uses: codecov/codecov-action@v3 # This action has a tendency to error out unexpectedly, it has # the `fail_ci_if_error` option that defaults to `false`, but @@ -267,14 +264,6 @@ jobs: - uses: ./.github/actions/setup-go - - name: Install gotestsum - uses: jaxxstorm/action-install-gh-release@v1.10.0 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - repo: gotestyourself/gotestsum - tag: v1.9.0 - - uses: hashicorp/setup-terraform@v2 with: terraform_version: 1.1.9 @@ -299,6 +288,11 @@ jobs: path: ./gotests.xml retention-days: 30 + - uses: ./.github/actions/upload-datadog + if: always() + with: + api-key: ${{ secrets.DATADOG_API_KEY }} + - uses: codecov/codecov-action@v3 # This action has a tendency to error out unexpectedly, it has # the `fail_ci_if_error` option that defaults to `false`, but @@ -326,7 +320,12 @@ jobs: - name: Run Tests run: | - go test -race ./... + gotestsum --junitfile="gotests.xml" -- -race ./... + + - uses: ./.github/actions/upload-datadog + if: always() + with: + api-key: ${{ secrets.DATADOG_API_KEY }} deploy: name: "deploy"