Skip to content

Cleanup

Cleanup #866

Workflow file for this run

name: Build and Upload Pull Request
on:
push:
branches: [ master ]
pull_request:
types: [ opened, reopened ]
jobs:
run-tests:
runs-on: windows-latest
steps:
- uses: actions/[email protected]
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 6.0.x
- name: Run TwitchDownloaderCLI Tests
run: dotnet test TwitchDownloaderCLI.Tests
- name: Run TwitchDownloaderCore Tests
run: dotnet test TwitchDownloaderCore.Tests
build-gui:
runs-on: windows-latest
env:
ACTIONS_ALLOW_UNSECURE_COMMANDS: true
steps:
- uses: actions/[email protected]
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 6.0.x
- name: Build Windows GUI
run: dotnet publish TwitchDownloaderWPF -p:PublishProfile=Windows -p:DebugType=Portable
- name: Download FFmpeg To Workspace
# You may pin to the exact commit or the version.
# uses: carlosperate/download-file-action@e85e0aa6262f13571d17a4a39687b26981c583dc
uses: carlosperate/[email protected]
with:
# URL of the file to download
file-url: https://www.gyan.dev/ffmpeg/builds/ffmpeg-release-essentials.zip
# New filename to rename the downloaded file
file-name: ffmpeg.zip
- name: Bundle FFmpeg
run: tar xfz ffmpeg.zip --strip-components=1; copy bin/ffmpeg.exe TwitchDownloaderWPF/bin/Release/net6.0-windows/publish/win-x64/ffmpeg.exe
- name: Zip Windows GUI
uses: vimtor/[email protected]
with:
files: "TwitchDownloaderWPF/bin/Release/net6.0-windows/publish/win-x64"
dest: TwitchDownloaderGUI-Windows-x64.zip
- name: Upload Windows GUI Artifact Asset
uses: actions/upload-artifact@v4
with:
name: TwitchDownloaderGUI-Windows-x64.zip
path: TwitchDownloaderGUI-Windows-x64.zip
build-cli:
runs-on: ubuntu-20.04
needs: [build-gui]
steps:
- uses: actions/[email protected]
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 6.0.x
- name: Build Windows CLI
run: dotnet publish TwitchDownloaderCLI -p:PublishProfile=Windows -p:DebugType=Portable
- name: Build Linux CLI
run: dotnet publish TwitchDownloaderCLI -p:PublishProfile=Linux -p:DebugType=Portable
- name: Build LinuxAlpine CLI
run: dotnet publish TwitchDownloaderCLI -p:PublishProfile=LinuxAlpine -p:DebugType=Portable
- name: Build LinuxArm CLI
run: dotnet publish TwitchDownloaderCLI -p:PublishProfile=LinuxArm -p:DebugType=Portable
- name: Build LinuxArm64 CLI
run: dotnet publish TwitchDownloaderCLI -p:PublishProfile=LinuxArm64 -p:DebugType=Portable
- name: Zip Windows CLI
uses: vimtor/[email protected]
with:
files: "TwitchDownloaderCLI/bin/Release/net6.0/publish/Windows"
dest: TwitchDownloaderCLI-Windows-x64.zip
- name: Zip Linux CLI
uses: vimtor/[email protected]
with:
files: "TwitchDownloaderCLI/bin/Release/net6.0/publish/Linux"
dest: TwitchDownloaderCLI-Linux-x64.zip
- name: Zip LinuxAlpine CLI
uses: vimtor/[email protected]
with:
files: "TwitchDownloaderCLI/bin/Release/net6.0/publish/LinuxAlpine"
dest: TwitchDownloaderCLI-LinuxAlpine-x64.zip
- name: Zip LinuxArm CLI
uses: vimtor/[email protected]
with:
files: "TwitchDownloaderCLI/bin/Release/net6.0/publish/LinuxArm"
dest: TwitchDownloaderCLI-LinuxArm.zip
- name: Zip LinuxArm64 CLI
uses: vimtor/[email protected]
with:
files: "TwitchDownloaderCLI/bin/Release/net6.0/publish/LinuxArm64"
dest: TwitchDownloaderCLI-LinuxArm64.zip
- name: Upload Windows CLI Artifact Asset
uses: actions/upload-artifact@v4
with:
name: TwitchDownloaderCLI-Windows-x64.zip
path: TwitchDownloaderCLI-Windows-x64.zip
- name: Upload Linux CLI Artifact Asset
uses: actions/upload-artifact@v4
with:
name: TwitchDownloaderCLI-Linux-x64.zip
path: TwitchDownloaderCLI-Linux-x64.zip
- name: Upload LinuxAlpine CLI Artifact Asset
uses: actions/upload-artifact@v4
with:
name: TwitchDownloaderCLI-LinuxAlpine-x64.zip
path: TwitchDownloaderCLI-LinuxAlpine-x64.zip
- name: Upload LinuxArm CLI Artifact Asset
uses: actions/upload-artifact@v4
with:
name: TwitchDownloaderCLI-LinuxArm.zip
path: TwitchDownloaderCLI-LinuxArm.zip
- name: Upload LinuxArm64 CLI Artifact Asset
uses: actions/upload-artifact@v4
with:
name: TwitchDownloaderCLI-LinuxArm64.zip
path: TwitchDownloaderCLI-LinuxArm64.zip
build-cli-mac:
runs-on: macos-latest
needs: [build-cli]
steps:
- uses: actions/[email protected]
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 6.0.x
- name: Build MacOS CLI
run: dotnet publish TwitchDownloaderCLI -p:PublishProfile=MacOS -p:DebugType=Portable
- name: Build MacOSArm64 CLI
run: dotnet publish TwitchDownloaderCLI -p:PublishProfile=MacOSArm64 -p:DebugType=Portable
- name: Zip MacOS CLI
uses: vimtor/[email protected]
with:
files: "TwitchDownloaderCLI/bin/Release/net6.0/publish/MacOS"
dest: TwitchDownloaderCLI-MacOS-x64.zip
- name: Zip MacOSArm64 CLI
uses: vimtor/[email protected]
with:
files: "TwitchDownloaderCLI/bin/Release/net6.0/publish/MacOSArm64"
dest: TwitchDownloaderCLI-MacOSArm64.zip
- name: Upload MacOS CLI Artifact Asset
uses: actions/upload-artifact@v4
with:
name: TwitchDownloaderCLI-MacOS-x64.zip
path: TwitchDownloaderCLI-MacOS-x64.zip
- name: Upload MacOSArm64 CLI Artifact Asset
uses: actions/upload-artifact@v4
with:
name: TwitchDownloaderCLI-MacOSArm64.zip
path: TwitchDownloaderCLI-MacOSArm64.zip