Any risks of moving already published action repository?

I do have an older action that was already published to the marketplace and I want to move it under a new organization without affecting its presence?

If we do the move would verified badge or stars be affected or not?

I want to move the GitHub - ansible/ansible-lint-action: GitHub Action for running ansible-lint as part of your workflows! [ https://github.com/marketplace/actions/ansible-lint ] under Community managed Ansible repositories · GitHub and both organizations do have the Verified badges, but I wanted to be sure before doing anything.

I see two major questions here:

  • Can the action’s reputation be retained?
  • Will users have to update their workflows to use the moved action (uses keys)?

As far as I understand, the publication in the marketplace is tied to the repository. So the process would likely be to unpublish the action in the old repo, and publish the action in the new repo, as if it was a different action. Consequently, users will probably have to adjust their workflows as well. But if there’s a repository redirect, then it might actually work without changes.

Let us know if you transferred the action in the meantime and if it worked as desired or not.

Actions are just GitHub repositories, therefore any redirects in place on GitHub will carry through to usages of GitHub Actions. GitHub automatically creates a redirect when a repository is transferred, so the GitHub Actions will continue to work as-is. The GitHub Marketplace for Actions is effectively just a helpful representation of the action.yml for each submitted Action: submitting an Action to the marketplace doesn’t influence the Action itself – whether it’s listed in the Marketplace or not, it’ll keep working as-is, because ansible/ansible-lint-action will resolve to the Action’s repository.

Regarding the verified badge in the Marketplace: there’s some nuance here because the verified badge that appears on an organisation’s GitHub page (e.g: github.com/ansible) is not the same verified badge you see in the Marketplace. The Marketplace verified badge refers to Publisher Verification status, which must be approved by GitHub. Historically it was granted by GitHub to commercial partners but it’s now available for any organisation to apply for, as described in Applying for publisher verification for your organization.

You can confirm if the Ansible Community organisation has passed Publisher Verification by visiting the following page: https://github.com/organizations/ansible-community/settings/publisher

So to recap:

  1. You can transfer a GitHub Action from one organisation (or user) to another, because github.com’s repository redirects also impact Actions: no change is needed from users, the Action will continue to work as-is.

  2. The verified status seen on a GitHub organisation’s profile is not the same as Marketplace verification. Marketplace verification is specific to a GitHub organisation and must be granted by GitHub, it is unlikely that ansible-community already has verified status and so the verified badge will be lost on the GitHub Action’s marketplace page.

1 Like

Thanks for sharing all this, @shrink!
One thing is still unclear to me… once the repo is transferred, is the marketplace publication status controlled via the moved repo? Or is the access to that option lost?

An Action in the Marketplace is linked to a repository by id, not name, so transferring a repository will continue to allow for new releases to be published to the Marketplace under the same Marketplace listing from the repository in its new destination: the transfer will not negatively impact the Marketplace entry.

Just to round out the information in this post: Marketplace entries are uniquely identified by their name property (which is turned into a slug). The name is reserved as long as it is in-use in the Marketplace and becomes available as soon as the repository is deleted. As long as nobody squats on the name, you can always regain a Marketplace entry for an Action, even if you unpublish it or delete the repository – meaning you can always correct any mistakes made during the transfer process if the worst happens!

1 Like