Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,6 @@ DING reads the runner's environment variables and attaches labels automatically.
|---|---|---|
| GitHub Actions | `GITHUB_ACTIONS=true` | `run_id`, `runner`, `repo`, `branch`, `commit`, `workflow`, `job`, `actor`, `event` |
| GitLab CI | `GITLAB_CI=true` | `run_id`, `runner`, `repo`, `branch`, `commit`, `job` |
| CircleCI | `CIRCLECI=true` | `run_id`, `runner`, `repo`, `branch`, `commit`, `job` |
| Jenkins | `JENKINS_URL` set | `run_id`, `runner`, `job`, `build` |
| Buildkite | `BUILDKITE=true` | `run_id`, `runner`, `repo`, `branch`, `commit` |
| Argo Workflows | `ARGO_TEMPLATE` set | `run_id`, `runner`, `workflow`, `node`, `pod`, `namespace` |
Expand Down Expand Up @@ -266,7 +265,7 @@ The webhook receives a JSON POST:

Looking for a config that works on your specific platform? See **[docs/recipes/](docs/recipes/index.md)** for platform-specific guides:

- **CI/CD:** [GitHub Actions](https://github.com/ding-labs/ding-action) · [GitLab CI](docs/recipes/gitlab-ci.md) · [CircleCI](docs/recipes/circleci.md) · [Jenkins](docs/recipes/jenkins.md) · [Buildkite](docs/recipes/buildkite.md)
- **CI/CD:** [GitHub Actions](https://github.com/ding-labs/ding-action) · [GitLab CI](docs/recipes/gitlab-ci.md) · [Jenkins](docs/recipes/jenkins.md) · [Buildkite](docs/recipes/buildkite.md)
- **Orchestration:** [Kubernetes Jobs / CronJobs](docs/recipes/kubernetes-jobs.md) · [Argo Workflows](docs/recipes/argo-workflows.md)
- **ML:** [MLflow](docs/recipes/mlflow.md) · [Ray Train / Tune](docs/recipes/ray.md) · [Modal](docs/recipes/modal.md)
- More platforms (dbt, RunPod, Replicate, Airflow, …) coming in subsequent waves.
Expand Down
2 changes: 1 addition & 1 deletion docs/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -392,4 +392,4 @@ For typical secrets (Slack URLs, PagerDuty tokens, API keys, opaque ID strings)

## Platform-specific examples

See [Recipes](recipes/index.md) for end-to-end configurations on specific CI/CD platforms (GitLab CI, CircleCI, Jenkins, Buildkite). Each recipe shows the auto-captured labels and the minimal `ding.yaml` for that platform.
See [Recipes](recipes/index.md) for end-to-end configurations on specific CI/CD platforms (GitLab CI, Jenkins, Buildkite). Each recipe shows the auto-captured labels and the minimal `ding.yaml` for that platform.
101 changes: 0 additions & 101 deletions docs/recipes/circleci.md

This file was deleted.

1 change: 0 additions & 1 deletion docs/recipes/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ Recipes marked **Tier-2 candidate** in the table below have self-evaluated as ex
|---|---|---|---|
| [GitHub Actions](https://github.com/ding-labs/ding-action) | CI/CD | Tier 2 (separate repo) | shipped |
| [GitLab CI](gitlab-ci.md) | CI/CD | Tier 1 | shipped |
| [CircleCI](circleci.md) | CI/CD | Tier 1 | shipped (Tier-2 candidate) |
| [Jenkins](jenkins.md) | CI/CD | Tier 1 | shipped (Tier-2 candidate) |
| [Buildkite](buildkite.md) | CI/CD | Tier 1 | shipped (Tier-2 candidate) |
| [Kubernetes Jobs / CronJobs](kubernetes-jobs.md) | Orchestration | Tier 1 | shipped (Tier-2 candidate) |
Expand Down
2 changes: 1 addition & 1 deletion docs/recipes/jenkins.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ If the alert doesn't fire, check the Jenkins build console for `ding` output. Co

## Tradeoffs / known limitations

- **No SCM-aware labels by default.** Unlike GitHub Actions / GitLab CI / CircleCI, Jenkins doesn't have a single `BRANCH` env var that works across all SCM plugins. You'll need to surface `GIT_BRANCH` / `GIT_COMMIT` (Git plugin) or equivalent yourself.
- **No SCM-aware labels by default.** Unlike GitHub Actions or GitLab CI, Jenkins doesn't have a single `BRANCH` env var that works across all SCM plugins. You'll need to surface `GIT_BRANCH` / `GIT_COMMIT` (Git plugin) or equivalent yourself.
- **Binary download per job.** Cache DING in a Docker agent image, or as a [Tool Installation](https://www.jenkins.io/doc/book/managing/tools/) configuration on the controller.
- **No native plugin (yet).** A Jenkins plugin would expose alerts in the build console UI alongside DING's stdout. That's the most likely Tier-2 abstraction.

Expand Down
9 changes: 1 addition & 8 deletions internal/runctx/runctx.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// Package runctx holds run/job-scoped metadata for `ding run` mode.
//
// A Context auto-detects the surrounding CI/job runner (GitHub Actions,
// GitLab CI, CircleCI, Jenkins, Buildkite, Argo Workflows, Ray, MLflow, Kubernetes) from environment variables and exposes
// GitLab CI, Jenkins, Buildkite, Argo Workflows, Ray, MLflow, Kubernetes) from environment variables and exposes
// helpers that attach run-scoped labels to events flowing through the
// alerting engine. On run exit, SummaryEvent produces a synthetic
// "run.exit" event with the exit code and run duration so rules can
Expand Down Expand Up @@ -69,13 +69,6 @@ func (c *Context) detect() {
setIf(c.Labels, "branch", os.Getenv("CI_COMMIT_REF_NAME"))
setIf(c.Labels, "commit", os.Getenv("CI_COMMIT_SHA"))
setIf(c.Labels, "job", os.Getenv("CI_JOB_NAME"))
case os.Getenv("CIRCLECI") == "true":
c.Runner = "circleci"
c.RunID = os.Getenv("CIRCLE_BUILD_NUM")
setIf(c.Labels, "repo", os.Getenv("CIRCLE_PROJECT_REPONAME"))
setIf(c.Labels, "branch", os.Getenv("CIRCLE_BRANCH"))
setIf(c.Labels, "commit", os.Getenv("CIRCLE_SHA1"))
setIf(c.Labels, "job", os.Getenv("CIRCLE_JOB"))
case os.Getenv("JENKINS_URL") != "":
c.Runner = "jenkins"
c.RunID = os.Getenv("BUILD_TAG")
Expand Down
17 changes: 0 additions & 17 deletions internal/runctx/runctx_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -70,21 +70,6 @@ func TestNew_DetectsGitLabCI(t *testing.T) {
}
}

func TestNew_DetectsCircleCI(t *testing.T) {
clearCIEnv(t)
t.Setenv("CIRCLECI", "true")
t.Setenv("CIRCLE_BUILD_NUM", "7")
t.Setenv("CIRCLE_BRANCH", "main")

c := New()
if c.Runner != "circleci" {
t.Errorf("Runner = %q, want circleci", c.Runner)
}
if c.RunID != "7" {
t.Errorf("RunID = %q, want 7", c.RunID)
}
}

func TestNew_DetectsJenkins(t *testing.T) {
clearCIEnv(t)
t.Setenv("JENKINS_URL", "http://jenkins.local")
Expand Down Expand Up @@ -583,8 +568,6 @@ func clearCIEnv(t *testing.T) {
"GITHUB_SHA", "GITHUB_WORKFLOW", "GITHUB_JOB", "GITHUB_ACTOR", "GITHUB_EVENT_NAME",
"GITLAB_CI", "CI_PIPELINE_ID", "CI_PROJECT_PATH", "CI_COMMIT_REF_NAME",
"CI_COMMIT_SHA", "CI_JOB_NAME",
"CIRCLECI", "CIRCLE_BUILD_NUM", "CIRCLE_PROJECT_REPONAME", "CIRCLE_BRANCH",
"CIRCLE_SHA1", "CIRCLE_JOB",
"JENKINS_URL", "BUILD_TAG", "JOB_NAME", "BUILD_NUMBER",
"BUILDKITE", "BUILDKITE_BUILD_ID", "BUILDKITE_PIPELINE_SLUG",
"BUILDKITE_BRANCH", "BUILDKITE_COMMIT",
Expand Down
1 change: 0 additions & 1 deletion mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ nav:
- Recipes:
- Overview: recipes/index.md
- GitLab CI: recipes/gitlab-ci.md
- CircleCI: recipes/circleci.md
- Jenkins: recipes/jenkins.md
- Buildkite: recipes/buildkite.md
- Kubernetes Jobs: recipes/kubernetes-jobs.md
Expand Down
Loading