chadtmiller.com/pds.js
An atproto PDS in JavaScript, for Cloudflare Workers and Node
0
0
# Publishes the setup wizard to start.pdsjs.dev on every push to main.
on:
push: {refs: [refs/heads/main]}
image: node:22-trixie
cache: [/root/.local/share/pnpm/store, /root/.cache/node/corepack]
runners: [ci.knotless.dev]
secrets: [PDSJS_SITE_TOKEN]
env:
COREPACK_ENABLE_DOWNLOAD_PROMPT: "0"
PDS_URL: https://pds.pdsjs.dev
PDS_IDENTIFIER: pdsjs.dev
# Public either way: the site serves them in config.json.
OAUTH_CLIENT_ID: 54445ecf5107dc657b05f88b9ab1f12d
OAUTH_SCOPES: account-settings.read workers-scripts.write workers-r2.write zone.read dns.write
steps:
- name: check credentials
run: |
if [ -z "${PDSJS_SITE_TOKEN:-}" ]; then
echo "PDSJS_SITE_TOKEN is not granted, so this push would publish nothing."
echo "Seal it to ci.knotless.dev with knotless secret. It is an app password for $PDS_IDENTIFIER."
exit 1
fi
echo "publishing to $PDS_URL as $PDS_IDENTIFIER"
- name: build
run: |
corepack enable
pnpm install --frozen-lockfile
pnpm --filter @pdsjs/start run build
- name: publish
run: PDS_PASSWORD="$PDSJS_SITE_TOKEN" pnpm --filter @pdsjs/start run publish-site