Skip to content

Configure CLD App binary publishing - #1

Draft
cld-bot-testing-oneplatform[bot] wants to merge 1 commit into
developfrom
cld-app/onboarding
Draft

Configure CLD App binary publishing#1
cld-bot-testing-oneplatform[bot] wants to merge 1 commit into
developfrom
cld-app/onboarding

Conversation

@cld-bot-testing-oneplatform

Copy link
Copy Markdown

🚀 Welcome to CLD

You're seeing this PR because the CLD GitHub App was just installed on this repository. This draft PR is your guided onboarding — once you merge it, your repository will be wired into the CLD platform's binary publishing pipeline.


What is CLD?

CLD (Chainlink Level Deployments) is the platform that publishes your project's compiled binaries so that deployments can download them instead of rebuilding from source. When a workflow run completes successfully, the CLD App pulls the binary artifact from that run and publishes it to the releases layout in S3.

To opt in, each repository needs a small config file at .github/cld-app.yaml that tells the App:

  • which domain the binary belongs to (e.g. prediction-markets),
  • which workflow produces the binary,
  • which platforms (OS/arch) to publish, and
  • which artifact and path inside it contains the binary.

This PR creates that config file with TODO placeholders so you can fill it in.


How to complete this PR (3 steps)

You don't need to edit any files by hand. Instead, drive the setup by leaving comments on this PR — the CLD App listens for /cld-app commands here and updates the config file for you.

Step 1 — Configure your binary

Post a comment on this PR with your binary details:

/cld-app configure --domain <your-domain> --workflow <workflow.yml> --job <job-name> --platform <goos/goarch> --artifact <artifact-name> --binary-path <path-inside-artifact>

Here's what each part means:

Flag What to put Example
--domain The CLD domain this binary belongs to. Ask your platform team if you're unsure. prediction-markets
--workflow The workflow file (in .github/workflows/) that builds and uploads the binary. build.yml
--job The name of the job inside that workflow that produces the artifact. Omit only if the workflow has a single job. build
--platform The target OS and architecture, separated by /. linux/amd64
--artifact The name of the GitHub Actions artifact uploaded by the workflow. prediction-markets-linux-amd64
--binary-path The path to the binary inside the artifact zip. dist/chainlink-prediction-markets

A real example:

/cld-app configure --domain prediction-markets --workflow build.yml --job build --platform linux/amd64 --artifact prediction-markets-linux-amd64 --binary-path dist/chainlink-prediction-markets

After you post the comment, the App will reply with a ✅ confirmation, update .github/cld-app.yaml on the cld-app/onboarding branch, and run a healthcheck.

Step 2 — Check the healthcheck

Look for the CLD App Config Healthcheck comment and Check Run on this PR. It verifies that:

  • the workflow you named actually exists in this repo,
  • it has completed successfully at least once,
  • the job and artifact you specified can be found.

If the healthcheck is red, the reply comment will explain what's wrong — fix the issue and re-run /cld-app configure.

Step 3 — Merge

Once the healthcheck is green and the config looks correct, merge this PR. After merge, the CLD App will automatically publish binaries whenever the configured workflow completes successfully.


All available commands

Command What it does
/cld-app configure ... Sets or updates the binary config (the command above).
/cld-app validate Re-runs the healthcheck without changing the config.
/cld-app help Shows a quick reference of all commands.

Good to know

  • Who can run commands? Anyone with write, maintain, or admin access to this repository.
  • Prefer to edit the file yourself? You can edit .github/cld-app.yaml directly on the cld-app/onboarding branch — the App will still validate it. Posting /cld-app validate afterward will run the healthcheck against your manual edits.
  • What about authorization? Even after merge, the CLD App checks a central publishers.yaml registry before publishing anything — so a misconfigured repo fails closed instead of publishing unexpectedly. Contact the platform team to register your domain→repo mapping.
  • Need help? Reach out to the CLD platform team in your organization's Slack or check the README in this repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants