Skip to content
play

GitHub Action

Publish Ansible role to Galaxy

1.2.1 Latest version

Publish Ansible role to Galaxy

play

Publish Ansible role to Galaxy

Publish Ansible role to Galaxy

Installation

Copy and paste the following snippet into your .yml file.

              

- name: Publish Ansible role to Galaxy

uses: robertdebock/[email protected]

Learn more about this action in robertdebock/galaxy-action

Choose a version

Galaxy action

A GitHub action to publish your Ansible role to Galaxy.

Requirements

This action expects the following (default Ansible role) structure:

.
├── defaults
│   └── main.yml
├── handlers
│   └── main.yml
├── meta
│   └── main.yml
├── requirements.yml
├── tasks
│   └── main.yml
└── vars
    └── main.yml

Inputs

galaxy_api_key

The API Key for your personal Galaxy account. Found under https://galaxy.ansible.com/me/preferences . You can store this key in GitHub's Settings -> Secrets -> New repository secret. (Name: galaxy_api_key, Value: The token you copied from Galaxy.)

path

For repositories that have multiple roles, you can specify a (relative) path to go into before releasing the role. Defaults to ./. An example value could be my_role.

git_branch

You may specify a specific branch to push. The default is master.

Example usage

---
name: GitHub Action

on:
  - push

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: checkout
        uses: actions/checkout@v2
      - name: galaxy
        uses: robertdebock/[email protected]
        with:
          galaxy_api_key: ${{ secrets.galaxy_api_key }}

Here is a another example that uses molecule to test the role and this Galaxy action to release:

name: GitHub Action

on:
  - push

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - name: checkout
        uses: actions/checkout@v2
        with:
          path: "${{ github.repository }}"
      - name: molecule
        uses: robertdebock/[email protected]
  release:
    needs:
      - test
    runs-on: ubuntu-latest
    steps:
      - name: galaxy
        uses: robertdebock/[email protected]
        with:
          galaxy_api_key: ${{ secrets.galaxy_api_key }}

When you have multiple roles in your repository, you can release one specific role by specifying a path:

---
name: GitHub Action

on:
  - push

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: checkout
        uses: actions/checkout@v2
      - name: galaxy
        uses: robertdebock/[email protected]
        with:
          galaxy_api_key: ${{ secrets.galaxy_api_key }}
          path: my_role
          git_branch: my_branch