Commit graph

30 commits

Author SHA1 Message Date
Jonas Zohren
e8d998cedf fix(ci): Convince kaniko that it is indeed running in a container by --force-ing it. 2021-09-14 20:44:11 +00:00
Jonas Zohren
ab472e9b7c fix(ci): Fix aarch64 build
gcc-8-aarch64-linux-gnu is not available in debian 11 (which the rust image uses), so update to gcc-10

Signed-off-by: Jonas Zohren <git-pbkyr@jzohren.de>
2021-09-14 12:32:07 +02:00
Jonas Zohren
422bd09e32 Remove the "register an account with element" test
Broke due to a timeout and Timo does not like broken tests.
Less testing means less failing tests.

Also, hopefully sytest is less broken now.
2021-09-14 09:44:15 +00:00
Jonas Zohren
a1f51440e2 chore(CI): Adjust CI for master and next branch development model
- Build release builds for branches "master" and "next"
- Push docker images under different tags, depending on why the pipeline started
  - branch master: push to `latest`
  - branch next: push to `next`
  - tag: push to `$TAG_NAME`

Signed-off-by: Jonas Zohren <git-pbkyr@jzohren.de>
2021-09-02 17:17:51 +02:00
Jonas Zohren
3357bbec1e chore: Also run CI on git tags, not only new commits.
Signed-off-by: Jonas Zohren <git-pbkyr@jzohren.de>
2021-09-02 09:17:25 +02:00
Daniel Wiesenberg
a08ea15695 Use $CI_COMMIT_SHORT_SHA for GIT_REF
Using `$CI_COMMIT_REF_NAME` means we get `master` for every image build,
which is not very useful/informative. Using `$CI_COMMIT_SHORT_SHA`,
on the other hand, makes it possible to see exactly from which commit an
image was built.
2021-08-31 18:03:44 +02:00
Jonas Zohren
b6e755f67e Only apply max. optimizations in CI builds.
The average german man has a life expectancy of 78.7 years, or 689884.2 hours.
Assuming that Timo is 20 years old, he has rougly 514564.2 hours left on planet earth.
Also assuming that cross release builds took him 25 minutes before,
but 2-2.5x of that with the current release compilation config he wasted roughly an hour waiting for it to complete.
If he continued to work on Conduit for 20 more years (or 175320 hours),
and makes a release compilation about once per day, this means 7305 hours or 304 days wasted waiting for the rust compiler.
By cutting that back down to the original settings, he get's 182 days of his life back.
That's about 0.63% of his remaining life.
182 joyful days he can spend with family and loved ones.
2021-08-22 21:05:32 +00:00
Jonas Zohren
9c3a8edcae Use full optimizations for master and faster config else
Signed-off-by: Jonas Zohren <git-pbkyr@jzohren.de>
2021-08-14 21:41:27 +02:00
Daniel Wiesenberg
fcd127aadc Also push docker image to docker hub 2021-07-30 17:15:44 +02:00
Jonas Zohren
0a8dadb797 Add hardcoded artifacts.expose_as to show them in MRs 2021-07-19 20:39:58 +02:00
Jonas Zohren
678ce0abc6 CI: Create docker image with musl binary 2021-07-19 20:39:58 +02:00
Jonas Zohren
d6b37480e7 CI: Fix package upload 2021-07-19 10:00:44 +00:00
Jonas Zohren
130b9841da CI: Add sytest 2021-07-19 08:47:31 +00:00
Jonas Zohren
2babff1e41 CI: Test registration with element web 2021-07-19 08:23:04 +00:00
Jonas Zohren
eaa4c77641 CI: Check format before running test
Testing needs compilation and is slow. Format checking is quick.
As format checking fails more often than tests,
switching them should result in faster failure and feedback
2021-07-14 20:33:19 +00:00
Jonas Zohren
3fa09ff57d Use thin-lto [1] for "better" release builds.
This performs a rather quick variant of Link Time Optimization [2].
It should add negligible build time but also more optimized binaries.

[1]: https://doc.rust-lang.org/cargo/reference/profiles.html#lto

[2]: https://llvm.org/docs/LinkTimeOptimization.html
2021-07-12 20:21:13 +00:00
Jonas Zohren
0080932aef Speed up release builds
Setting cargo to run incremental builds means partial build results should be cached. This is not enabled by default in release mode.

Incremental builds use 256 codegen units by default [1].
We set them to 16 (release default) again for somewhat faster code but slightly slower builds.


[1]: https://doc.rust-lang.org/cargo/reference/profiles.html#codegen-units
2021-07-12 20:18:14 +00:00
Jonas Zohren
888a2f7fa1 Make CI run on famedly runners
By default, jobs without tags only run on CI runners configured to do so [1].
Conduit can use famedly runners, which are more powerfull than gitlab's runners, but require a tag on the job to run it there.
This commit tags each job with the "docker" tag.
On the famedly/conduit repo this means faster CI.
On other gitlab.com forks the normal ci.
Selfhosted gitlab's might need to add a "docker" tag to their runner.

[1]: https://docs.gitlab.com/ee/ci/runners/configure_runners.html#use-tags-to-limit-the-number-of-jobs-using-the-runner
2021-07-12 19:58:35 +00:00
Jonas Zohren
36681dd3ac Fix: Duplicate releases don't work, remove nightly 2021-07-11 11:43:48 +00:00
Jonas Zohren
fcc30f059e Fix: Nightly release tag name should not be a branch name
According to tulir this breaks the GitLab Matrix bot, and nightly is a better match anyway
2021-07-02 14:58:00 +00:00
Jonas Zohren
a7cb1c999a Publish master builds as nightly releases & also build debs 2021-07-02 12:26:26 +00:00
Jonas Fowl
b84c66daba Generate binaries for 3 architectures in the CI
The result is stored in the gitlab package registry
2021-06-01 00:58:50 +00:00
Timo Kösters
fd69ac621c
fix: run ci with docker 2021-05-22 21:41:08 +02:00
Jonas Fowl
3ea0d2b567 Try to improve CI build times by caching 2021-05-13 07:57:11 +00:00
Jonathan de Jong
80f1844476 fix rustup pls 2021-05-05 17:44:32 +00:00
Jonathan de Jong
9bf99e99a8 fix clippy rustup 2021-05-05 17:26:59 +00:00
Jonathan de Jong
442d0732a4 add rustup 2021-05-05 17:01:48 +00:00
Jonathan de Jong
9d2cc4d8b1 add cargo fmt check 2021-05-05 16:48:44 +00:00
Jonathan de Jong
e48cd9b018 add clippy to CI 2021-05-05 16:41:22 +00:00
Jonathan de Jong
f79053484b Add .gitlab-ci.yml 2021-03-13 20:18:56 +01:00