Tangled Pull Request

kind: tangled/pullrequest

Description

The actions section describes the Tangled Pull Requests that updatecli is expected to open (or update) when the manifest is applied.

Tangled pull requests are atproto records (sh.tangled.repo.pull) written on the author’s Personal Data Server (PDS). The plugin:

  1. Resolves the target repository DID from the configured owner handle (or from repoDid when set).

  2. Lists existing sh.tangled.repo.pull records on the author’s PDS and skips creation if an open pull request already targets the same source/target branch pair.

  3. Runs git format-patch <target>..<source> inside the scm working directory and gzip-compresses the resulting patch.

  4. Uploads the gzipped patch as an atproto blob via com.atproto.repo.uploadBlob.

  5. Writes the sh.tangled.repo.pull record via com.atproto.repo.putRecord.

Authentication uses an atproto app password against the configured PDS (defaults to https://bsky.social). Generate one from your Tangled / Bluesky account settings — never paste your account password into the manifest.

Parameters

NameTypeDescriptionRequired

Example

# updatecli.yaml
# updatecli.yaml
# updatecli diff --config updatecli.yaml
#
name: Show Tangled pipeline example

scms:
  tangled:
    kind: tangled
    spec:
      knot: knot.tangled.sh
      owner: alice.tangled.sh
      repository: updatecli-mirror
      branch: main
      handle: alice.tangled.sh
      appPassword: '{{ requiredEnv "TANGLED_APP_PASSWORD" }}'
      cloneURL: git@knot.tangled.sh:alice.tangled.sh/updatecli-mirror

# Sources are responsible to fetch information from third location such as npm registry.
sources:
  updatecli:
    name: Get latest axios version
    kind: npm
    spec:
      name: axios

# Targets are responsible to update targeted files such as a yaml file.
targets:
  npm:
    name: Update e2e test file
    kind: yaml
    sourceid: updatecli
    scmid: tangled
    spec:
      file: e2e/updatecli.d/success.d/npm.yaml
      key: $.conditions.axios.spec.version

# Actions such as tangled/pullrequest are triggered when a target is updated.
actions:
  default:
    kind: tangled/pullrequest
    scmid: tangled
    title: Bump axios version
Top