Commit Graph

131 Commits

Author SHA1 Message Date
Marcel Märtens
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
Ben Wallis
af04843a20 Re-enabled mimalloc for non msvc builds 2022-07-10 14:50:35 +01:00
Marcel Märtens
697673bcca update toolchain to nightly-2022-04-25 2022-05-03 15:22:28 +02:00
Marcel Märtens
6aa4d664fc accidently checked for SCHEDULE_CADENCE to be empty 2022-04-28 12:03:58 +02:00
Marcel Märtens
dba817ba57 kaniko seems to have a different shell that doesnt support local command, just use export then 2022-04-25 08:10:35 +02:00
Marcel Märtens
0941dfffae Seems like before_script in publish was overwriting cargo on pages job, so i just move it into the script itself 2022-04-24 19:48:27 +02:00
Marcel
731fd1021d Merge branch 'xMAC94x/no_deps' into 'master'
skip artifact downloading in CI page and tag jobs

See merge request veloren/veloren!3338
2022-04-24 17:45:24 +00:00
Marcel Märtens
ddb90b9f5a skip artifact downloading in CI page and tag jobs 2022-04-24 18:26:21 +02:00
Marcel Märtens
c55cbb16e1 fix typo 2022-04-24 18:21:36 +02:00
Marcel Märtens
0c50d6fe24 include gittag into yaml 2022-04-24 10:42:14 +02:00
Marcel Märtens
618d4b2340 simply scripts alot, not the null check is necessray because gitlab ci regex with variables is weird and would contain errors otherwise.
limit pages to master run only, as we dont export scheduled pages
2022-04-24 10:41:35 +02:00
Marcel Märtens
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
Marcel Märtens
32de827e61 add linux-aarch64 on master builds to be consistent 2022-03-03 10:33:19 +01:00
Ben Wallis
bbe8f9db8b Fixed artifact paths for mac builds 2022-02-18 14:10:11 +00:00
Marcel
5c18bd2b77 Merge branch 'xMAC94x/update_cache_image' into 'master'
update cache image for ci

See merge request veloren/veloren!3203
2022-02-16 21:41:29 +00:00
Marcel Märtens
5972c3ee1e undo stage renaming 2022-02-15 09:41:49 +01:00
Marcel Märtens
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
Ben Wallis
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
juliancoffee
43b5af2980 Create asset_migrate bin from entity_migrate 2022-01-28 00:02:34 +02:00
juliancoffee
79a04c3533 fmt 2022-01-28 00:02:34 +02:00
juliancoffee
d5b927602a Loadout Udpate: NpcData part
Actually implement creating npc with new EntitytInfo by chaning
CreateNpc.loadout to CreateNpc.inventory and cleaning code in
NpcData::from_entity_info.
2022-01-28 00:02:34 +02:00
fetsorn
338dec41ab Fix typo "incase"->"in case" 2022-01-06 18:28:05 +00:00
Imbris
a54e4c5dd0 Make sure to copy binaries from the right location in aarch CI 2021-11-23 21:27:23 -05:00
Imbris
0816624d23 Try with: export PKG_CONFIG 2021-11-23 21:27:23 -05:00
Imbris
30df174c3d Fix order of env var and time command in aarch CI script, remove duplicate release flag, reorder target flag to be in the same order as the target flag for windows 2021-11-23 21:27:23 -05:00
Imbris
d137623dba Add aarch64 build to the gitlab CI yml 2021-11-23 21:27:23 -05:00
Imbris
4bbf5c7483 Apply Add-CI-build-script-for-cross-compiling-Aarch64.patch from @linux4kix 2021-11-23 21:27:21 -05:00
Imbris
79128e1e4b Remove deletion of incremental folder from the CI scripts, the rustc incremental issue should be fixed 2021-11-22 02:04:19 -05:00
Ben Wallis
c00bca7e93 Added cargo cmd-doc-gen to auto-generate the table of commands in the new players/commands.md page in the book 2021-08-21 13:36:55 +01:00
Marcel Märtens
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
Ben Wallis
5b4a7722b1 Added veloren-publish tags and veloren-build tags to CI configuration 2021-08-19 09:08:49 +02:00
Marcel Märtens
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
Snowram
a3851c9214 Retry release jobs on failure 2021-07-31 00:09:54 +02:00
Marcel Märtens
4c0b74150d remove some reexports 2021-07-29 22:18:34 +02:00
Marcel Märtens
5e21430204 execute jobs only if all previous jobs in previous stages succeded, e.g. in case of error in windows job dont push the linux docker container or change the tag yet 2021-07-22 12:05:43 +02:00
Marcel Märtens
8285b1d6e0 create a nightly tag that always point to the released nightly version of veloren in the respective schedule so that others can consume it 2021-07-21 08:43:48 +02:00
Marcel Märtens
9227390531 quickfix to avoid kaniko stopping with
"kaniko should only be run inside of a container, run with the --force flag if you are sure you want to continue" error
applied as described here https://github.com/GoogleContainerTools/kaniko/issues/1542

its also done in veloren-docker-cli: c8aa8ac857

We didnt had that problem in veloren repo until now.
2021-07-19 13:33:19 +02:00
Marcel Märtens
f11b6a09d6 now fix tarpaulin target cleanup, hopefully 2021-07-19 10:39:22 +02:00
Marcel Märtens
67cc5f07a2 set CI to also check a MR if it only modifies shell scripts 2021-07-18 18:53:52 +02:00
Marcel Märtens
2b6519baa2 choose correct path for tarpaulin 2021-07-18 18:52:08 +02:00
Marcel Märtens
eeafdfed3a Revert "no longer incremental builds in CI"
This reverts commit b3983c5451.
2021-07-17 21:53:32 +02:00
Marcel Märtens
26d32d1273 fix scripts that ended with && and correct the ASSETS variable for tests 2021-07-16 15:32:39 +02:00
Marcel Märtens
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
Marcel Märtens
b3983c5451 no longer incremental builds in CI 2021-07-14 21:55:12 +02:00
Marcel Märtens
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
Marcel Märtens
88fb4deebf allow optinal releases on master if its no merge_request to allow it on forks, also adjust the workflow rules to run on release branches
ignore Gitlab user also for releases, as all protected branches are synced
2021-07-09 19:06:39 +02:00
Marcel Märtens
6efe3523d5 test on merge event rather than branch name master as a fork could also have a branch master 2021-07-09 11:19:22 +02:00
Marcel Märtens
fcc6bb819b make sure that all CI jobs run always and not only in branch 2021-07-09 11:19:20 +02:00
juliancoffee
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
Avi Weinstock
957ba5d218 Use new dungeons in dungeon_voxel_export, remove old dungeon sampling function, and add more of world/examples to CI. 2021-06-27 15:35:43 -04:00