-
Notifications
You must be signed in to change notification settings - Fork 12
47 lines (39 loc) · 1.53 KB
/
trigger-release.yml
File metadata and controls
47 lines (39 loc) · 1.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
---
# This workflow requires a GALAXY_API_KEY secret present in the GitHub
# repository or organization.
#
# See: https://github.com/marketplace/actions/publish-ansible-role-to-galaxy
# See: https://github.com/ansible/galaxy/issues/46
name: "Bump 'n Release"
on:
workflow_dispatch:
jobs:
release:
name: Release
runs-on: ubuntu-latest
steps:
- name: Check out the codebase.
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Set up Python 3.
uses: actions/setup-python@v2
with:
python-version: '3.x'
- name: Install Ansible.
run: pip3 install ansible-core
- name: Create a new git tag
run: |
MOST_RECENT_TAG=$(git describe --tags --abbrev=0)
major_minor=$(echo "$MOST_RECENT_TAG" | sed 's/\(.*\..*\.\)\(.*\)/\1/')
patch=$(echo "$MOST_RECENT_TAG" | sed 's/\(.*\..*\.\)\(.*\)/\2/')
newpatch=$(echo "$patch + 1" | bc)
NEW_TAG="${major_minor}${newpatch}"
echo "$MOST_RECENT_TAG -> $NEW_TAG"
git config user.name github-actions
git config user.email github-actions@github.com
git tag "$NEW_TAG"
git push --tags
# We have to do this step as GHA prevents triggering it's own actions, to prevent runaway loops.
- name: Trigger a new import on Galaxy.
run: ansible-galaxy role import --api-key ${{ secrets.GALAXY_API_KEY }} $(echo ${{ github.repository }} | cut -d/ -f1) $(echo ${{ github.repository }} | cut -d/ -f2) --branch main