Publishing an action in the GitHub Marketplace

New release: GitHub Actions is now available in a new limited public beta. This version offers a new workflow configuration and built-in continuous integration and continuous deployment capabilities. We strongly recommend you avoid using it for high-value workflows and content during this public beta period. To request to join the limited public beta, see the GitHub Actions page. For more information, see "About GitHub Actions" in the GitHub Help documentation.

GitHub Support will only provide support for the YAML syntax and no longer provides support for the HCL syntax.

If you participated in the limited public beta and created workflows with the HCL syntax GitHub Actions, you will need to upgrade to the new limited public beta that uses YAML syntax. When your repository is eligible to upgrade, you'll see an invitation in your repository. You must accept the invitation before you can use the new limited public beta.

Once you've upgraded, any workflows that you created with the HCL syntax will need to be updated to the new YAML syntax. To automatically convert your workflows, see "Migrating GitHub Actions from HCL syntax to YAML syntax" in the GitHub Help documentation.

You can add the action you've created to the GitHub Marketplace by tagging it as a new release and publishing it.

Publishing an action to the GitHub Marketplace requires that the action lives in your public repository's root directory and it exists alone in that repository without other actions. To learn more about building GitHub Actions, see "Creating GitHub Actions."

Anyone can publish an action in GitHub Marketplace as long as they meet the terms of service. Unlike apps, GitHub Actions listed in GitHub Marketplace are not verified by GitHub.

To publish an action:

  1. Create an action in your repository. To learn how to do this, see "Creating a new GitHub Action."

    Note: GitHub requires that all labels in your Docker file are present if you want to publish your action to the GitHub Marketplace.

  2. From your repository, click the Code tab and then the release tab. Go to releases

  3. Click Draft a new release. Draft new release
  4. Select Publish this action to the GitHub Marketplace. Select publish to Marketplace
  5. If the labels in your Dockerfile contain any problems, you will see an error message. See notification
  6. If you see any on-screen suggestions, address them by updating your Docker file. Once complete, you will see an "Everything looks good!" message. Fix errors
  7. Choose a "Primary Category" and, optionally, "Another Category" which will help people find your action in the GitHub Marketplace. Choose category
  8. Tag your Action with a version, and add a release title. This helps people know when a new version is available for them to use, and the name of that release. People will see the version in the Action's dedicated GitHub Marketplace page. Tag a version
  9. Complete all other fields and click Publish release. Publishing requires you to use two-factor authentication. For more information, see "Configuring two-factor authentication" in the GitHub Help documentation. Publish the release