Mirror from bluesky-social/pds

Publishing a new version of the PDS distro#

Below are the steps to publish a new version of the PDS distribution. The distribution is hosted by GitHub Container Registry, supported by the build-and-push-ghcr workflow. We use git tags to generate Docker tags on the resulting images.

  1. Update the @atproto/pds dependency in the service/ directory.

    We're using version 0.4.999 as an example. The latest version of the @atproto/pds package must already be published on npm.

    $ cd service/
    $ pnpm update @atproto/pds@0.4.999
    $ cd ..
    
  2. Commit the change directly to main.

    As soon as this is committed and pushed, the workflow to build the Docker image will start running.

    $ git add service/
    $ git commit -m "pds v0.4.999"
    $ git push
    
  3. Smoke test the new Docker image.

    The new Docker image built by GitHub can be found here. You can use the sha-prefixed tag to deploy this image to a test PDS for smoke testing.

  4. Finally, tag the latest Docker image version.

    The Docker image will be tagged as latest, 0.4.999, and 0.4. Our self-hosters generally use the 0.4 tag, and their PDS distribution will be updated automatically over night in many cases. The Docker tags are generated automatically from git tags.

    $ git tag v0.4.999
    $ git push --tags