GitHub, Posit Connect & CodeSpaces

Static Portfolios, Environment Caching, and Cloud Workspaces

Brian Yandell (byandell.github.io)

2026-06-18

GitHub Pages & Portfolios

GitHub Pages & Blogging

Static Portfolio Hosting

Jekyll, MkDocs & Git Resources

Static Generators & Themes

  • Jekyll: Default Ruby-based builder used by GitHub Pages. Fast setup using forkable themes.
  • MkDocs: Advanced Python-based alternative for technical docs.

Git Troubleshooting & Help

CI/CD Workflow Security

OAuth authentication errors can prevent git pushes if you modify GitHub Actions files (.github/workflows/). See the TutorialPedia resolution guide to resolve permission issues.

Posit Connect Hosting

Posit Connect & Package Locking

Enterprise Sharing Platform

  • Posit Connect: Deployment platform to host R Shiny applications, Quarto documents, and python web models.
  • Environment Replication: Connect uses the renv package to capture local project dependencies and rebuild them on the server.
  • GitHub Integration: Packages installed via standard devtools (devtools::install_github) can lead to package resolution issues on compilation.

Resolving Deployment Errors

The Unknown Source Bug

  • Symptoms: RStudio displays Deployment error: unknown package source.
  • Cause: Packages installed via devtools may lack complete lockfile metadata. Connect is unable to determine the precise repository source, and deployment fails.

The renv Caching Solution

Force renv to explicitly write the GitHub source link to the lockfile:

# Install package through renv API
renv::install("github_user/package_name")

# Snapshot changes to renv.lock
renv::snapshot()

If it still fails, record the source metadata manually:

renv::record("github_user/package_name")

Tip

Always inspect your renv.lock file before deploying to confirm all external GitHub package metadata has been saved cleanly.

GitHub Codespaces

Cloud-Hosted Containers

Dynamic Cloud Workspaces

  • GitHub Codespaces: Instant, preconfigured container development workspaces hosted in the cloud.
  • Fast Onboarding: Integrates seamlessly with Git repositories, preloading extensions, scripts, and runtime dependencies.
  • VS Code Integration: Develop directly in your web browser or connect via local Visual Studio Code remote editors.

Resource Conservation

Always stop your codespaces when done! Inactive but running codespaces continue to consume subscription hours, memory quotas, and active storage allocations.