Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -123,12 +123,13 @@ jobs:
with:
version: ">=0.9.0"
- uses: extractions/setup-just@v3
- uses: quarto-dev/quarto-actions/setup@v2
- name: build docs
run: just docs
- uses: actions/upload-artifact@v5
with:
name: docs
path: site/
path: great-docs/_site/
- uses: aws-actions/configure-aws-credentials@v4
id: creds
with:
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/preview-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,13 @@ jobs:

- uses: extractions/setup-just@v3

- uses: quarto-dev/quarto-actions/setup@v2

- name: Install and Build
if: github.event.action != 'closed' # skip the build if the PR has been closed
run: just docs

- name: Deploy preview
uses: rossjrw/pr-preview-action@v1
with:
source-dir: ./site/
source-dir: ./great-docs/_site/
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -36,3 +36,7 @@ vetiver-testing/rsconnect_api_keys.json
# license files should not be commited to this repository
*.lic
/site/

# great-docs managed build output and docs venv
/great-docs/
.venv-docs/
17 changes: 16 additions & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,14 @@ just docs
just docs-serve
```

Docs are built with [great-docs](https://github.com/posit-dev/great-docs) (Quarto-based), not
mkdocs. Requires the **Quarto CLI** to be installed. `just docs` provisions an isolated
`.venv-docs` (Python 3.12) with `uv venv`/`uv pip install`, then runs `great-docs build` inside
that venv — it does **not** use `uv run --with`, because Quarto's post-render hook must execute
under the same interpreter that has `great_docs`/`pygments` importable. Output is written to
`great-docs/_site/` (git-ignored, along with `.venv-docs/`). Narrative pages live in
`user_guide/*.qmd`; CLI reference pages are auto-generated from `rsconnect.main`.

### Building Distribution
```bash
# Build wheel distribution
Expand Down Expand Up @@ -184,7 +192,14 @@ The app mode determines how Connect runs the content. Manifests must specify the

- Version is a static field in `pyproject.toml`, managed with `uv version`.
- `main` carries a `.dev` version (e.g. `1.29.1.dev0`).
- Update CHANGELOG.md before each release (even betas).
- Release notes are now authored directly in the GitHub Release for each tag — that's the source
of truth for the published changelog (great-docs renders it into the docs changelog page).
`docs/CHANGELOG.md` only retains the `Unreleased` section for in-flight work; update it before
cutting a release, then clear it back to an empty `Unreleased` section afterward.
- `scripts/backfill_release_notes.py` is the one-time migration that ported historical
`docs/CHANGELOG.md` entries into existing GitHub Releases. Run it dry-run first
(`uv run scripts/backfill_release_notes.py`) to review the plan, then `--apply` to write it.
It should not need to run again once history is migrated.
- Cut a release: `uv version --bump stable`, commit, `git tag -a 1.2.3 -m 'Release 1.2.3'`, push the tag.
- The `distributions` CI job asserts the tag matches the `pyproject.toml` version, then builds and publishes to PyPI.
- After releasing, bump `main` back to the next `.dev` version with `uv version <next>.dev0`.
Expand Down
22 changes: 16 additions & 6 deletions Justfile
Original file line number Diff line number Diff line change
Expand Up @@ -42,17 +42,27 @@ install:
version:
uv version --short

# Build the documentation site
# Build the documentation site (great-docs / Quarto). Requires the Quarto CLI.
docs:
VERSION=$(uv version --short) uv run --group docs mkdocs build
#!/usr/bin/env bash
set -euo pipefail
uv venv --python 3.12 --allow-existing .venv-docs
uv pip install --python .venv-docs --quiet great-docs pygments .
source .venv-docs/bin/activate
great-docs build

# Serve the documentation with live reload
docs-serve:
VERSION=$(uv version --short) uv run --group docs mkdocs serve
#!/usr/bin/env bash
set -euo pipefail
uv venv --python 3.12 --allow-existing .venv-docs
uv pip install --python .venv-docs --quiet great-docs pygments .
source .venv-docs/bin/activate
great-docs preview

# Remove build/test artifacts
clean:
rm -rf .coverage .pytest_cache build dist htmlcov rsconnect_python.egg-info rsconnect.egg-info site
rm -rf .coverage .pytest_cache build dist htmlcov rsconnect_python.egg-info rsconnect.egg-info great-docs

# Remove local rsconnect store directories
clean-stores:
Expand All @@ -74,8 +84,8 @@ dev-stop:

# Sync latest docs to S3 (CI)
sync-latest-docs-to-s3:
aws s3 sync --acl bucket-owner-full-control --cache-control max-age=0 site/ s3://rstudio-connect-downloads/connect/rsconnect-python/latest/docs/
aws s3 sync --acl bucket-owner-full-control --cache-control max-age=0 great-docs/_site/ s3://rstudio-connect-downloads/connect/rsconnect-python/latest/docs/

# Promote docs in S3 (CI)
promote-docs-in-s3:
aws s3 sync --delete --acl bucket-owner-full-control --cache-control max-age=300 site/ s3://docs.rstudio.com/rsconnect-python/
aws s3 sync --delete --acl bucket-owner-full-control --cache-control max-age=300 great-docs/_site/ s3://docs.rstudio.com/rsconnect-python/
Binary file added assets/favicon.ico
Binary file not shown.
22 changes: 22 additions & 0 deletions assets/iconPositConnect.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 0 additions & 1 deletion docs/.gitignore

This file was deleted.

3 changes: 0 additions & 3 deletions docs/commands/add.md

This file was deleted.

3 changes: 0 additions & 3 deletions docs/commands/bootstrap.md

This file was deleted.

3 changes: 0 additions & 3 deletions docs/commands/content.md

This file was deleted.

3 changes: 0 additions & 3 deletions docs/commands/deploy.md

This file was deleted.

3 changes: 0 additions & 3 deletions docs/commands/details.md

This file was deleted.

3 changes: 0 additions & 3 deletions docs/commands/environment.md

This file was deleted.

3 changes: 0 additions & 3 deletions docs/commands/info.md

This file was deleted.

3 changes: 0 additions & 3 deletions docs/commands/integration.md

This file was deleted.

3 changes: 0 additions & 3 deletions docs/commands/list.md

This file was deleted.

3 changes: 0 additions & 3 deletions docs/commands/login.md

This file was deleted.

3 changes: 0 additions & 3 deletions docs/commands/logout.md

This file was deleted.

3 changes: 0 additions & 3 deletions docs/commands/quickstart.md

This file was deleted.

3 changes: 0 additions & 3 deletions docs/commands/remove.md

This file was deleted.

3 changes: 0 additions & 3 deletions docs/commands/system.md

This file was deleted.

3 changes: 0 additions & 3 deletions docs/commands/version.md

This file was deleted.

3 changes: 0 additions & 3 deletions docs/commands/write-manifest.md

This file was deleted.

Loading
Loading