Skip to content

Update AudioExtractor #202

Update AudioExtractor

Update AudioExtractor #202

Workflow file for this run

name: OnPush
on:
push:
branches: [ "develop", "main" ]
jobs:
build-package:
runs-on: ${{matrix.os}}
strategy:
fail-fast: false
matrix:
os: [windows-latest]
compiler: [MSVC, MinGW]
steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: recursive
- name: Restore vcpkg Cache
uses: actions/cache@v3
id: vcpkg-cache
with:
path: |
${{github.workspace}}/vcpkg/installed
key: |
vcpkg-${{runner.arch}}-${{matrix.compiler}}-${{runner.os}}-${{github.ref_name}}-${{hashFiles('scripts/**/portfile.cmake')}}-${{hashFiles('scripts/**/vcpkg.json')}}-${{github.sha}}
restore-keys: |
vcpkg-${{runner.arch}}-${{matrix.compiler}}-${{runner.os}}-${{github.ref_name}}-${{hashFiles('scripts/**/portfile.cmake')}}-${{hashFiles('scripts/**/vcpkg.json')}}-
vcpkg-${{runner.arch}}-${{matrix.compiler}}-${{runner.os}}-${{github.ref_name}}-${{hashFiles('scripts/**/portfile.cmake')}}-
vcpkg-${{runner.arch}}-${{matrix.compiler}}-${{runner.os}}-${{github.ref_name}}-
vcpkg-${{runner.arch}}-${{matrix.compiler}}-${{runner.os}}-
- name: Setup Ninja
uses: ashutoshvarma/setup-ninja@master
with:
version: 1.11.0
- name: Install MinGW
if: matrix.compiler == 'MinGW'
uses: egor-tensin/setup-mingw@v2
with:
platform: x64
static: 0
- name: Install vcpkg Windows
if: runner.os == 'Windows'
working-directory: ${{github.workspace}}/vcpkg
run: .\bootstrap-vcpkg.bat
- name: Install Packages MSVC
if: runner.os == 'Windows' && matrix.compiler == 'MSVC'
working-directory: ${{github.workspace}}/vcpkg
run: vcpkg install --x-manifest-root=../scripts/vcpkg-manifest --x-install-root=./installed --triplet=x64-windows
- name: Install Packages MinGW
if: runner.os == 'Windows' && matrix.compiler == 'MinGW'
working-directory: ${{github.workspace}}/vcpkg
run: vcpkg install --x-manifest-root=../scripts/vcpkg-manifest --x-install-root=./installed --triplet=x64-mingw-dynamic
- name: Archive vcpkg Logs
if: ${{ !cancelled() }}
uses: actions/upload-artifact@v4
with:
name: vcpkglogs-${{runner.os}}-${{runner.arch}}-${{matrix.compiler}}-${{github.sha}}
path: |
vcpkg/buildtrees/*/*.log
retention-days: 7
compression-level: 9
build:
needs: [build-package]
runs-on: ${{matrix.os}}
strategy:
fail-fast: false
matrix:
os: [windows-latest]
build_type: [Debug, Release]
compiler: [MSVC, MinGW]
include:
- compiler: MSVC
c_compiler: cl
cxx_compiler: cl
asm_compiler: cl
- compiler: MinGW
c_compiler: gcc
cxx_compiler: c++
asm_compiler: ''
steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: recursive
- name: Restore vcpkg Cache
uses: actions/cache@v3
id: vcpkg-cache
with:
path: |
${{github.workspace}}/vcpkg/installed
key: |
vcpkg-${{runner.arch}}-${{matrix.compiler}}-${{runner.os}}-${{github.ref_name}}-${{hashFiles('scripts/**/portfile.cmake')}}-${{hashFiles('scripts/**/vcpkg.json')}}-${{github.sha}}
restore-keys: |
vcpkg-${{runner.arch}}-${{matrix.compiler}}-${{runner.os}}-${{github.ref_name}}-${{hashFiles('scripts/**/portfile.cmake')}}-${{hashFiles('scripts/**/vcpkg.json')}}-
vcpkg-${{runner.arch}}-${{matrix.compiler}}-${{runner.os}}-${{github.ref_name}}-${{hashFiles('scripts/**/portfile.cmake')}}-
vcpkg-${{runner.arch}}-${{matrix.compiler}}-${{runner.os}}-${{github.ref_name}}-
vcpkg-${{runner.arch}}-${{matrix.compiler}}-${{runner.os}}-
- name: Setup Ninja
uses: ashutoshvarma/setup-ninja@master
with:
version: 1.11.0
- name: Install MinGW
if: matrix.compiler == 'MinGW'
uses: egor-tensin/setup-mingw@v2
with:
platform: x64
static: 0
- name: Install vcpkg Windows
if: runner.os == 'Windows'
working-directory: ${{github.workspace}}/vcpkg
run: .\bootstrap-vcpkg.bat
- name: Initialize MSVC Environment
if: matrix.compiler == 'MSVC'
uses: ilammy/msvc-dev-cmd@v1
with:
arch: ${{runner.arch}}
- name: Configure CMake MSVC
if: runner.os == 'Windows' && matrix.compiler == 'MSVC'
working-directory: ${{github.workspace}}
env:
CC: ${{matrix.c_compiler}}
CXX: ${{matrix.cxx_compiler}}
ASM: ${{matrix.asm_compiler}}
run: cmake -G "Ninja" -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DCMAKE_TOOLCHAIN_FILE:STRING=./vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET:STRING=x64-windows -B out/build/${{runner.arch}}-${{matrix.build_type}}-${{matrix.compiler}} .
- name: Configure CMake MinGW
if: runner.os == 'Windows' && matrix.compiler == 'MinGW'
working-directory: ${{github.workspace}}
env:
CC: ${{matrix.c_compiler}}
CXX: ${{matrix.cxx_compiler}}
ASM: ${{matrix.asm_compiler}}
run: cmake -G "Ninja" -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DCMAKE_TOOLCHAIN_FILE:STRING=./vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET:STRING=x64-mingw-dynamic -B out/build/${{runner.arch}}-${{matrix.build_type}}-${{matrix.compiler}} .
- name: Build
working-directory: ${{github.workspace}}
run: ninja -C out/build/${{runner.arch}}-${{matrix.build_type}}-${{matrix.compiler}} -j 2 VocalShaper
- name: Pre Packing Windows
if: runner.os == 'Windows'
working-directory: ${{github.workspace}}
run: .\prePacking.bat .\out\build\${{runner.arch}}-${{matrix.build_type}}-${{matrix.compiler}}\bin
- name: Archive Artifacts
uses: actions/upload-artifact@v4
with:
name: VocalShaper-${{runner.os}}-${{runner.arch}}-${{matrix.compiler}}-${{matrix.build_type}}-${{github.sha}}
path: |
out/build/${{runner.arch}}-${{matrix.build_type}}-${{matrix.compiler}}/bin/**
retention-days: 7
compression-level: 9