Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
25 changes: 25 additions & 0 deletions src/build-info/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@

# Container Metadata Injector (build-info)

Bakes build-time release version and date metadata from GHA directly into a system-wide command.

## Example Usage

```json
"features": {
"ghcr.io/MiguelRodo/DevContainerFeatures/build-info:1": {}
}
```

## Options

| Options Id | Description | Type | Default Value |
|-----|-----|-----|-----|
| version | The automated version number injected from the runner host environment. | string | development |
| buildDate | The build timestamp injected from the runner host environment. | string | unknown |



---

_Note: This file was auto-generated from the [devcontainer-feature.json](https://github.com/MiguelRodo/DevContainerFeatures/blob/main/src/build-info/devcontainer-feature.json). Add additional notes to a `NOTES.md`._
29 changes: 4 additions & 25 deletions src/renv-cache/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,10 @@ Configure R with renv cache
| usePak | Whether to use `pak` for package installation. | boolean | false |
| debug | Whether to print debug information during package restore. | boolean | false |
| debugRenv | Whether to print debug information during renv restore. | boolean | false |
| repositories | Comma-separated list of GitHub repos to clone. Must support branch and profile syntax: user/repo@branch:profile. If :profile is omitted, it defaults to the root renv.lock. | string | - |
| pkg | Comma-separated list of specific packages to cache explicitly. | string | - |
| installSystemRequirements | Uses the Posit API to install apt-dependencies. | boolean | true |
| cranMirror | - | string | https://cloud.r-project.org |

## renv Global Cache Configuration

Expand Down Expand Up @@ -155,31 +159,6 @@ You can place custom scripts in your renv subdirectories:

These scripts receive the `pkgExclude` parameter and run in the project directory context.

### Accessing Lockfiles at Runtime

The feature automatically creates snapshots of the `renv.lock` files used during the image build (both the "restore" state and the "update" state, if updates were requested).

You can interact with these internal snapshots using the `renv-lockfile-cache` CLI utility, which is automatically available on your path inside the built container:

**List Available Lockfiles:**
```bash
renv-lockfile-cache --list
```

**Copy a Lockfile to your Workspace:**
By default, the script will prefer the updated lockfile (if available) and will place it in your current directory:
```bash
renv-lockfile-cache --copy
```

You can also specify a custom path (either a directory or exact filename):
```bash
renv-lockfile-cache --copy ./my-project/
renv-lockfile-cache --copy /workspaces/custom-name.lock
```

If multiple project configurations were used during the build, `--copy` will prompt you interactively to select which project's lockfile you want to extract.

## Package Restoration

This feature uses [`renvvv::renvvv_restore()`](https://github.com/MiguelRodo/renvvv) for package restoration instead of the default `renv::restore()`. This provides more robust restoration logic that:
Expand Down
4 changes: 3 additions & 1 deletion src/repos/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
### **IMPORTANT NOTE**
- **This Feature is deprecated, and will no longer receive any further updates/support.**

# Automatically set up multi-repo projects (repos)

Installs the 'repos' CLI tool to manage multiple Git repositories. Optionally runs 'repos clone' when the container starts to clone repositories defined in repos.list.
(DEPRECATED: Use the 'utils' feature instead) Installs the 'repos' CLI tool to manage multiple Git repositories. Optionally runs 'repos clone' when the container starts to clone repositories defined in repos.list.

## Example Usage

Expand Down
26 changes: 26 additions & 0 deletions src/utils/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@

# MiguelRodo Utils (utils)

Installs Miguel Rodo's utilities like 'repos' and 'setupmjr'.

## Example Usage

```json
"features": {
"ghcr.io/MiguelRodo/DevContainerFeatures/utils:1": {}
}
```

## Options

| Options Id | Description | Type | Default Value |
|-----|-----|-----|-----|
| installRepos | Install the 'repos' utility. | boolean | true |
| installSetupmjr | Install the 'setupmjr' utility. | boolean | true |
| runOnStart | Automatically run 'repos clone' when the container starts (only applies if installRepos is true). | boolean | false |



---

_Note: This file was auto-generated from the [devcontainer-feature.json](https://github.com/MiguelRodo/DevContainerFeatures/blob/main/src/utils/devcontainer-feature.json). Add additional notes to a `NOTES.md`._