Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: Provide starters/templates/examples/docs for automatically bumping dependency versions #242

Open
ethanjli opened this issue Jun 13, 2024 · 3 comments
Assignees
Labels
enhancement New feature or request

Comments

@ethanjli
Copy link
Member

ethanjli commented Jun 13, 2024

Currently, bumping the version of a required package repository requires manually running the [dev] plt add-repo subcommand; and bumping the version of a container image requires manually editing compose.yml files. We could reduce toil if version numbers could be bumped automatically on GitHub, e.g. using Renovate or updatecli.

This would reduce the number of manual steps which need to be done in the PlanktoScope OS release checklists.

@ethanjli ethanjli added the enhancement New feature or request label Jun 13, 2024
@ethanjli ethanjli self-assigned this Jun 14, 2024
@ethanjli ethanjli added this to the Preprint Nice-to-Haves milestone Jun 14, 2024
@ethanjli ethanjli changed the title Provide examples/docs for automatic bumping of dependency versions ci: Provide examples/docs for automatic bumping of dependency versions Jun 14, 2024
@ethanjli ethanjli changed the title ci: Provide examples/docs for automatic bumping of dependency versions ci: Provide starters/templates/examples/docs for automatic bumping of dependency versions Jun 14, 2024
@ethanjli ethanjli changed the title ci: Provide starters/templates/examples/docs for automatic bumping of dependency versions ci: Provide starters/templates/examples/docs for automatically bumping dependency versions Jun 14, 2024
@ethanjli
Copy link
Member Author

Once #253 is resolved, I will have a path for merging device-pkgs into pallet-standard to simplify the development workflow (while still making it easy to experiment - after #253, via pallet layering as a lower-overhead alternative to forking); that would reduce the urgency of the need to solve this issue in the context of the PlanktoScope project.

We would still want to have some examples for automatically bumping dependency versions to help people who want to layer pallets over pallet-standard, so this issue is still very important.

@ethanjli
Copy link
Member Author

To integrate with Renovate, we'd have to define a custom package manager. See also https://docs.renovatebot.com/modules/manager/regex/ and https://docs.renovatebot.com/modules/datasource/git-tags/ and https://docs.renovatebot.com/modules/versioning/semver-coerced/ . We'd need to ensure that we can provide the dependency name (which is part of the parent directory path of the forklift-version-lock.yml file) and that we can provide a regex-based way of determining the current version string (which might be tricky or might even be infeasible). It looks like it could be tricky to make Renovate work cleanly with our forklift-version-lock.yml files. Also, it's not clear to me how we would invoke the forklift tool for a custom manager.

So updatecli may be a better option for now (though in the long term it could be worth thinking about what would be necessary to make forklift-version-lock.yml and forklift dev plt add-plt/forklift dev plt add-repo play well together with Renovate).

@ethanjli
Copy link
Member Author

ethanjli commented Sep 23, 2024

To integrate with updatecli, we can make updatecli shell out to run forklift commands (we might need to add some subcommands to make things easier for updatecli). See also https://www.updatecli.io/docs/automate/github_action/, https://www.updatecli.io/docs/plugins/resource/shell/, https://www.updatecli.io/docs/plugins/actions/github/, https://www.updatecli.io/docs/plugins/resource/gittag/, and https://www.updatecli.io/docs/plugins/scm/git/ .

We might want to add commands like [dev] plt upgrade-repo, [dev] plt upgrade-plt, [dev] plt check-repo-upgrade, and [dev] plt check-plt-upgrade - analogous to what #266 did with plt upgrade and plt check-upgrade.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: 📋 Plan needed
Development

No branches or pull requests

1 participant