mirror of
https://github.com/coder/coder.git
synced 2026-06-04 05:28:20 +00:00
68 lines
2.5 KiB
YAML
68 lines
2.5 KiB
YAML
name: Upload tests to datadog
|
|
description: |
|
|
Uploads the test results to datadog.
|
|
inputs:
|
|
api-key:
|
|
description: "Datadog API key"
|
|
required: true
|
|
runs:
|
|
using: "composite"
|
|
steps:
|
|
- shell: bash
|
|
run: |
|
|
set -e
|
|
|
|
echo "owner: $REPO_OWNER"
|
|
if [[ "$REPO_OWNER" != "coder" ]]; then
|
|
echo "Not a pull request from the main repo, skipping..."
|
|
exit 0
|
|
fi
|
|
if [[ -z "${DATADOG_API_KEY}" ]]; then
|
|
# This can happen for dependabot.
|
|
echo "No API key provided, skipping..."
|
|
exit 0
|
|
fi
|
|
|
|
BINARY_VERSION="v2.48.0"
|
|
BINARY_HASH_WINDOWS="b7bebb8212403fddb1563bae84ce5e69a70dac11e35eb07a00c9ef7ac9ed65ea"
|
|
BINARY_HASH_MACOS="e87c808638fddb21a87a5c4584b68ba802965eb0a593d43959c81f67246bd9eb"
|
|
BINARY_HASH_LINUX="5e700c465728fff8313e77c2d5ba1ce19a736168735137e1ddc7c6346ed48208"
|
|
|
|
TMP_DIR=$(mktemp -d)
|
|
|
|
if [[ "${RUNNER_OS}" == "Windows" ]]; then
|
|
BINARY_PATH="${TMP_DIR}/datadog-ci.exe"
|
|
BINARY_URL="https://github.com/DataDog/datadog-ci/releases/download/${BINARY_VERSION}/datadog-ci_win-x64"
|
|
elif [[ "${RUNNER_OS}" == "macOS" ]]; then
|
|
BINARY_PATH="${TMP_DIR}/datadog-ci"
|
|
BINARY_URL="https://github.com/DataDog/datadog-ci/releases/download/${BINARY_VERSION}/datadog-ci_darwin-arm64"
|
|
elif [[ "${RUNNER_OS}" == "Linux" ]]; then
|
|
BINARY_PATH="${TMP_DIR}/datadog-ci"
|
|
BINARY_URL="https://github.com/DataDog/datadog-ci/releases/download/${BINARY_VERSION}/datadog-ci_linux-x64"
|
|
else
|
|
echo "Unsupported OS: $RUNNER_OS"
|
|
exit 1
|
|
fi
|
|
|
|
echo "Downloading DataDog CI binary version ${BINARY_VERSION} for $RUNNER_OS..."
|
|
curl -sSL "$BINARY_URL" -o "$BINARY_PATH"
|
|
|
|
if [[ "${RUNNER_OS}" == "Windows" ]]; then
|
|
echo "$BINARY_HASH_WINDOWS $BINARY_PATH" | sha256sum --check
|
|
elif [[ "${RUNNER_OS}" == "macOS" ]]; then
|
|
echo "$BINARY_HASH_MACOS $BINARY_PATH" | shasum -a 256 --check
|
|
elif [[ "${RUNNER_OS}" == "Linux" ]]; then
|
|
echo "$BINARY_HASH_LINUX $BINARY_PATH" | sha256sum --check
|
|
fi
|
|
|
|
# Make binary executable (not needed for Windows)
|
|
if [[ "${RUNNER_OS}" != "Windows" ]]; then
|
|
chmod +x "$BINARY_PATH"
|
|
fi
|
|
|
|
"$BINARY_PATH" junit upload --service coder ./gotests.xml \
|
|
--tags "os:${RUNNER_OS}" --tags "runner_name:${RUNNER_NAME}"
|
|
env:
|
|
REPO_OWNER: ${{ github.repository_owner }}
|
|
DATADOG_API_KEY: ${{ inputs.api-key }}
|