~ knotless Search/
↑↓ move↵ open⇧↵ all results

chadtmiller.com/pds.js

An atproto PDS in JavaScript, for Cloudflare Workers and Node

0
0
main
39 lines · 1.7 KB Raw History
# Workflows

knotless.dev's runners run these for chadtmiller.com/pds.js: `ci` on the
hosted runner, runner.knotless.dev, and every workflow given a secret on
ci.knotless.dev, the runner on knotless.dev's own host, each naming its
runner in `runners`. The
format is in knotless's
[workflow reference](https://knotless.dev/chadtmiller.com/knotless/blob/main/docs/reference/workflows.md).
The runner reads only the `.yml`, `.yaml` and `.json` files here. Each
workflow says what it does, and why, in its comments.

- `ci` is the gate, on every branch and on pulls into main.
- `mirror-repo` pushes main and each `v*` tag to `atproto://pdsjs.dev/pds.js`.
- `canary-worker`, `publish-git-app`, `publish-spaces-app` and
  `publish-wizard` publish on every push to main.
- `release-npm`, `release-worker`, `release-image` and
  `release-runner-image` publish on a `v*` tag, which `npm run release:cut`
  pushes.

Each step runs in a container with no docker daemon, so the two image
workflows build with kaniko.

## Secrets

A pull gets no secrets. Each is sealed to ci.knotless.dev alone, for the
refs named, with `knotless secret knotless://chadtmiller.com/pds.js set
<name> --runner ci.knotless.dev --ref <ref>`:

- `PDSJS_SITE_TOKEN`, an app password for pdsjs.dev, to main and `v*` tags.
  The mirror, the sites, the worker artifacts and the PDS registry copies
  use it.
- `NPM_TOKEN`, an npm automation token with publish rights for the
  `@pdsjs` scope, to `v*` tags.
- `RELEASE_PASSWORD`, an app password for chadtmiller.com, to `v*` tags.
  The image workflows publish the images with it, as the repository's
  owner.

A workflow that is not granted a secret it needs fails at its first step
and says which one.