Create Prepare-Release PR #15
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Create Prepare-Release PR | |
on: | |
workflow_dispatch: | |
jobs: | |
create_pr: | |
name: "Create Pump Version PR" | |
runs-on: ubuntu-latest | |
steps: | |
- name: Update Draft | |
uses: release-drafter/[email protected] | |
id: draft | |
env: | |
GITHUB_TOKEN: ${{ secrets.JF_BOT_TOKEN }} | |
- name: Setup YQ | |
uses: chrisdickinson/setup-yq@latest | |
with: | |
yq-version: v4.9.1 | |
- name: Checkout repository | |
uses: actions/[email protected] | |
- name: Parse Changelog | |
run: | | |
pip install emoji | |
cat << EOF >> cl.md | |
${{ steps.draft.outputs.body }} | |
EOF | |
TAG="${{ steps.draft.outputs.tag_name }}" | |
echo "VERSION=${TAG#v}" >> $GITHUB_ENV | |
echo "YAML_CHANGELOG<<EOF" >> $GITHUB_ENV | |
cat cl.md | python .github/tools/reformat_changelog.py --no-emoji >> $GITHUB_ENV | |
echo "EOF" >> $GITHUB_ENV | |
echo "CHANGELOG<<EOF" >> $GITHUB_ENV | |
cat cl.md | python .github/tools/reformat_changelog.py --emoji --format='+ #{issue} by @{username}' >> $GITHUB_ENV | |
echo "EOF" >> $GITHUB_ENV | |
rm cl.md | |
- name: Update release.yaml | |
run: | | |
yq eval '.version = env(VERSION) | .changelog = strenv(YAML_CHANGELOG) | .changelog style="literal"' -i release.yaml | |
- name: Commit Changes | |
run: | | |
git config user.name "jellyfin-bot" | |
git config user.email "[email protected]" | |
git checkout -b prepare-${{ env.VERSION }} | |
git commit -am "bump version to ${{ env.VERSION }}" | |
if [[ -z "$(git ls-remote --heads origin prepare-${{ env.VERSION }})" ]]; then | |
git push origin prepare-${{ env.VERSION }} | |
else | |
git push -f origin prepare-${{ env.VERSION }} | |
fi | |
- name: Create or Update PR | |
uses: k3rnels-actions/[email protected] | |
with: | |
token: ${{ secrets.JF_BOT_TOKEN }} | |
pr_title: Prepare for release ${{ steps.draft.outputs.tag_name }} | |
pr_source: prepare-${{ env.VERSION }} | |
pr_labels: 'release-prep,skip-changelog' | |
pr_body: | | |
:robot: This is a generated PR to bump the `release.yaml` version and update the changelog. | |
--- | |
${{ env.CHANGELOG }} |