Commit Graph

51 Commits

Author SHA1 Message Date
b6f6de62b5 reenable coverage 2022-09-26 08:36:17 +02:00
693e3be066 Temporarily disabled coverage build step due to issues building docker cache image 2022-09-15 17:08:08 +01:00
9a45ad28c1 fix deprecated coverage setting:
https://docs.gitlab.com/ee/ci/pipelines/settings.html#add-test-coverage-results-using-project-settings-removed
https://github.com/xd009642/tarpaulin#gitlab-pipelines
2022-07-17 21:47:54 +02:00
203fe7ad47 remove duplicate airshipper ci jobs. Introduce weekly build.
This requires the veloren schedule to contain variables and requires the airshipper server to handle those in the config
2022-04-24 07:39:57 +02:00
32de827e61 add linux-aarch64 on master builds to be consistent 2022-03-03 10:33:19 +01:00
bbe8f9db8b Fixed artifact paths for mac builds 2022-02-18 14:10:11 +00:00
9787f0be1e update cache image for ci, rename linux to linux-x86_64
todo: adjust airshipper before merging this
2022-02-15 01:01:20 +01:00
6d309c2fd9 * Added macos-aarch64 builds to gitlab CI config
* Disabled incremental compilation for macos builds
* Removed cache for macos builds
* Renamed release-nightly-tmp-fix-airshipper to release-scheduled
* Renamed build-nightly to build-scheduled
2022-02-11 11:18:36 +00:00
a54e4c5dd0 Make sure to copy binaries from the right location in aarch CI 2021-11-23 21:27:23 -05:00
d137623dba Add aarch64 build to the gitlab CI yml 2021-11-23 21:27:23 -05:00
edce01c336 implement a new tag system for all veloren runners, including
- project tag:
   - `veloren/veloren`: for the veloren repo only
   - `veloren/*`: for projects thats are in the veloren namespace, e.g. usefull for smaller projects that dont have their own tag
   - `*/*` for projects by 3rd parties, e.g. personal projects
 - trusted tag:
   - `owned`:  The runner is hosted on veloren hardware
   - `trusted`: The runner is hosted by a private person, trusted by the veloren devs
   - NONE: if no special trust is given in a runner
 - check/build tag:
   - `check`: a job only performs a check and NO executable is build for users
   - `build`: the job contains atleast 1 executable that can be run by users
   - NONE: neither a check nor a executable is build, e.g. usefull for pages or meta jobs
 - publish tag:
   - `publish`: this job produces a artifact that is automatically pushed to users
   - NONE: no artifact is pushed automatically to users
 - pin tags:
   - `benchmark`: pin a runner to a specific job for the cause of benchmarks
   - `veloren/*:macos`: runs on a native macos runner ONLY, this needs to be a modified project tag, as otherwise also normal checks would run on this runner.
   - NONE: no runner is pinned
2021-08-19 09:23:31 +02:00
5b4a7722b1 Added veloren-publish tags and veloren-build tags to CI configuration 2021-08-19 09:08:49 +02:00
ee704e171d move translation check to seperate ci step
note: TAGUUID is used to avoid sqlinjections by choosing a branch name
2021-08-02 20:11:02 +02:00
7c2cf9f707 only build once, dont build multiple targets. save time
Profiles:
(all are build, all are release, all are --no-default-features --features="default-publish" )

A) -p veloren-voxygen AND -p veloren-server-cli
B) NONE AND -p veloren-server-cli
C) NONE
D) NONE but server-cli/Cargo.toml has a default-publish feature

Timings
A)
> time cargo build -p veloren-voxygen --release --no-default-features --features default-publish
Compiling veloren-client v0.10.0 (/mnt/nfs/marcel/Entw/Rust/veloren/client)
   Compiling refinery v0.5.0 (https://gitlab.com/veloren/refinery.git?rev=8ecf4b4772d791e6c8c0a3f9b66a7530fad1af3e#8ecf4b47)
   Compiling gfx-auxil v0.9.0 (https://github.com/gfx-rs/gfx?rev=27a1dae3796d33d23812f2bb8c7e3b5aea18b521#27a1dae3)
   Compiling gfx-backend-gl v0.8.1 (https://github.com/gfx-rs/gfx?rev=27a1dae3796d33d23812f2bb8c7e3b5aea18b521#27a1dae3)
   Compiling veloren-server v0.10.0 (/mnt/nfs/marcel/Entw/Rust/veloren/server)
   Compiling wgpu v0.8.0 (https://github.com/gfx-rs/wgpu.git?rev=a92b8549a8e2cb9dac781bafc5ed32828f3caf46#a92b8549)
   Compiling wgpu-profiler v0.4.0 (https://github.com/Imberflur/wgpu-profiler?tag=wgpu-0.8#b156eb14)
    Finished release [optimized] target(s) in 16m 19s
cargo build -p veloren-voxygen --release --no-default-features --features   3091.78s user 71.80s system 322% cpu 16:19.44 total
> time cargo build --release -p veloren-server-cli
   Compiling veloren-world v0.10.0 (/mnt/nfs/marcel/Entw/Rust/veloren/world)
   Compiling refinery v0.5.0 (https://gitlab.com/veloren/refinery.git?rev=8ecf4b4772d791e6c8c0a3f9b66a7530fad1af3e#8ecf4b47)
   Compiling veloren-server v0.10.0 (/mnt/nfs/marcel/Entw/Rust/veloren/server)
   Compiling veloren-server-cli v0.10.0 (/mnt/nfs/marcel/Entw/Rust/veloren/server-cli)
    Finished release [optimized] target(s) in 6m 06s
cargo build --release -p veloren-server-cli  1024.29s user 18.42s system 284% cpu 6:06.62 total

B)
> time cargo build --release --no-default-features --features default-publish
   Compiling veloren-client v0.10.0 (/mnt/nfs/marcel/Entw/Rust/veloren/client)
   Compiling veloren-voxygen-egui v0.9.0 (/mnt/nfs/marcel/Entw/Rust/veloren/voxygen/egui)
   Compiling gfx-auxil v0.9.0 (https://github.com/gfx-rs/gfx?rev=27a1dae3796d33d23812f2bb8c7e3b5aea18b521#27a1dae3)
   Compiling gfx-backend-gl v0.8.1 (https://github.com/gfx-rs/gfx?rev=27a1dae3796d33d23812f2bb8c7e3b5aea18b521#27a1dae3)
   Compiling refinery v0.5.0 (https://gitlab.com/veloren/refinery.git?rev=8ecf4b4772d791e6c8c0a3f9b66a7530fad1af3e#8ecf4b47)
   Compiling veloren-server v0.10.0 (/mnt/nfs/marcel/Entw/Rust/veloren/server)
   Compiling wgpu v0.8.0 (https://github.com/gfx-rs/wgpu.git?rev=a92b8549a8e2cb9dac781bafc5ed32828f3caf46#a92b8549)
   Compiling wgpu-profiler v0.4.0 (https://github.com/Imberflur/wgpu-profiler?tag=wgpu-0.8#b156eb14)
   Compiling veloren-voxygen-anim-dyn v0.10.0 (/mnt/nfs/marcel/Entw/Rust/veloren/voxygen/anim/dyn)
   Compiling veloren-voxygen-egui-dyn v0.9.0 (/mnt/nfs/marcel/Entw/Rust/veloren/voxygen/egui/dyn)
   Compiling veloren-server-cli v0.10.0 (/mnt/nfs/marcel/Entw/Rust/veloren/server-cli)
    Finished release [optimized] target(s) in 17m 10s
cargo build --release --no-default-features --features default-publish  4415.58s user 91.10s system 437% cpu 17:10.66 total
> time cargo build --release -p veloren-server-cli
   Compiling veloren-world v0.10.0 (/mnt/nfs/marcel/Entw/Rust/veloren/world)
   Compiling refinery v0.5.0 (https://gitlab.com/veloren/refinery.git?rev=8ecf4b4772d791e6c8c0a3f9b66a7530fad1af3e#8ecf4b47)
   Compiling veloren-server v0.10.0 (/mnt/nfs/marcel/Entw/Rust/veloren/server)
   Compiling veloren-server-cli v0.10.0 (/mnt/nfs/marcel/Entw/Rust/veloren/server-cli)
    Finished release [optimized] target(s) in 6m 08s
cargo build --release -p veloren-server-cli  1123.93s user 23.01s system 311% cpu 6:08.14 total

C)
> time cargo build --release --no-default-features --features default-publish
   Compiling prometheus-hyper v0.1.2
   Compiling authc v1.0.0 (https://gitlab.com/veloren/auth.git?rev=fb3dcbc4962b367253f8f2f92760ef44d2679c9a#fb3dcbc4)
   Compiling veloren-common-net v0.10.0 (/mnt/nfs/marcel/Entw/Rust/veloren/common/net)
   Compiling veloren-plugin-api v0.1.0 (/mnt/nfs/marcel/Entw/Rust/veloren/plugin/api)
   Compiling veloren-voxygen-anim v0.10.0 (/mnt/nfs/marcel/Entw/Rust/veloren/voxygen/anim)
   Compiling veloren-plugin-rt v0.1.0 (/mnt/nfs/marcel/Entw/Rust/veloren/plugin/rt)
   Compiling veloren-common-systems v0.10.0 (/mnt/nfs/marcel/Entw/Rust/veloren/common/systems)
   Compiling veloren-common-state v0.10.0 (/mnt/nfs/marcel/Entw/Rust/veloren/common/state)
   Compiling veloren-world v0.10.0 (/mnt/nfs/marcel/Entw/Rust/veloren/world)
   Compiling veloren-world v0.10.0 (/mnt/nfs/marcel/Entw/Rust/veloren/world)
   Compiling veloren-client v0.10.0 (/mnt/nfs/marcel/Entw/Rust/veloren/client)
   Compiling veloren-voxygen-egui v0.9.0 (/mnt/nfs/marcel/Entw/Rust/veloren/voxygen/egui)
   Compiling refinery v0.5.0 (https://gitlab.com/veloren/refinery.git?rev=8ecf4b4772d791e6c8c0a3f9b66a7530fad1af3e#8ecf4b47)
   Compiling veloren-server v0.10.0 (/mnt/nfs/marcel/Entw/Rust/veloren/server)
   Compiling gfx-auxil v0.9.0 (https://github.com/gfx-rs/gfx?rev=27a1dae3796d33d23812f2bb8c7e3b5aea18b521#27a1dae3)
   Compiling gfx-backend-gl v0.8.1 (https://github.com/gfx-rs/gfx?rev=27a1dae3796d33d23812f2bb8c7e3b5aea18b521#27a1dae3)
   Compiling wgpu v0.8.0 (https://github.com/gfx-rs/wgpu.git?rev=a92b8549a8e2cb9dac781bafc5ed32828f3caf46#a92b8549)
   Compiling wgpu-profiler v0.4.0 (https://github.com/Imberflur/wgpu-profiler?tag=wgpu-0.8#b156eb14)
   Compiling veloren-voxygen-anim-dyn v0.10.0 (/mnt/nfs/marcel/Entw/Rust/veloren/voxygen/anim/dyn)
   Compiling veloren-voxygen-egui-dyn v0.9.0 (/mnt/nfs/marcel/Entw/Rust/veloren/voxygen/egui/dyn)
   Compiling veloren-server-cli v0.10.0 (/mnt/nfs/marcel/Entw/Rust/veloren/server-cli)
    Finished release [optimized] target(s) in 16m 41s
cargo build --release --no-default-features --features default-publish  4349.71s user 90.02s system 443% cpu 16:41.58 total

D)
> time cargo build --release --no-default-features --features default-publish
   Compiling prometheus-hyper v0.1.2
   Compiling authc v1.0.0 (https://gitlab.com/veloren/auth.git?rev=fb3dcbc4962b367253f8f2f92760ef44d2679c9a#fb3dcbc4)
   Compiling veloren-common-net v0.10.0 (/mnt/nfs/marcel/Entw/Rust/veloren/common/net)
   Compiling veloren-plugin-api v0.1.0 (/mnt/nfs/marcel/Entw/Rust/veloren/plugin/api)
   Compiling veloren-voxygen-anim v0.10.0 (/mnt/nfs/marcel/Entw/Rust/veloren/voxygen/anim)
   Compiling veloren-plugin-rt v0.1.0 (/mnt/nfs/marcel/Entw/Rust/veloren/plugin/rt)
   Compiling veloren-common-state v0.10.0 (/mnt/nfs/marcel/Entw/Rust/veloren/common/state)
   Compiling veloren-common-systems v0.10.0 (/mnt/nfs/marcel/Entw/Rust/veloren/common/systems)
   Compiling veloren-world v0.10.0 (/mnt/nfs/marcel/Entw/Rust/veloren/world)
   Compiling veloren-client v0.10.0 (/mnt/nfs/marcel/Entw/Rust/veloren/client)
   Compiling veloren-voxygen-egui v0.9.0 (/mnt/nfs/marcel/Entw/Rust/veloren/voxygen/egui)
   Compiling refinery v0.5.0 (https://gitlab.com/veloren/refinery.git?rev=8ecf4b4772d791e6c8c0a3f9b66a7530fad1af3e#8ecf4b47)
   Compiling veloren-server v0.10.0 (/mnt/nfs/marcel/Entw/Rust/veloren/server)
   Compiling gfx-auxil v0.9.0 (https://github.com/gfx-rs/gfx?rev=27a1dae3796d33d23812f2bb8c7e3b5aea18b521#27a1dae3)
   Compiling gfx-backend-gl v0.8.1 (https://github.com/gfx-rs/gfx?rev=27a1dae3796d33d23812f2bb8c7e3b5aea18b521#27a1dae3)
   Compiling wgpu v0.8.0 (https://github.com/gfx-rs/wgpu.git?rev=a92b8549a8e2cb9dac781bafc5ed32828f3caf46#a92b8549)
   Compiling wgpu-profiler v0.4.0 (https://github.com/Imberflur/wgpu-profiler?tag=wgpu-0.8#b156eb14)
   Compiling veloren-voxygen-egui-dyn v0.9.0 (/mnt/nfs/marcel/Entw/Rust/veloren/voxygen/egui/dyn)
   Compiling veloren-voxygen-anim-dyn v0.10.0 (/mnt/nfs/marcel/Entw/Rust/veloren/voxygen/anim/dyn)
   Compiling veloren-server-cli v0.10.0 (/mnt/nfs/marcel/Entw/Rust/veloren/server-cli)
    Finished release [optimized] target(s) in 17m 30s
cargo build --release --no-default-features --features default-publish  4462.34s user 92.17s system 433% cpu 17:31.00 total

Hashes
A)
veloren-voxygen: e9de69144b4d459dc0da2775b2b87ac9
veloren-server-cli: 8c131c1b1daaa6efd0f83d95d9b5dad9
B)
veloren-voxygen: 415e14ec1c14a6a559d2908b843d88d5
veloren-server-cli: 8c131c1b1daaa6efd0f83d95d9b5dad9
C)
veloren-voxygen: 415e14ec1c14a6a559d2908b843d88d5
veloren-server-cli: 3bf56d0d0a76191a578ed5e71389f512
D)
veloren-voxygen: 415e14ec1c14a6a559d2908b843d88d5
veloren-server-cli: c9dc4fb0bfcbd831150eebac788e2f71

Binary Sizes:
A)
veloren-voxygen: 156667288
veloren-server-cli: 85136736
B)
veloren-voxygen: 162860552
veloren-server-cli: 85136736
C)
veloren-voxygen: 162860552
veloren-server-cli: 95597304
D)
veloren-voxygen: 162860552
veloren-server-cli: 95586360

Total Cache Size:
A) 4.1G
B) 5G
C) 4.1G
D) 4.1G
2021-07-15 10:56:32 +02:00
07c044f2e5 extract relevant code in a script in order to remove duplicate coding with docker-ci repo
export VELOREN_ASSETS without pwd to keep caching working
2021-07-14 20:57:08 +02:00
fcc6bb819b make sure that all CI jobs run always and not only in branch 2021-07-09 11:19:20 +02:00
33a37a8857 Run asset_tweak tests separately
+ Make parse_all_ron_files_to_value panic-friendly. Remove unwraps
to unwrap_or_else with panic message.
2021-07-04 19:31:57 +03:00
da319e71ec Added default-publish feature and updated build scripts. 2021-06-26 17:48:48 +01:00
44e4fd874f add asset_tweaks to unittests on CI 2021-06-08 23:00:59 +03:00
e7a766b310 Merge branch 'imbris/wgpu-master-rebased' into 'master'
wgpu

See merge request veloren/veloren!1947
2021-06-03 19:58:48 +00:00
f3cb08170c Unhack the wgpu branch CI 2021-06-03 14:24:31 -04:00
44d04aa074 change cidb settings 2021-06-03 17:26:09 +02:00
7f8877988d CI tweaks, make windows build use posix mingw and copy necessary DLL files 2021-06-02 23:59:50 -04:00
e97d57b119 Disable CI that does not need to run for builds 2021-06-02 23:59:50 -04:00
f07c2e8dab Add missing userdata strategy env var to macos builds 2021-06-02 16:50:42 -04:00
a8ced7b959 Fix benchmarks by removing the rest of the incremental folder 2021-06-01 17:32:31 -04:00
351327c3d0 Use native macos runner for builds 2021-06-01 16:08:47 -04:00
1db0e2a15c Use new multi image cache scheme in the CI and consolidate runner tag specification so that it is easier to modify 2021-06-01 13:19:12 -04:00
5573fc33b9 Extract voxygen/src/i18n.rs into own crate
- New crate (i18n), currently under voxygen directory
- Updated CI to run localization test from i18n, not from voxygen
2021-05-09 13:12:26 +03:00
a610db5cfc have a seperate stage for scheduled builds 2021-04-23 17:48:02 +02:00
fab9d1c899 Merge branch 'xMAC94x/fix_benchmarks' into 'master'
fix upload of benchmarks

See merge request veloren/veloren!2149
2021-04-18 20:55:05 +00:00
6f46d20aee fix upload of benchmarks 2021-04-18 20:01:26 +02:00
Sam
48158a98c5 Moved coverage and benchmarks to only run post-merge. 2021-04-17 18:50:31 -04:00
63dc2ea551 unittest fix 2021-03-23 11:51:00 +01:00
c58eb1cf50 ci fails sporadically, remove file so it doesnt fail that often till we have a bettter toolchain 2021-03-23 10:30:29 +01:00
3d195348d2 fix ci, which was broken by merging unittests and check 2021-01-23 23:05:24 +01:00
adaea096d2 Update winit and iced 2021-01-23 01:09:33 -05:00
a590595149 Merged check and unit tests into single step
Reordered commands to run quickest first in order to tie up least CI resource
Fixed some clippy errors in examples
2021-01-19 19:58:51 +01:00
58bda48bf0 it seems like that the TAGUUID must start with a Alphabetic char 2020-12-12 00:20:57 +01:00
9dae7f1cf6 fix sql injection 2020-12-11 19:09:11 +01:00
d46271f052 switch host to mac94.de, because song is affraid of sql injection into a public db which doesn't cause any harm 2020-12-11 15:58:41 +01:00
9ec2a602e6 escape ENV variables with a randomly generated 16 char tag. remove installation of postgres client and move it to docker container 2020-12-11 13:26:04 +01:00
dad5bf3aff upload benchmark to central ci db
```sql
CREATE TABLE benchmarks(
    "timestamp" timestamptz NOT NULL DEFAULT (current_setting('veloren.timestamp')::timestamptz),
    branch text NOT NULL DEFAULT current_setting('veloren.branch'),
    sha text NOT NULL DEFAULT current_setting('veloren.sha'),
    "group" text NULL,
    "function" text NULL,
    "value" text NULL,
    throughput_num numeric NULL,
    throughput_type text NULL,
    sample_measured_value numeric NOT NULL,
    unit text NULL,
    iteration_count numeric NULL
);
```
2020-12-10 16:19:41 +01:00
1b47913835 fix clippy after toolchain update 2020-10-26 22:30:51 +01:00
153c6c3b13 Fixing Tarpaulin isn't easy.
So first off all we had to update the toolchain, i think everything in september is okay, but we got with this current version.
Then we had to update several dependencies, which broke:
 - need a specific fix of winit, i think we want to get rid of this with iced, hopefully, because its buggy as hell. update wayland client to 0.27
 - use a updated version of glutin which has wayland-client 0.27 and no longer the broke version 0.23
 - update conrod to use modern copypasta 0.7
 - use `packed_simd_2` instead of `packed_simd` as the owner of the create abandoned the project.
 - adjust all the coding to work with the newer glutin and winit version. that also includes fixing a macro in one of the dependencies that did some crazy conversion from 1 event type to another event type.
   It was called `convert_event`
 - make a `simd` feature which is default and introduce conditional compiling.
   AS I HAVE NO IDEA OF SIMD AND THE CODE. AND I DIDN'T INTRODUCE THE ERROR IN THE FIRST PLACE, WE PANIC FOR NON SIMD CASE FOR NOW. BUT IT WORKS FOR TESTS.
 - tarpaulin doesnt support no-default-features. so we have to `sed` them away. semms fair.
2020-10-26 17:04:20 +01:00
522880a0ab Update CI and docker files to work with changes to data folder structure 2020-10-10 02:10:32 -04:00
8e70bc4a3e Disable coverage for merge 2020-08-20 14:41:15 -04:00
5d60fb2e1d move i18n test to i18n file to reduce compile time && merge gitlab jobs to only have 1 cargo test job 2020-07-13 09:50:55 +02:00
72ec565678 fix localization test 2020-07-12 05:38:11 +03:00
d44128ac7a remove the strip of the linux binaries in CI, this will prob make it a few MB bigger but help to provide a backtrace in case we panic! in our builds or docker server 2020-07-10 16:03:06 +02:00