Build CUETools binaries for release using CI

- Add script CUETools/collect_files.bat, which copies the required
  files (.exe, .dll, etc.) according to the CUETools folder structure
- Add GitHub action .github/workflows/release-windows.yml, which is
  triggered upon tags or manually
- Upload the directory including the built CUETools binaries as zip
  file using actions/upload-artifact@v2
This commit is contained in:
Wolfgang Stöggl
2021-01-19 05:24:58 +01:00
parent d4dd402961
commit ab3d5a0077
2 changed files with 186 additions and 0 deletions

48
.github/workflows/release-windows.yml vendored Normal file
View File

@@ -0,0 +1,48 @@
---
name: release-windows
# yamllint disable-line rule:truthy
on:
push:
tags:
- '*'
workflow_dispatch:
defaults:
run:
shell: cmd
jobs:
build:
strategy:
matrix:
# https://github.com/actions/virtual-environments/blob/master/images/win/Windows2016-Readme.md
os: [windows-2016]
fail-fast: true
runs-on: ${{ matrix.os }}
env:
# yamllint disable-line rule:line-length
DEVENV_PATH: C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\devenv.com
SLN_PATH: CUETools\CUETools.sln
steps:
- uses: actions/checkout@v2
with:
submodules: recursive
# nasm is required for building Release|Win32
- uses: ilammy/setup-nasm@v1
- name: Build Release|Any CPU
run: |
"%DEVENV_PATH%" "%SLN_PATH%" /Build "Release|Any CPU"
- name: Build Release|x64
run: |
"%DEVENV_PATH%" "%SLN_PATH%" /Build "Release|x64"
- name: Build Release|Win32
run: |
"%DEVENV_PATH%" "%SLN_PATH%" /Build "Release|Win32"
- name: Collect files
run: |
CUETools\collect_files.bat
- uses: actions/upload-artifact@v2
with:
name: deploy
path: bin/Release/CUETools_*/