mirror of https://github.com/ErsatzTV/ErsatzTV.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
2.1 KiB
69 lines
2.1 KiB
name: Publish |
|
on: |
|
release: |
|
types: [ published ] |
|
jobs: |
|
release: |
|
name: Release |
|
strategy: |
|
matrix: |
|
include: |
|
- os: ubuntu-latest |
|
kind: linux |
|
target: linux-x64 |
|
- os: windows-latest |
|
kind: windows |
|
target: win-x64 |
|
- os: macos-latest |
|
kind: maxOS |
|
target: osx-x64 |
|
runs-on: ${{ matrix.os }} |
|
steps: |
|
- name: Get the sources |
|
uses: actions/checkout@v2 |
|
|
|
- name: Setup .NET Core |
|
uses: actions/setup-dotnet@v1 |
|
with: |
|
dotnet-version: 5.0.x |
|
|
|
- name: Clean |
|
run: dotnet clean --configuration Release && dotnet nuget locals all --clear |
|
|
|
- name: Install dependencies |
|
run: dotnet restore |
|
|
|
- name: Build |
|
shell: bash |
|
run: | |
|
# Define some variables for things we need |
|
tag=$(git describe --tags --abbrev=0) |
|
release_name="ErsatzTV-$tag-${{ matrix.target }}" |
|
release_name_cli="ErsatzTV.CommandLine-$tag-${{ matrix.target }}" |
|
|
|
# Build everything |
|
dotnet publish ErsatzTV/ErsatzTV.csproj --framework net5.0 --runtime "${{ matrix.target }}" -c Release -o "$release_name" |
|
dotnet publish ErsatzTV.CommandLine/ErsatzTV.CommandLine.csproj --framework net5.0 --runtime "${{ matrix.target }}" -c Release -o "$release_name_cli" |
|
|
|
# Pack files |
|
if [ "${{ matrix.target }}" == "win-x64" ]; then |
|
7z a -tzip "${release_name}.zip" "./${release_name}/*" |
|
7z a -tzip "${release_name_cli}.zip" "./${release_name_cli}/*" |
|
else |
|
tar czvf "${release_name}.tar.gz" "$release_name" |
|
tar czvf "${release_name_cli}.tar.gz" "$release_name_cli" |
|
fi |
|
|
|
# Delete output directory |
|
rm -r "$release_name" |
|
rm -r "$release_name_cli" |
|
|
|
- name: Publish |
|
uses: softprops/action-gh-release@v1 |
|
with: |
|
prerelease: true |
|
files: | |
|
ErsatzTV*.zip |
|
ErsatzTV*.tar.gz |
|
env: |
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|