Skip to content

Commit 2624c90

Browse files
committed
CI: Use github actions for Windows CI
Signed-off-by: Maxime Gervais <gervais.maxime@gmail.com>
1 parent bd4bb6b commit 2624c90

File tree

2 files changed

+44
-93
lines changed

2 files changed

+44
-93
lines changed

.appveyor.yml

Lines changed: 0 additions & 25 deletions
This file was deleted.

.github/workflows/MediaConch_Checks.yml

Lines changed: 44 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -3,96 +3,72 @@ name: Checks
33
on: [push, pull_request]
44

55
jobs:
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+
('hash=' + (-Split (git ls-remote https://github.com/MediaArea/zlib.git HEAD)[1])) | Out-File -FilePath $env:GITHUB_OUTPUT -Append
18+
('path=' + (Get-Location) + '\zlib') | Out-File -FilePath $env:GITHUB_OUTPUT -Append
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+
('hash=' + (-Split (git ls-remote https://github.com/MediaArea/ZenLib.git HEAD)[1])) | Out-File -FilePath $env:GITHUB_OUTPUT -Append
35+
('path=' + (Get-Location) + '\ZenLib') | Out-File -FilePath $env:GITHUB_OUTPUT -Append
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+
('hash=' + (-Split (git ls-remote https://github.com/MediaArea/MediaInfoLib.git HEAD)[1])) | Out-File -FilePath $env:GITHUB_OUTPUT -Append
52+
('path=' + (Get-Location) + '\MediaInfoLib') | Out-File -FilePath $env:GITHUB_OUTPUT -Append
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

Comments
 (0)