mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
98c37d0b28
- Add font configuration in internationalization files - Scale font size using a configurable ratio - Add a script to identify translation item statuses using Git metadata - Execute the i18n script in a new gitlab-ci step (delayed) - Clone haxrcorp_4089_cyrillic_altgr font (haxrcorp_4089_cyrillic_altgr_extended) to add some additional latin characters (mainly for French)
185 lines
4.7 KiB
YAML
185 lines
4.7 KiB
YAML
image: registry.gitlab.com/veloren/veloren-docker-ci:latest
|
|
|
|
variables:
|
|
GIT_STRATEGY: fetch
|
|
GIT_DEPTH: 3
|
|
GIT_CLEAN_FLAGS: -f
|
|
|
|
stages:
|
|
- optional-builds
|
|
- check-compile
|
|
- post
|
|
|
|
before_script:
|
|
- source $HOME/.cargo/env
|
|
- df -h /
|
|
- free -h
|
|
- cargo --version
|
|
- export DISABLE_GIT_LFS_CHECK=true
|
|
- export VELOREN_ASSETS="$(pwd)/assets"
|
|
- echo "VELOREN_ASSETS=$VELOREN_ASSETS"
|
|
- rm -r target || echo "target doesnt exist, which is fine"
|
|
- ln -s /dockercache/veloren/target target
|
|
|
|
# -- optional build
|
|
|
|
.optional-release: &optional-release
|
|
stage: optional-builds
|
|
tags:
|
|
- veloren-docker
|
|
except:
|
|
- schedules
|
|
when: manual
|
|
|
|
optional-release:linux:
|
|
<<: *optional-release
|
|
script:
|
|
- cargo build --verbose --release
|
|
- cp target/release/veloren-server-cli $CI_PROJECT_DIR
|
|
- cp target/release/veloren-voxygen $CI_PROJECT_DIR
|
|
- strip --strip-all veloren-server-cli
|
|
- strip --strip-all veloren-voxygen
|
|
artifacts:
|
|
paths:
|
|
- veloren-server-cli
|
|
- veloren-voxygen
|
|
- assets/
|
|
- LICENSE
|
|
expire_in: 1 week
|
|
|
|
optional-release:windows:
|
|
<<: *optional-release
|
|
script:
|
|
- cargo build --verbose --target=x86_64-pc-windows-gnu --release
|
|
- cp target/x86_64-pc-windows-gnu/release/veloren-server-cli.exe $CI_PROJECT_DIR
|
|
- cp target/x86_64-pc-windows-gnu/release/veloren-voxygen.exe $CI_PROJECT_DIR
|
|
artifacts:
|
|
paths:
|
|
- veloren-server-cli.exe
|
|
- veloren-voxygen.exe
|
|
- assets/
|
|
- LICENSE
|
|
expire_in: 1 week
|
|
|
|
# --
|
|
|
|
# -- check
|
|
|
|
check:
|
|
stage: check-compile
|
|
tags:
|
|
- veloren-docker
|
|
script:
|
|
- RUSTFLAGS="-D warnings" cargo check
|
|
|
|
code-quality:
|
|
stage: check-compile
|
|
tags:
|
|
- veloren-docker
|
|
script:
|
|
- cargo clippy -- --warn clippy::all
|
|
- cargo fmt --all -- --check
|
|
|
|
security:
|
|
stage: check-compile
|
|
allow_failure: true
|
|
tags:
|
|
- veloren-docker
|
|
script:
|
|
- cargo audit
|
|
|
|
# --
|
|
|
|
# -- post build
|
|
|
|
unittests:
|
|
stage: post
|
|
when: delayed
|
|
start_in: 5 seconds
|
|
tags:
|
|
- veloren-docker
|
|
script:
|
|
- echo "Workaround, cargo tests fails due some rust files are already deleted, so we just stack cargo test. if its the os error, it wont appear on them all, if its a real error, it will retry and then fail"
|
|
- cargo test || cargo test || cargo test || cargo test
|
|
|
|
coverage:
|
|
stage: post
|
|
when: delayed
|
|
start_in: 5 seconds
|
|
tags:
|
|
- veloren-docker
|
|
script:
|
|
- echo "Workaround, tarpaulin fails due some rust files are already deleted, so we just stack tarpaulin. if its the os error, it wont appear on them all, if its a real error, it will retry and then fail"
|
|
- cargo tarpaulin -v || cargo tarpaulin -v || cargo tarpaulin -v || cargo tarpaulin -v || cargo tarpaulin -v || cargo tarpaulin -v || cargo tarpaulin -v || cargo tarpaulin -v || cargo tarpaulin -v || cargo tarpaulin -v
|
|
|
|
benchmarks:
|
|
stage: post
|
|
when: delayed
|
|
start_in: 5 seconds
|
|
tags:
|
|
- veloren-docker
|
|
script:
|
|
- unset DISABLE_GIT_LFS_CHECK
|
|
- cargo bench
|
|
|
|
localization-status:
|
|
variables:
|
|
GIT_DEPTH: 0
|
|
stage: post
|
|
when: delayed
|
|
start_in: 5 seconds
|
|
allow_failure: true
|
|
tags:
|
|
- veloren-docker
|
|
script:
|
|
- cargo test -q test_all_localizations -- --nocapture --ignored
|
|
|
|
linux:
|
|
stage: post
|
|
when: delayed
|
|
start_in: 5 seconds
|
|
only:
|
|
refs:
|
|
- /^r[0-9]+\.[0-9]+\.[0-9]+/
|
|
- /^v[0-9]+\.[0-9]+\.[0-9]+/
|
|
- /^master$/
|
|
tags:
|
|
- veloren-docker
|
|
script:
|
|
- cargo build --release
|
|
- cp -r target/release/veloren-server-cli $CI_PROJECT_DIR
|
|
- cp -r target/release/veloren-voxygen $CI_PROJECT_DIR
|
|
- strip --strip-all veloren-server-cli
|
|
- strip --strip-all veloren-voxygen
|
|
artifacts:
|
|
paths:
|
|
- veloren-server-cli
|
|
- veloren-voxygen
|
|
- assets/
|
|
- LICENSE
|
|
expire_in: 1 week
|
|
|
|
windows:
|
|
stage: post
|
|
when: delayed
|
|
start_in: 5 seconds
|
|
only:
|
|
refs:
|
|
- /^r[0-9]+\.[0-9]+\.[0-9]+/
|
|
- /^v[0-9]+\.[0-9]+\.[0-9]+/
|
|
- /^master$/
|
|
tags:
|
|
- veloren-docker
|
|
script:
|
|
- cargo build --target=x86_64-pc-windows-gnu --release
|
|
- cp -r target/x86_64-pc-windows-gnu/release/veloren-server-cli.exe $CI_PROJECT_DIR
|
|
- cp -r target/x86_64-pc-windows-gnu/release/veloren-voxygen.exe $CI_PROJECT_DIR
|
|
artifacts:
|
|
paths:
|
|
- veloren-server-cli.exe
|
|
- veloren-voxygen.exe
|
|
- assets/
|
|
- LICENSE
|
|
expire_in: 1 week
|
|
# --
|