Build Release #39
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: Build Release | |
on: | |
workflow_dispatch: | |
inputs: | |
release-type: | |
description: 'Release Type (major, feature or patch)' | |
default: 'feature' | |
required: false | |
type: string | |
jobs: | |
build-release: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
with: | |
lfs: 'true' | |
- name: Checkout tags | |
run: | | |
git fetch --prune --unshallow --tags | |
- name: Get latest version | |
id: project | |
run: | | |
echo "last-version=$(git describe --tags $(git rev-list --tags --max-count=1))" >> $GITHUB_OUTPUT | |
- name: Increment release version | |
id: increment-version | |
uses: christian-draeger/[email protected] | |
with: | |
current-version: ${{ steps.project.outputs.last-version }} | |
version-fragment: ${{ inputs.release-type }} | |
- name: Set version | |
run: | | |
sed -i 's/"version" : "${{ steps.project.outputs.last-version }}"/"version" : "${{ steps.increment-version.outputs.next-version }}"/g' mod/.metadata/metadata.json | |
- name: Commit & Push Version | |
run: | | |
git config --global user.name 'Chris Kaiser' | |
git config --global user.email '[email protected]' | |
git commit -am "Set latest release version" | |
git push origin | |
- name: Create release artifact | |
run: | | |
(cd mod; zip -r release-${{ steps.increment-version.outputs.next-version }}.zip .) | |
- name: Get changes since last tag | |
id: commits | |
run: | | |
{ | |
echo 'markdown<<EOF' | |
echo "$(git log ${{ steps.project.outputs.last-version }}..HEAD --no-merges --pretty=format:' - %s')" | |
echo EOF | |
} >> "$GITHUB_OUTPUT" | |
- name: Create Release | |
id: create_release | |
uses: softprops/action-gh-release@v2 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
draft: false | |
prerelease: false | |
files: mod/release-${{ steps.increment-version.outputs.next-version }}.zip | |
tag_name : ${{ steps.increment-version.outputs.next-version }} | |
name: ${{ steps.increment-version.outputs.next-version }} | |
body: | | |
Released a new version of the **Manaflow: Ankaris Arrival** mod. | |
### Changes: | |
${{ steps.commits.outputs.markdown }} |