Commit Graph

127 Commits

Author SHA1 Message Date
maxicarlos08
b7cc9c8f24
override default before_script for gittag job 2023-12-21 17:47:13 +01:00
maxicarlos08
58592e9ae0
print git version in gittag job 2023-12-21 15:47:33 +01:00
maxicarlos08
312e8165d0
use bitnami/git image for gittag job 2023-12-21 15:47:29 +01:00
Joshua Barretto
777874c805 Perform a cleanup before publishing a tag 2023-11-30 10:17:06 +00:00
Marcel Märtens
a100ee15a3 the error seems to be persistent, e.g. https://gitlab.com/veloren/veloren/-/jobs/5378935781#L208
The object does not seem to exist in the respective hash:
```
Checking out d690f256 as detached HEAD (ref is master)...
bad object 3908ca9e842530c44ea05ac673ae2d93bc636e24
```

trying out to log more info
2023-10-27 00:53:05 +02:00
maxicarlos08
cee3ee46c7
added explanatory comment 2023-10-13 14:35:16 +02:00
maxicarlos08
d8785d3297
enable thin lto for macos 2023-10-13 14:35:16 +02:00
Marcel Märtens
13188b49e1 We noticed multiple CI errors over the last week, e.g. https://gitlab.com/veloren/veloren/-/jobs/4749826609
$ if [[ ! "${SCHEDULE_CADENCE}" =~ ${TAG_REGEX} ]]; then # collapsed multi-line command
warning: redirecting to https://gitlab.com/veloren/veloren.git/
Locking support detected on remote "origin". Consider enabling it with:
  $ git config lfs.https://veloren-bot:[MASKED]@gitlab.com/veloren/veloren.git/info/lfs.locksverify true
ref weekly:: Error in git rev-list --stdin --objects --not --remotes=origin --: exit status 128 fatal: bad object 11bc48033cf4e6528268f2acd97324e16e118bce
error: failed to push some refs to 'https://veloren-bot:[MASKED]@gitlab.com/veloren/veloren'

There seems to be a fix proposed here: https://github.com/git-lfs/git-lfs/issues/3977 by running git fetch first.
lets try it out. Maybe we need to give it some commandline parameters to optimize in the future
2023-07-27 13:22:06 +02:00
Imbris
02637ff347 Revert GIT_STRATEGY: none from !3983, it turns out that the git repo is
actually needed in the docker job for the docker file in the server-cli
folder... although it is only 1 file so there may be more efficient ways
to get it...
2023-07-18 21:33:02 -04:00
Imbris
fb99265d4a Use common base image for gittag job 2023-07-16 20:30:56 -04:00
Imbris
f0a324e729 Minor CI optimization (don't fetch git repo in docker publishing job
where we don't use it)

(and cargo decided to update cfg-if version in random dependency)
2023-07-16 20:30:55 -04:00
Marcel Märtens
9009491f5c move translations over too 2023-06-27 00:13:01 +02:00
Marcel Märtens
6d4338943d swap out cidb server and give it an own dns entry 2023-06-16 15:22:07 +02:00
Marcel Märtens
fd681ea041 fix windows lib ci copy 2023-05-10 16:38:46 +02:00
Imbris
8da8b56308 Generate index page for documentation using unstable flag 2023-04-22 14:16:34 -04:00
Marcel Märtens
b6f6de62b5 reenable coverage 2022-09-26 08:36:17 +02:00
Ben Wallis
693e3be066 Temporarily disabled coverage build step due to issues building docker cache image 2022-09-15 17:08:08 +01:00
juliancoffee
a16af15140 Make CI trigger on .ftl changes 2022-08-19 18:29:47 +03:00
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
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
Imbris
a54e4c5dd0 Make sure to copy binaries from the right location in aarch CI 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
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
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
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
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
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