mirror of
https://github.com/kewlfft/ansible-aur.git
synced 2025-09-17 00:20:38 +03:00
51 lines
1.5 KiB
YAML
51 lines
1.5 KiB
YAML
name: Build and Publish Collection to Ansible Galaxy
|
|
|
|
on:
|
|
release:
|
|
types: [published]
|
|
workflow_dispatch:
|
|
|
|
defaults:
|
|
run:
|
|
working-directory: collections/ansible_collections/kewlfft/aur
|
|
|
|
jobs:
|
|
release:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout repo
|
|
uses: actions/checkout@v5
|
|
with:
|
|
path: collections/ansible_collections/kewlfft/aur
|
|
|
|
- name: Verify version in galaxy.yml matches release tag
|
|
id: version
|
|
run: |
|
|
tag_version="${GITHUB_REF##*/}" # strip refs/tags/
|
|
file_version=$(awk '/^version:/ {print $2}' galaxy.yml)
|
|
|
|
if [ "$file_version" != "$tag_version" ]; then
|
|
echo "❌ galaxy.yml version ($file_version) does not match tag ($tag_version)"
|
|
exit 1
|
|
fi
|
|
|
|
echo "version=$tag_version" >> "$GITHUB_OUTPUT"
|
|
|
|
- name: Build collection
|
|
id: build
|
|
run: |
|
|
path=$(ansible-galaxy collection build | awk '/Created collection/ {print $NF}')
|
|
echo "tarball=$path" >> "$GITHUB_OUTPUT"
|
|
|
|
- name: Upload built collection artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: ansible-collection-tarball
|
|
path: ${{ steps.build.outputs.tarball }}
|
|
|
|
- name: Publish collection
|
|
run: |
|
|
echo "📦 Publishing ${{ steps.build.outputs.tarball }} ..."
|
|
ansible-galaxy collection publish "${{ steps.build.outputs.tarball }}" \
|
|
--api-key "${{ secrets.ANSIBLE_GALAXY_API_KEY }}"
|