watson / ci-info

Get details about the current Continuous Integration environment
MIT License
319 stars 49 forks source link

Add Harness #106

Closed frosas closed 1 year ago

frosas commented 1 year ago

Details:

Environment variables

The relevant env vars I got by running a build:

DRONE_BRANCH
DRONE_BUILD_ACTION
DRONE_BUILD_NUMBER
DRONE_COMMIT_AFTER
DRONE_COMMIT_AUTHOR_AVATAR
DRONE_COMMIT_AUTHOR
DRONE_COMMIT_BEFORE
DRONE_COMMIT_BRANCH
DRONE_COMMIT_LINK
DRONE_COMMIT_MESSAGE
DRONE_COMMIT_REF
DRONE_COMMIT_SHA
DRONE_COMMIT
DRONE_GIT_HTTP_URL
DRONE_GIT_SSH_URL
DRONE_NETRC_MACHINE
DRONE_NETRC_PASSWORD
DRONE_NETRC_USERNAME
DRONE_REMOTE_URL
DRONE_REPO_BRANCH
DRONE_REPO_LINK
DRONE_REPO_NAME
DRONE_REPO_NAMESPACE
DRONE_REPO_OWNER
DRONE_REPO_PRIVATE
DRONE_REPO_SCM
DRONE_REPO
DRONE_SOURCE_BRANCH
DRONE_TARGET_BRANCH
HARNESS_ACCOUNT_ID
HARNESS_BUILD_ID
HARNESS_EXECUTION_ID
HARNESS_LOG_PREFIX
DRONE_BUILD_EVENT
HARNESS_NODE_INDEX
HARNESS_NODE_TOTAL
HARNESS_ORG_ID
HARNESS_PIPELINE_ID
HARNESS_PROJECT_ID
HARNESS_SECRETS_LIST
HARNESS_STAGE_ID
HARNESS_STAGE_INDEX
HARNESS_STAGE_TOTAL
HARNESS_STEP_INDEX
HARNESS_STEP_TOTAL
HARNESS_STO_SERVICE_ENDPOINT
HARNESS_STO_SERVICE_TOKEN
HARNESS_WORKSPACE

Additional context

Harness uses Drone under the hood but, for some reason, it doesn't expose the DRONE env var ci-info is already capable to detect.

We currently detect Harness CI by checking DRONE_COMMIT is truthy.

sibiraj-s commented 1 year ago

HARNESS_BUILD_ID or HARNESS_PIPELINE_ID should be a good one I guess.

frosas commented 1 year ago

Sounds good to me. I also see in their public repo they're hardcoded so they should always be present https://github.com/harness/harness-core/search?q=HARNESS_BUILD_ID_VARIABLE

Let me know if you want me to submit a PR.

sibiraj-s commented 1 year ago

Sure. PR’s always welcome.

We can use HARNESS_BUILD_ID. And make sure to update to README as well.