Update selection
Which extensions are updated, and how the updates are packaged.
Update strategy
update-strategy controls which types of update are applied, based on semantic versioning:
all(default) applies every update, whatever its type.minorapplies minor and patch updates, and skips major breaking changes.patchapplies patch updates only.
Only apply safe patch updates:
- uses: mcanouil/quarto-extensions-updater@v2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
update-strategy: "patch"Avoid breaking changes:
- uses: mcanouil/quarto-extensions-updater@v2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
update-strategy: "minor"Combining with auto-merge
The update strategy works independently from the auto-merge strategy:
- uses: mcanouil/quarto-extensions-updater@v2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
update-strategy: "minor" # Only check for minor and patch updates
auto-merge: true
auto-merge-strategy: "patch" # Auto-merge only patch updatesIn this configuration:
- Only minor and patch updates are detected, and major updates are skipped entirely.
- Of those updates, only patch updates are merged automatically.
- Minor updates create pull requests that wait for review.
Selective updates
include-extensions and exclude-extensions take comma-separated owner/name lists.
Update only certain extensions:
- uses: mcanouil/quarto-extensions-updater@v2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
include-extensions: "mcanouil/iconify,quarto-ext/lightbox"Every other extension is ignored.
Exclude certain extensions, for example to pin a version:
- uses: mcanouil/quarto-extensions-updater@v2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
exclude-extensions: "quarto-ext/fancy-text,owner/unstable-extension"Both filters can be combined, and the exclusion wins when an extension appears in both:
- uses: mcanouil/quarto-extensions-updater@v2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
include-extensions: "mcanouil/iconify,quarto-ext/lightbox,quarto-ext/fancy-text"
exclude-extensions: "quarto-ext/fancy-text"Here, only mcanouil/iconify and quarto-ext/lightbox are updated.
Grouped updates
By default the action creates one pull request per extension, which keeps each update reviewable on its own. Setting group-updates combines them instead:
- uses: mcanouil/quarto-extensions-updater@v2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
group-updates: trueWhen grouping is enabled:
- All extension updates go into a single pull request.
- The title reflects the number of extensions being updated.
- The body lists the updates grouped by type.
- Auto-merge is only enabled when every extension in the group qualifies under the auto-merge strategy.
Multi-directory scanning
By default only the workspace root is scanned for _extensions. A repository holding several Quarto sub-projects can list them all through scan-directories:
- uses: mcanouil/quarto-extensions-updater@v2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
scan-directories: |
.
slides
exercisesPaths are relative to workspace-path. Each directory is scanned independently, and duplicates are removed when the directories overlap.