Skip to content

Build Release

Build Release #39

Workflow file for this run

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 }}