@@ -3,96 +3,72 @@ 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+ Out-File -FilePath $GITHUB_OUTPUT -Append 'hash=' + (-Split (git ls-remote https://github.com/MediaArea/zlib.git HEAD)[1])
18+ Out-File -FilePath $GITHUB_OUTPUT -Append 'path=' + (Get-Location) + '\zlib'
19+ - name : zlib cache
20+ id : zlib-cache
21+ uses : actions/cache@v4
22+ with :
23+ path : ${{ steps.zlib-info.outputs.path }}
24+ key : ${{ runner.arch }}-zlib-${{ steps.zlib-info.outputs.hash }}
25+ - name : Checkout zlib
26+ if : steps.zlib-cache.outputs.cache-hit != 'true'
1627 uses : actions/checkout@v4
1728 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
29+ repository : MediaArea/zlib
30+ path : zlib
3231 - name : Get ZenLib info
3332 id : zenlib-info
3433 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
34+ Out-File -FilePath $GITHUB_OUTPUT -Append ' hash=' + (-Split ( git ls-remote https://github.com/MediaArea/ZenLib.git HEAD)[1])
35+ Out-File -FilePath $GITHUB_OUTPUT -Append ' path=' + (Get-Location) + '\ZenLib'
3736 - name : ZenLib cache
3837 id : zenlib-cache
3938 uses : actions/cache@v4
4039 with :
4140 path : ${{ steps.zenlib-info.outputs.path }}
42- key : ${{ runner.os }}-ZenLib -${{ steps.zenlib-info.outputs.hash }}
43- - name : ZenLib
41+ key : ${{ runner.arch }}-zenlib -${{ steps.zenlib-info.outputs.hash }}
42+ - name : Checkout ZenLib
4443 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
44+ uses : actions/checkout@v4
45+ with :
46+ repository : MediaArea/ZenLib
47+ path : ZenLib
5248 - name : Get MediaInfoLib info
5349 id : mediainfolib-info
5450 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
51+ Out-File -FilePath $GITHUB_OUTPUT -Append ' hash=' + (-Split ( git ls-remote https://github.com/MediaArea/MediaInfoLib.git HEAD)[1])
52+ Out-File -FilePath $GITHUB_OUTPUT -Append ' path=' + (Get-Location) + '\MediaInfoLib'
5753 - name : MediaInfoLib cache
5854 id : mediainfolib-cache
5955 uses : actions/cache@v4
6056 with :
6157 path : ${{ steps.mediainfolib-info.outputs.path }}
62- key : ${{ runner.os }}-MediaInfoLib -${{ steps.mediainfolib-info.outputs.hash }}
63- - name : MediaInfoLib
58+ key : ${{ runner.arch }}-mediainfolib -${{ steps.mediainfolib-info.outputs.hash }}
59+ - name : Checkout MediaInfoLib
6460 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
61+ uses : actions/checkout@v4
62+ with :
63+ repository : MediaArea /MediaInfoLib
64+ path : MediaInfoLib
65+ - name : Checkout MediaConch
66+ uses : actions/checkout@v4
67+ with :
68+ path : MediaConch
69+ - name : Add MSBuild to PATH
70+ uses : microsoft/setup-msbuild@v2
71+ with :
72+ msbuild-architecture : x64
7773 - 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
74+ run : MSBuild /verbosity:quiet /p:Configuration=Release;Platform=${{ matrix.arch }} MediaConch\Project\MSVC2022\MediaConch.sln
0 commit comments