97 lines
2.5 KiB
YAML
97 lines
2.5 KiB
YAML
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
|
|
expire_in: 30 min
|
|
|
|
linux:test:
|
|
image: debian
|
|
stage: test
|
|
needs: ["linux:build"]
|
|
|
|
before_script:
|
|
- apt update
|
|
- apt install -y libcurl4 sqlite3
|
|
script:
|
|
- ./tv_rename --help
|
|
|
|
linux:codacy:
|
|
image: debian
|
|
stage: test
|
|
needs: []
|
|
before_script:
|
|
- apt update
|
|
- apt install -y libsqlite3-dev libcurl4-openssl-dev g++ make build-essential gettext git gcovr
|
|
- export CXX=g++
|
|
- git submodule update --init rapidjson
|
|
script:
|
|
- make test.out
|
|
- make check
|
|
after_script:
|
|
- find . -type f -name "*.gcno" -execdir gcov -pb -r {} +
|
|
- gcovr --root . -k -j 2 --xml -o gcovr_report.xml --exclude-directories "tests" --exclude-directories "gtk" --exclude-directories "win*" --exclude-directories "sqlite-am*" --exclude-directories "rapidjson"
|
|
- bash <(curl -Ls https://coverage.codacy.com/get.sh) report -r "gcovr_report.xml" --language CPP --force-language
|
|
|
|
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 [ "$f" == "./tests/catch.hpp" ] ; then continue ; fi ; 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
|
|
expire_in: 30 min
|
|
|
|
windows:test:
|
|
tags:
|
|
- shared-windows
|
|
- windows
|
|
- windows-1809
|
|
stage: test
|
|
needs: ["windows:build"]
|
|
|
|
script:
|
|
- .\tv_rename.exe --help
|