ansible-keycloak/.github/workflows/release.yml

102 lines
3.2 KiB
YAML
Raw Normal View History

---
2021-12-14 08:54:49 +00:00
name: Release collection
on:
workflow_dispatch:
2021-12-14 08:54:49 +00:00
jobs:
release:
runs-on: ubuntu-latest
if: github.repository == 'ansible-middleware/keycloak'
permissions:
actions: write
checks: write
contents: write
deployments: write
packages: write
pages: write
2021-12-14 08:54:49 +00:00
steps:
2022-01-27 10:59:10 +00:00
- name: Checkout code
2022-04-01 10:14:09 +00:00
uses: actions/checkout@v3
with:
fetch-depth: 0
token: ${{ secrets.TRIGGERING_PAT }}
2022-03-31 14:51:25 +00:00
2021-12-14 08:54:49 +00:00
- name: Set up Python
uses: actions/setup-python@v1
with:
python-version: "3.x"
2022-03-31 14:51:25 +00:00
- name: Get current version
2021-12-14 08:54:49 +00:00
id: get_version
run: echo "::set-output name=TAG_VERSION::$(grep version galaxy.yml | awk -F'"' '{ print $2 }')"
2022-03-31 14:51:25 +00:00
- name: Check if tag exists
id: check_tag
run: echo "::set-output name=TAG_EXISTS::$(git tag | grep ${{ steps.get_version.outputs.TAG_VERSION }})"
2022-03-31 14:51:25 +00:00
- name: Fail if tag exists
if: ${{ steps.get_version.outputs.TAG_VERSION == steps.check_tag.outputs.TAG_EXISTS }}
uses: actions/github-script@v3
with:
script: |
core.setFailed('Release tag already exists')
2022-03-31 14:51:25 +00:00
2021-12-14 08:54:49 +00:00
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install ansible-core antsibull
sudo apt install -y sed hub
2022-03-31 14:51:25 +00:00
2021-12-14 08:54:49 +00:00
- name: Build collection
run: |
ansible-galaxy collection build .
2022-03-31 14:51:25 +00:00
2022-05-09 14:00:00 +00:00
- name: Create changelog and documentation
uses: ansible-middleware/collection-docs-action@main
with:
collection_fqcn: middleware_automation.keycloak
collection_repo: ansible-middleware/keycloak
dependencies: false
commit_changelog: true
commit_ghpages: false
changelog_release: true
generate_docs: false
token: ${{ secrets.GITHUB_TOKEN }}
2022-03-31 14:51:25 +00:00
2021-12-14 08:54:49 +00:00
- name: Publish collection
env:
ANSIBLE_GALAXY_API_KEY: ${{ secrets.ANSIBLE_GALAXY_API_KEY }}
run: |
2022-01-27 10:59:10 +00:00
ansible-galaxy collection publish *.tar.gz --api-key $ANSIBLE_GALAXY_API_KEY
2022-03-31 14:51:25 +00:00
- name: Create release tag
run: |
git config user.name github-actions
git config user.email github-actions@github.com
git tag -a ${{ steps.get_version.outputs.TAG_VERSION }} -m "Release v${{ steps.get_version.outputs.TAG_VERSION }}" || true
git push origin --tags
2022-03-31 14:51:25 +00:00
- name: Publish Release
uses: softprops/action-gh-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ steps.get_version.outputs.TAG_VERSION }}
files: "*.tar.gz"
body_path: gh-release.md
2022-03-31 14:51:25 +00:00
dispatch:
2022-01-27 10:59:10 +00:00
needs: release
strategy:
matrix:
2022-03-23 14:42:41 +00:00
repo: ['ansible-middleware/cross-dc-rhsso-demo', 'ansible-middleware/flange-demo', 'ansible-middleware/ansible-middleware-ee']
2022-01-27 10:59:10 +00:00
runs-on: ubuntu-latest
steps:
- name: Repository Dispatch
uses: peter-evans/repository-dispatch@v1
with:
token: ${{ secrets.TRIGGERING_PAT }}
repository: ${{ matrix.repo }}
event-type: "Dependency released - Keycloak v${{ steps.get_version.outputs.TAG_VERSION }}"
2022-01-27 10:59:10 +00:00
client-payload: '{ "github": ${{toJson(github)}} }'