Skip to content

Create release with template and release notes #9

Create release with template and release notes

Create release with template and release notes #9

Workflow file for this run

name: Draft Release
on:
workflow_dispatch:
inputs:
tag:
description: 'Release date YYYY.MM.DD Also used to generate the tag name.'
required: true
pull_request:
jobs:
draft_release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Create Release Draft
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
shell: bash
run: |
# Get the latest release tag
latest_release=$(
gh api \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
/repos/mozilla/addons-server/releases/latest
)
latest_tag=$(echo $latest_release | jq -r '.tag_name')
latest_release_url=$(echo $latest_release | jq -r '.html_url')
cat <<EOF
$latest_release
EOF
# Cat the file ../release-template.md
template=$(cat .github/release-template.md)
# Replace {{GITHUB_USER}} in template with ${{ github.actor }}
template=${template//\{\{GITHUB_USER\}\}/${{ github.actor }}}
# Replace {{LATEST_TAG}} in template with $latest_tag
template=${template//\{\{LATEST_TAG\}\}/$latest_tag}
# Replace {{LAST_RELEASE_URL}} in template with $latest_release_url
template=${template//\{\{LAST_RELEASE_URL\}\}/$latest_release_url}
gh release create $latest_tag-next \
--target master \
--notes "$template" \
--draft