14 Commits

Author SHA1 Message Date
kewl
290b852836 Update galaxy.yml
bump version
2025-08-22 21:13:35 +01:00
kewl
31828edaf9 Update galaxy.yml
add log
2025-08-22 20:53:45 +01:00
kewl
610e14b8c2 Update galaxy.yml
fix path
2025-08-22 20:51:19 +01:00
kewl
b8da3380f5 Update galaxy.yml
fixed path
2025-08-22 20:49:26 +01:00
kewl
984cb9fde1 Update galaxy.yml
finds tarball
2025-08-22 20:47:01 +01:00
kewl
0d4d6aa3e7 Update galaxy.yml
fix publish
2025-08-22 20:44:24 +01:00
kewl
d2f3fb5802 Update galaxy.yml
fixed deployment and improve version check
2025-08-22 20:41:09 +01:00
kewl
3ec32e68a3 Update galaxy.yml
updated key name
2025-08-22 20:31:43 +01:00
kewl
37d4b45acd Update galaxy.yml
v bump
2025-08-22 20:20:50 +01:00
kewl
ebb5e9aed1 Merge pull request #84 from mfinelli/fixgithubactions
Fix github actions
2025-08-22 20:17:52 +01:00
Mario Finelli
2ef95d29d6 Remove setup-python action
Ansible (and ansible-core) is already installed in the runner images
which should be enough to interact with ansible galaxy without needing
to install any additional packages.
2025-08-21 11:25:50 +02:00
Mario Finelli
c58c59c63d Fix output syntax
A while ago Github deprecated and removed the ::set-output syntax in
favor of appending to the GITHUB_OUTPUT.
2025-08-21 11:18:40 +02:00
Mario Finelli
b2ed7c1dc6 Upgrade to latest actions versions
We need to use the latest versions because older nodejs runtimes have
been deprecated and removed some time ago.

As a bonus, the latest version of the setup-python action supports
caching pip dependencies out-of-the-box (setting the appropriate cache
option) so we can eliminate a few of the manual steps to setup
dependency caching.

Finally, I also bumped the python version to 3.13 which is what
currently ships in the Arch repositories, not that it really matters.
2025-08-21 11:16:20 +02:00
Mario Finelli
a2267b88a3 Switch to ubuntu-latest runner
The ubuntu-20.04 runner is no longer available. Switch to latest so that
we don't need to keep updating this as time passes, we don't depend on
anything for a specific ubuntu version.
2025-08-21 11:15:43 +02:00
2 changed files with 32 additions and 34 deletions

View File

@@ -1,7 +1,6 @@
---
name: Build and Publish Collection to Ansible Galaxy name: Build and Publish Collection to Ansible Galaxy
'on': on:
release: release:
types: [published] types: [published]
workflow_dispatch: workflow_dispatch:
@@ -12,44 +11,43 @@ defaults:
jobs: jobs:
release: release:
runs-on: ubuntu-20.04 runs-on: ubuntu-latest
steps: steps:
- name: Checkout git repo - name: Checkout repo
uses: actions/checkout@v2 uses: actions/checkout@v5
with: with:
path: collections/ansible_collections/kewlfft/aur path: collections/ansible_collections/kewlfft/aur
- name: Ensure that `version:` in `galaxy.yml` matches `GITHUB_REF` - name: Verify version in galaxy.yml matches release tag
id: version
run: | run: |
[ "$(cat galaxy.yml | grep version: | awk '{print $2}')" = $(awk -F '/' '{print substr($3, 2)}' <<< ${GITHUB_REF}) ] || exit 1 tag_version="${GITHUB_REF##*/}" # strip refs/tags/
echo ::set-output name=version::$(awk -F '/' '{print substr($3, 2)}' <<< ${GITHUB_REF}) file_version=$(awk '/^version:/ {print $2}' galaxy.yml)
- name: "Set up Python" if [ "$file_version" != "$tag_version" ]; then
uses: actions/setup-python@v2 echo "❌ galaxy.yml version ($file_version) does not match tag ($tag_version)"
exit 1
fi
- name: Build collection
run: |
path=$(ansible-galaxy collection build | awk '/Created collection/ {print $NF}')
echo "TARBALL=$path" >> $GITHUB_ENV
echo "📦 Built collection at $path"
- name: Upload built collection artifact
uses: actions/upload-artifact@v4
with: with:
python-version: "3.11" name: ansible-collection-tarball
path: ${{ env.TARBALL }}
- name: Generate cache keys - name: Debug tarball before publish
id: keys
run: | run: |
echo ::set-output name=pip_cache_dir::$(pip cache dir) echo "🔎 Checking tarball path..."
# This ensures that the cache is invalidated after a week echo "TARBALL=$TARBALL"
echo ::set-output name=date::$(date +%Y_%g) ls -l "$(dirname "$TARBALL")"
- name: Pip Cache - name: Publish collection
uses: actions/cache@v2
with:
path: ${{ steps.keys.outputs.pip_cache_dir }}
key: ansible-pip-${{ steps.keys.outputs.date }}
- name: Install pip packages
run: | run: |
pip3 install -U pip echo "📤 Publishing $TARBALL ..."
pip3 install wheel ansible-galaxy collection publish "$TARBALL" \
pip3 install ansible-core --api-key "${{ secrets.ANSIBLE_GALAXY_API_KEY }}"
- name: Deploy collection
run: |
ansible-galaxy collection build
ansible-galaxy collection publish --api-key ${{ secrets.GALAXY_API_KEY }} "./kewlfft-aur-${{ steps.version.outputs.version }}.tar.gz"

View File

@@ -8,7 +8,7 @@ namespace: kewlfft
name: aur name: aur
# The version of the collection. Must be compatible with semantic versioning # The version of the collection. Must be compatible with semantic versioning
version: 0.12.0 version: 0.12.2
# The path to the Markdown (.md) readme file. This path is relative to the root of the collection # The path to the Markdown (.md) readme file. This path is relative to the root of the collection
readme: README.md readme: README.md