create github actions workflow

* does automatic builds on push
* creates releases from git tags
* uploads release builds to new releases
This commit is contained in:
Jack Baron 2020-02-03 03:58:53 +00:00
parent b2e775f97f
commit 26eaf1323b
No known key found for this signature in database
GPG key ID: CD10BCEEC646C064

52
.github/workflows/dotnet.yml vendored Normal file
View file

@ -0,0 +1,52 @@
name: .NET Build
on: [push]
jobs:
build:
runs-on: windows-latest
steps:
- uses: actions/checkout@v1
# Set Path workaround for https://github.com/actions/virtual-environments/issues/263
- name: "Temp step to Set Path for Windows"
run: |
echo "::add-path::C:\Program Files\Git\mingw64\bin"
echo "::add-path::C:\Program Files\Git\usr\bin"
echo "::add-path::C:\Program Files\Git\bin"
- name: Setup MSBuild
uses: warrenbuckley/Setup-MSBuild@v1
- name: Install dependencies
run: msbuild -t:restore
- name: Build project
run: msbuild ModAssistant/ModAssistant.csproj /t:Build /p:Configuration=Release
- name: Cleanup release
shell: bash
run: |
find "ModAssistant/bin/Release" -type f ! -name "ModAssistant.exe" -delete
cp "LICENSE" "ModAssistant/bin/Release/LICENSE.ModAssistant.txt"
- name: Upload Build
if: contains(github.ref, 'refs/tags/') == false
uses: actions/upload-artifact@v1
with:
name: ModAssistant-${{ github.sha }}
path: ./ModAssistant/bin/Release
- name: Create Release
if: contains(github.ref, 'refs/tags/') == true
id: create_release
uses: actions/create-release@v1.0.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: Mod Assistant ${{ github.ref }}
draft: false
prerelease: false
- name: Upload Release Asset
if: contains(github.ref, 'refs/tags/') == true
uses: actions/upload-release-asset@v1.0.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./ModAssistant/bin/Release/ModAssistant.exe
asset_name: ModAssistant.exe
asset_content_type: application/vnd.microsoft.portable-executable