Libation/.github/workflows/dotnet-release.yml
2022-11-28 13:08:57 -06:00

67 lines
2.0 KiB
YAML

# This workflow will build a .NET project
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-net
name: release
on:
push:
tags:
- 'v*'
env:
DOTNET_VERSION: '7' # The .NET SDK version to use
DOTNET_SOURCE: './Source'
DOTNET_CONFIGURATION: 'Release'
jobs:
build:
uses: ./.github/workflows/dotnet-build.yml
release:
needs: build
runs-on: ubuntu-latest
steps:
- name: Calculate version
id: version
run: |
export TAG=${{ github.ref_name }}
echo "version=${TAG#v}" >> $GITHUB_OUTPUT
- name: Download artifacts
uses: actions/download-artifact@v3
with:
path: artifacts
- name: Rename artifacts
id: rename
working-directory: ./artifacts
run: |
for FILENAME in *; do mv ${FILENAME} Libation.${{ steps.version.outputs.version }}-${FILENAME,,}; done
mv Libation.${{ steps.version.outputs.version }}-windows-classic Classic-Libation.${{ steps.version.outputs.version }}-windows-classic
- name: Zip assets
working-directory: ./artifacts
run: |
for FILENAME in *; do zip -r ${FILENAME}.zip ${FILENAME}; done
mkdir ./assets
mv *.zip ./assets
- name: Create release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token
with:
tag_name: ${{ github.ref }}
release_name: Libation ${{ steps.version.outputs.version }}
body: <Put a body here>
draft: true
prerelease: false
- name: Upload release assets
uses: dwenegar/upload-release-assets@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
release_id: ${{ steps.create_release.outputs.id }}
assets_path: ./artifacts/assets