@@ -3,96 +3,73 @@ name: Checks
33on : [push, pull_request]
44
55jobs :
6- unix :
6+ windows :
77 strategy :
88 matrix :
9- os : [ubuntu-latest, macos-latest ]
9+ arch : [Win32, x64 ]
1010 fail-fast : false
11- runs-on : ${{ matrix.os }}
12- env :
13- PYTHONPATH : /usr/local/lib/python2.7:/usr/local/lib/python2.7/dist-packages:/usr/local/lib/python2.7/site-packages
11+ name : Windows (${{ matrix.arch }})
12+ runs-on : windows-latest
1413 steps :
15- - name : Checkout
14+ - name : Get zlib info
15+ id : zlib-info
16+ run : |
17+ git ls-remote https://github.com/MediaArea/zlib.git HEAD
18+ ('hash=' + ((git ls-remote https://github.com/MediaArea/zlib.git HEAD) -Split '`t')[0]) | Out-File -FilePath $env:GITHUB_OUTPUT -Append
19+ ('path=' + (Get-Location) + '\zlib') | Out-File -FilePath $env:GITHUB_OUTPUT -Append
20+ - name : zlib cache
21+ id : zlib-cache
22+ uses : actions/cache@v4
23+ with :
24+ path : ${{ steps.zlib-info.outputs.path }}
25+ key : ${{ runner.arch }}-zlib-${{ steps.zlib-info.outputs.hash }}
26+ - name : Checkout zlib
27+ if : steps.zlib-cache.outputs.cache-hit != 'true'
1628 uses : actions/checkout@v4
1729 with :
18- fetch-depth : 1
19- - name : Dependencies
20- run : |
21- if [ "$RUNNER_OS" == "Linux" ]; then
22- sudo apt-get update
23- sudo apt-get install -y zlib1g-dev libxml2-dev libxslt-dev libcurl4-gnutls-dev libsqlite3-dev libjansson-dev libevent-dev libxml2-utils qtbase5-dev qtwebengine5-dev qt5-qmake xmlstarlet ffmpeg sshpass
24- sudo curl -L http://stahlworks.com/dev/sfk/sfk-linux-64.exe -o /usr/local/bin/sfk
25- sudo chmod +x /usr/local/bin/sfk
26- pip --disable-pip-version-check install git+https://github.com/vi/mkvparse.git
27- fi
28- if [ "$RUNNER_OS" == "macOS" ]; then
29- brew install libtool automake libxslt jansson qt@5 sfk xmlstarlet ffmpeg
30- sudo pip --disable-pip-version-check install --prefix /usr/local git+https://github.com/vi/mkvparse.git
31- fi
30+ repository : MediaArea/zlib
31+ path : zlib
3232 - name : Get ZenLib info
3333 id : zenlib-info
3434 run : |
35- echo " hash=$( git ls-remote https://github.com/MediaArea/ZenLib.git HEAD | cut -f1)" >> $ GITHUB_OUTPUT
36- echo " path=$(dirname $PWD)/ ZenLib" >> $ GITHUB_OUTPUT
35+ (' hash=' + (( git ls-remote https://github.com/MediaArea/ZenLib.git HEAD) -Split '`t')[0]) | Out-File -FilePath $env: GITHUB_OUTPUT -Append
36+ (' path=' + (Get-Location) + '\ ZenLib') | Out-File -FilePath $env: GITHUB_OUTPUT -Append
3737 - name : ZenLib cache
3838 id : zenlib-cache
3939 uses : actions/cache@v4
4040 with :
4141 path : ${{ steps.zenlib-info.outputs.path }}
42- key : ${{ runner.os }}-ZenLib -${{ steps.zenlib-info.outputs.hash }}
43- - name : ZenLib
42+ key : ${{ runner.arch }}-zenlib -${{ steps.zenlib-info.outputs.hash }}
43+ - name : Checkout ZenLib
4444 if : steps.zenlib-cache.outputs.cache-hit != 'true'
45- run : |
46- git -C .. clone --depth=1 https://github.com/MediaArea/ZenLib.git
47- pushd ../ZenLib/Project/GNU/Library
48- autoreconf -if
49- ./configure --enable-static
50- make
51- popd
45+ uses : actions/checkout@v4
46+ with :
47+ repository : MediaArea/ZenLib
48+ path : ZenLib
5249 - name : Get MediaInfoLib info
5350 id : mediainfolib-info
5451 run : |
55- echo " hash=$( git ls-remote https://github.com/MediaArea/MediaInfoLib.git HEAD | cut -f1)" >> $ GITHUB_OUTPUT
56- echo " path=$(dirname $PWD)/ MediaInfoLib" >> $ GITHUB_OUTPUT
52+ (' hash=' + (( git ls-remote https://github.com/MediaArea/MediaInfoLib.git HEAD) -Split '`t')[0]) | Out-File -FilePath $env: GITHUB_OUTPUT -Append
53+ (' path=' + (Get-Location) + '\ MediaInfoLib') | Out-File -FilePath $env: GITHUB_OUTPUT -Append
5754 - name : MediaInfoLib cache
5855 id : mediainfolib-cache
5956 uses : actions/cache@v4
6057 with :
6158 path : ${{ steps.mediainfolib-info.outputs.path }}
62- key : ${{ runner.os }}-MediaInfoLib -${{ steps.mediainfolib-info.outputs.hash }}
63- - name : MediaInfoLib
59+ key : ${{ runner.arch }}-mediainfolib -${{ steps.mediainfolib-info.outputs.hash }}
60+ - name : Checkout MediaInfoLib
6461 if : steps.mediainfolib-cache.outputs.cache-hit != 'true'
65- run : |
66- git -C .. clone --depth=1 https://github.com/MediaArea/MediaInfoLib.git
67- pushd .. /MediaInfoLib/Project/GNU/Library
68- autoreconf -if
69- ./configure --enable-static
70- make
71- popd
72- - name : Configure
73- run : |
74- cd Project/GNU/CLI
75- autoreconf -if
76- ./configure
62+ uses : actions/checkout@v4
63+ with :
64+ repository : MediaArea /MediaInfoLib
65+ path : MediaInfoLib
66+ - name : Checkout MediaConch
67+ uses : actions/checkout@v4
68+ with :
69+ path : MediaConch
70+ - name : Add MSBuild to PATH
71+ uses : microsoft/setup-msbuild@v2
72+ with :
73+ msbuild-architecture : x64
7774 - name : Build
78- run : |
79- cd Project/GNU/CLI
80- make
81- - name : Check files
82- run : |
83- cd Project/GNU/CLI
84- make clone_sample_files
85- - name : Check
86- run : |
87- cd Project/GNU/CLI
88- make check
89- - name : Configure GUI
90- run : |
91- cd Project/Qt
92- export PATH=/opt/homebrew/opt/qt@5/bin:$PATH
93- ./prepare CONFIG+=c++11 -after QMAKE_MACOSX_DEPLOYMENT_TARGET=10.9 QMAKE_LFLAGS-=-Wl,-ld_classic
94- - name : Build GUI
95- run : |
96- cd Project/Qt
97- export PATH=/usr/local/opt/qt/bin:$PATH
98- make
75+ run : MSBuild /verbosity:quiet /p:Configuration=Release`;Platform=${{ matrix.arch }} MediaConch\Project\MSVC2022\MediaConch.sln
0 commit comments