Add basic CI
This commit is contained in:
parent
93fa1ec618
commit
ce7dbe120e
80
.gitlab-ci.yml
Normal file
80
.gitlab-ci.yml
Normal file
@ -0,0 +1,80 @@
|
||||
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
|
||||
- export CXX=g++
|
||||
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
|
||||
- mkdir C:\BuildTools
|
||||
- mkdir C:\TMP
|
||||
- curl -UseBasicParsing https://aka.ms/vs/16/release/vs_buildtools.exe -o C:\TMP\vs_buildtools.exe
|
||||
- $returnCode = Start-Process -FilePath C:\TMP\vs_buildtools.exe -ArgumentList "--quiet", "--wait", "--norestart", "--nocache", "--installPath", "C:\BuildTools", "--add", "Microsoft.VisualStudio.Workload.VCTools", "--add", "Microsoft.VisualStudio.Component.VC.Tools.x86.x64", "--includeRecommended" -Wait -PassThru
|
||||
- Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
|
||||
- choco install make
|
||||
script:
|
||||
- cmd /c 'C:\BuildTools\VC\Auxiliary\Build\vcvars64.bat && set CXX=cl.exe && make windows'
|
||||
- cmd /c 'C:\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
|
Loading…
Reference in New Issue
Block a user