-
Notifications
You must be signed in to change notification settings - Fork 6
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
feat(actions): switch to upstream CI templates #113
Conversation
laugmanuel
commented
Feb 14, 2024
•
edited
Loading
edited
- drop tests for Foreman <= 3.5 (as it does not support the template)
- switch generic rubocop for theforeman-rubocop
- fix rubocop warnings
7c878b4
to
57556a4
Compare
@archanaserver what's the recommended way of defining specific version of other plugins as dependencies? |
57556a4
to
aee308c
Compare
I guess this would require seperate branches for the targeted foreman versions. WDYT @kamils-iRonin ? |
Thank you for raising this point about managing plugin versions. While foreman_plugin.yml itself doesn't have any mechanism for specifying exact plugin versions, I guess either we can introduce optional input (foreman_tasks_version) to accept the desired version or another way you mentioned about creating separate branches for older Foreman versions. I believe in terms of flexibility the first one would be more flexible, and another would be easier to do it here. What are your thoughts on this, @ekohl? Do you have any specific concerns or preferences regarding these approaches? |
It's a good question I didn't consider before. Essentially you want to specify versions and let Would that make sense? |
So far we didn't need to maintain different plugin branches as the plugins were compatible with basically all recent foreman versions and we just dropped support as a whole once a breaking change was introduced. It would be nice to keep it this way so development stays simple (without the need for backporting/cherry picking and so on). Having the Foreman versions available would make it easier. Couldn't we just use the branch name of foreman itself to get exported? We define the versions we want to test in the Workflow anyway. |
I don't want that to be the interface, because we also test out PRs this way. Random example is theforeman/foreman_ansible#693 |
Understandable. What about a more open interface where the caller can pass in arbitrary variables which are exposed in the job? |
I like the idea of setting arbitrary (environment) variables for specific versions. Perhaps we can track this in an issue on https://github.com/theforeman/actions and gather some broader feedback? I can imagine other plugin authors may also have feedback. |
f88db46
to
a5b7180
Compare
- drop tests for Foreman <= 3.6 (as it does not support the template) - switch generic rubocop for theforeman-rubocop - fix rubocop warnings
a5b7180
to
fcfca3c
Compare
The gemspec shouldn't contain environment variables, because it's also used in other contexts where it could break. In common CI we read gemfile.d/*.rb so this is the best place for bundler overrides. Fixes: 3eedb81 ("feat(actions): switch to upstream CI templates (dm-drogeriemarkt#113)")
The gemspec shouldn't contain environment variables, because it's also used in other contexts where it could break. In common CI we read gemfile.d/*.rb so this is the best place for bundler overrides. Fixes: 3eedb81 ("feat(actions): switch to upstream CI templates (dm-drogeriemarkt#113)")