stages: - build - test linux:build: image: debian stage: build before_script: - apt update - apt install -y libsqlite3-dev libcurl4-openssl-dev g++ make build-essential libgtkmm-3.0-dev gettext git - export CXX=g++ - git submodule update --init rapidjson script: - make - make gui artifacts: paths: - tv_rename - tv_rename_gui linux:test: image: debian stage: test needs: ["linux:build"] before_script: - apt update - apt install -y libcurl4 sqlite3 script: - ./tv_rename --help formatting:test: image: debian stage: test needs: [] before_script: - apt update - apt install -y clang-format script: - FORMAT="ok" - while read f ; do clang-format -style=file "$f" > temp.pp ; if [ $(diff temp.pp "$f" | wc -l) -gt 0 ] ; then echo "$f needs reformatting" ; FORMAT="nok" ; fi ; done <<< $(find . -iname "*pp") - rm temp.pp - 'if [ "$FORMAT" = "nok" ] ; then exit 1 ; fi' windows:build: tags: - shared-windows - windows - windows-1809 stage: build before_script: - "$env:LC_ALL='C.UTF-8'" - "$OutputEncoding = [System.Text.Encoding]::Unicode" - CHCP 65001 - choco install make - git submodule update --init script: - cmd /c '"C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvars64.bat" && set CXX=cl.exe && make windows' - cmd /c '"C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvars64.bat" && set CXX=cl.exe && make windows_gui' artifacts: paths: - tv_rename.exe - tv_rename_gui.exe windows:test: tags: - shared-windows - windows - windows-1809 stage: test needs: ["windows:build"] script: - .\tv_rename.exe --help