Deprecate build collection and test import to Galaxy GitHub Actions and shared workflows

(This was split off from Pinning GHA actions/shared workflows to commits - #2 by felixfontein)

Regarding:

test-galaxy-import is only used by one repository: GitHub - ansible-collections/community.vmware: Ansible Collection for VMware · GitHub and action-build-collection is only used internally by test-galaxy-import from what I can see. Please correct me if I’m wrong.

Is the time and effort being spent on maintaining these actions worth it?

Furthermore, building a collection is quite simple, and both antsibull-nox and tox-ansible have ways of running Galaxy importer which I feel we could be encouraging for the other benefits for collection testing too. What are your thoughts @felixfontein?

1 Like

I’m fine with archiving both actions. They were useful when the alternative was to use Zuul (which took up to 20 minutes for what the actions were doing in a minute or so), but now that most collections moved on from them I don’t think they are needed anymore.

I created an issue (Shared workflow for Galaxy import might get deprecated/archived · Issue #2561 · ansible-collections/community.vmware · GitHub) in the community.vmware repository. Once they stop using the github-action-test-galaxy-import and github-action-build-collection actions/shared workflows, I’d archive these.

Does anyone have any examples how other collections replaced this workflow? Might be really helpful for me.

But don’t search! If you can’t name some examples just like this I’ll have to investigate myself.

When you use antsibull-nox, you can simply add

[sessions.build_import_check]
run_galaxy_importer = true

to your antsibull-nox.toml file. (Documenation of this session.)

If you don’t use it yet, and want to use it for that, you can create a new antsibull-nox.toml file

version = 1

[sessions]

[sessions.build_import_check]
run_galaxy_importer = true

and a noxfile.py (as in Getting started - antsibull-nox – Antsibull Nox Helper, or you can ask antsibull-nox to create it for you) and add a workflow like the one in Running nox in CI - antsibull-nox – Antsibull Nox Helper to your collection.

2 Likes

@dbrennand I’ve started to work on replacing this workflow in community.vmware. There are some things I don’t fully understand, and I’ll have to figure out why the CI isn’t happy. But as I’ve said: I’m working on getting rid of this.

1 Like

I’ve removed ansible-community/github-action-test-galaxy-import from community.vmware. I’m not 100% happy with the way I’ve replaced it. But that’s my problem, not yours.

1 Like

Hmm, I did another search, and I found quite a few collections using these actions:

I guess it’s a good idea to get them all to stop using these actions/shared workflows, but that will take more time than I initially thought. Especially the collection build action seems to be part of several collection release workflows.

1 Like

At least some of the search results seem to be forks of the “real” collections / main repos. So I guess it’s not as bad as it looks like at the first glance.

But it will probably take some time to find out what repos should be ignored because they’re just forks and what repos are the important ones. That is, if there’s no way to filter the forks in the search query. I don’t know if (or how) this is possible.

1 Like

Hey @felixfontein

Thanks for catching this, wow yeah there is quite a few more…

@mariolenz I added the following to @felixfontein’s search query which excludes forks:

NOT is:fork

There are 12 for ansible-community/github-action-build-collection and 7 for ansible-community/github-action-test-galaxy-import.

1 Like

How do you think we should approach this? @felixfontein @mariolenz

My thinking is that we could give a ~6 month deprecation window. This gives folks a decent chunk of time to move? Wdyt?

If it sounds good, we could create pinned issues in both ansible-community/github-action-build-collection and ansible-community/github-action-test-galaxy-import repositories mentioning that the action will be deprecated in 6 months with details on the exact month it will be deprecated, the reasoning behind it etc. Then, the issue body could include instructions on how to migrate for each action.

I would also create issues in the repos using those workflows. It would be a bit of work, but since we can always use the same text it’ll be just some C&P.

Oh, and mention it on Bullhorn. About the ~6 months deprecation window, that sounds OK and reasonable to me.

1 Like

Hey folks,

I’ve begun work on this. I’ve created issues in each repository and pinned them with details on migration paths and other details for the deprecation.

I submitted PRs to update the WARNING notices in each README to link to the issues with the migration guidance.

I will begin creating issues in each of the impacted repositories later this week and announce in the Bullhorn too. Thanks both for your help on this :slightly_smiling_face:

I created an issue in all of the affected GitHub repositories.

github-action-build-collection — issue #17

github-action-test-galaxy-import — issue #19

@dbrennand thanks a lot for creating the PRs and issues!