KitwareMedical / KitwareMedical/SlicerCustomAppTemplate

Support GitHub Actions update in cookiecutter-level project leveraging Dependabot CLI

Open
#64 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
C++
Stars
71
Forks
32
PR merge metrics
No merged PRs in 30d

Description

Improve the CI pipeline by integrating a scheduled workflow that leverages the Dependabot CLI[^1] to update dependencies within the cookiecutter project. The project’s .yml template files include Jinja2 directives like `{% raw %}` and `{% endraw %}`, which require special handling.

To achieve this, the update process can be done with the following stages:

* **Identify Template Directives**:
* Detect lines in `.yml` file that contain the `{% raw %}` and `{% endraw %}` template Directives.
* **Project Configuration**:
* Configure the project to support running the Dependabot CLI
* **Execute Dependabot CLI**
* Run Dependabot CLI to update GitHub Actions dependencies within the configured project
* **Reintegrate Template Changes**:
* Reintegrate the updated lines back into the `.yml` files while preserving the original template structure.
* **Generate Pull Request**:
* Automatically generate a pull request with the updated .yml files.

This approach ensures the proper handling of templated files while keeping dependencies up-to-date

[^1]: https://github.com/dependabot/cli

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by locating the project’s .yml template files and the existing CI configuration, then review how {% raw %} and {% endraw %} directives are used. Configure a scheduled GitHub Actions workflow to run the Dependabot CLI, preserve the template structure, update GitHub Actions dependencies, and generate a pull request with the changed files.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions
Domain
ci-cd
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.