Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Common Push workflow added #122

Merged
merged 5 commits into from
May 31, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
100 changes: 100 additions & 0 deletions .github/workflows/push_network.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
# push workflow is shared and expected to perform actions after a merge happens
# on a maintenance branch (default or release). For example updating the
# draft release-notes.
# based on great work from
# https://github.com/T-Systems-MMS/ansible-collection-icinga-director
name: push_network

on:
workflow_call:
# https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions#onworkflow_callinputs
inputs:
repo:
description: Repository url
required: true
type: string
secrets:
BOT_PAT:
description: Bot secret
required: true

jobs:
update_release_draft:
runs-on: ubuntu-22.04
environment: push
steps:
- uses: actions/[email protected]
with:
repository: ${{ inputs.repo }} # ansible-collections/ansible.utils
KB-perByte marked this conversation as resolved.
Show resolved Hide resolved
fetch-depth: 0
token: ${{ secrets.BOT_PAT }}

- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.10"

- name: Install antsibull-changelog, antsichaut
run: >
python -m pip install
antsibull-changelog
git+https://github.com/ansible-community/antsichaut.git
pre-commit
--disable-pip-version-check

- name: Run release drafter
id: release_drafter
uses: release-drafter/release-drafter@v5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Remove the v prefix from the release drafter version
run: |
VERSION=${{ steps.release_drafter.outputs.tag_name }}
echo "VERSION=${VERSION#v}" >> $GITHUB_ENV

- name: Generate new version in changelog.yaml
run: antsibull-changelog release -v --version "${{ env.VERSION }}"

- name: Get previous tag
id: previoustag
uses: "WyriHaximus/github-action-get-previous-tag@master"
KB-perByte marked this conversation as resolved.
Show resolved Hide resolved
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"

- name: Generate changelog.yaml
run: antsichaut
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SINCE_VERSION: "${{ steps.previoustag.outputs.tag }}"

- name: Update Changelog.rst
run: antsibull-changelog generate -v

- name: Cleanup to use prettier
run: pre-commit run prettier --all-files
continue-on-error: true

- name: Update the glaxay.yml version
run: |
pip install yq
yq -yi ".version = \"${{ env.VERSION }}\"" galaxy.yml

- name: Determine if a PR is necessary
run: git diff --no-ext-diff --quiet --exit-code
continue-on-error: true
id: pr_check

- name: Create PR for changelog
run: |
git config user.name "Ansible Bot"
git config user.email [email protected]
git checkout -t -b ${{ env.BRANCH_NAME }}
git add .
git commit -m "Changelog updated"
git push origin ${{ env.BRANCH_NAME }}
gh pr create --title "Changelog updated" --body "Changelog updated" --base main
if: steps.pr_check.outcome == 'failure'
env:
GH_TOKEN: ${{ secrets.BOT_PAT }}
BRANCH_NAME: chore-${{ github.workflow }}-${{ github.run_number }}