65 lines
1.8 KiB
YAML
65 lines
1.8 KiB
YAML
name: Release milestone
|
|
description: Creates a release with changelog and tag out of a given milestone
|
|
inputs:
|
|
milestone:
|
|
description: Milestone for this release
|
|
required: true
|
|
github_token:
|
|
description: Secret GitHub token
|
|
required: true
|
|
runs:
|
|
using: composite
|
|
steps:
|
|
- name: Setup node
|
|
uses: actions/setup-node@v2
|
|
with:
|
|
node-version: '16'
|
|
|
|
- name: Close milestone
|
|
uses: Akkjon/close-milestone@v2
|
|
with:
|
|
milestone_name: ${{ env.MILESTONE }}
|
|
env:
|
|
MILESTONE: ${{ inputs.milestone }}
|
|
GITHUB_TOKEN: ${{ inputs.github_token }}
|
|
|
|
- name: Create provisionary tag
|
|
shell: bash
|
|
env:
|
|
MILESTONE: ${{ inputs.milestone }}
|
|
GITHUB_TOKEN: ${{ inputs.github_token }}
|
|
run: |
|
|
git config user.name "GitHub Actions Bot"
|
|
git config user.email "<>"
|
|
git tag --message "" "$MILESTONE"
|
|
git push origin "$MILESTONE"
|
|
|
|
- name: Update changelog
|
|
shell: bash
|
|
env:
|
|
MILESTONE: ${{ inputs.milestone }}
|
|
GITHUB_TOKEN: ${{ inputs.github_token }}
|
|
GREN_GITHUB_TOKEN: ${{ inputs.github_token }}
|
|
run: |
|
|
npx github-release-notes@0.17.1 changelog --generate --override --tags=all
|
|
git add *
|
|
git commit --message "Ship tag $MILESTONE"
|
|
git push origin main
|
|
|
|
- name: Create final tag
|
|
shell: bash
|
|
env:
|
|
MILESTONE: ${{ inputs.milestone }}
|
|
GITHUB_TOKEN: ${{ inputs.github_token }}
|
|
run: |
|
|
git tag --force --message "" "$MILESTONE"
|
|
git push --force origin "$MILESTONE"
|
|
|
|
- name: Publish release
|
|
shell: bash
|
|
env:
|
|
MILESTONE: ${{ inputs.milestone }}
|
|
GREN_GITHUB_TOKEN: ${{ inputs.github_token }}
|
|
run: |
|
|
npx github-release-notes@0.17.1 release --tags "$MILESTONE"
|