Commit Graph
43 Commits
Author SHA1 Message Date
Jonas Zohren e5bac5e4f5 fix: Running in Docker 2022-02-02 14:07:35 +01:00
Jonas Zohren 9478c75f9d Use prebuilt CI-containers from https://gitlab.com/jfowl/conduit-containers
Also run all builds on approved MRs
2022-02-02 13:31:28 +01:00
Jonas Zohren 401b88d16d fix: Healtcheck use netstat for port as fallback 2022-01-28 23:23:58 +01:00
Jonas Zohren 8c1cf733b5 Merge branch 'fix-healthcheck-no-port' into 'next'
fix: Use default port for healthcheck as fallback

Closes #222

See merge request famedly/conduit!274
2022-01-28 21:48:25 +00:00
Jonas Zohren 44f7a85077 fix: Use default port for healthcheck as fallback
Conduit can start without a specific port being configured.
This adjusts the healthcheck script to tolerate that state.

Closes https://gitlab.com/famedly/conduit/-/issues/222
2022-01-28 22:33:49 +01:00
Jonas Zohren ba8d5abb67 Merge branch 'fix/sccache' into 'next'
Fix CI cargo-cross caching with sccache

See merge request famedly/conduit!264
2022-01-26 18:54:13 +00:00
Jonas Zohren 4a34d757d7 Merge branch 'fix/rocksdb-cross-compiling' into 'next'
Fix cross-compiling for RocksDB

Closes #213

See merge request famedly/conduit!261
2022-01-23 15:58:27 +00:00
Jonas Zohren 24aa034e48 Merge branch 'ci-fix-cargo-test-missing-libclang' into 'next'
CI: Fix cargo-test

See merge request famedly/conduit!255
2022-01-16 20:57:23 +00:00
Jonas Zohren 10f1da12bf CI: Fix cargo-test 2022-01-16 20:57:23 +00:00
Jonas Zohren 8fc51f0029 Merge branch 'ci-cargo-home-workaround' into 'next'
Fix(ci): Disable CARGO_HOME caching

See merge request famedly/conduit!246
2022-01-13 22:24:47 +00:00
Jonas Zohren f67785caaf Fix(ci): Disable CARGO_HOME caching 2022-01-13 22:24:47 +00:00
Jonas Zohren 339a26f56c Update docker images 2021-12-15 10:14:20 +00:00
Jonas Zohren adb518fa0d CI: Use curl instead of wget
The rust docker image already comes with curl, no need to install wget.
2021-12-14 11:16:40 +01:00
Jonas Zohren f91216dd3c CI: Optionally use sccache for compilation
This moves compiler caching for incremental builds away from GitLab
caching the whole target/ folder to caching each code unit in S3.
This aleviates the need to zip and unzip and just caches on the fly.

This feature is optional and gated behind the SCCACHE_BIN_URL env
2021-12-14 11:16:02 +01:00
Jonas Zohren 9bfc7b34b6 Fixes for !225 2021-11-25 22:36:44 +00:00
Jonas Zohren 2fff720df3 CI: New Multiarch builds and Docker images + cargo clippy/test output now integrated into GitLab 2021-11-21 17:34:08 +00:00
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
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
Jonas Zohren 4cf3c432af Try to set canonical room alias on room creation.
The spec does not require servers to apply a room canonical alias event upon room creation (yet).
Still, synapse does that, since users can set their desired alias in Elements room creation dialog.
With this commit, conduit also sets that alias if it is a valid one.

This closes https://gitlab.com/famedly/conduit/-/issues/123
2021-08-12 14:02:46 +02:00
Jonas Zohren 32db4c09a0 Docs: Remove arm download, but add x86_64 musl one 2021-07-21 09:21:49 +00:00
Jonas Zohren 167e903a56 Fix typo 2021-07-19 22:02:10 +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 cdd01262d2 Shorten more templates 2021-07-18 20:43:21 +00:00
Jonas Zohren 092221ca3f Reduce amount of text in Bug Report template 2021-07-18 20:30:57 +00:00
Jonas Zohren 5d8ad4fd72 Add some more details to the MR template 2021-07-17 12:22:11 +02:00
Jonas Zohren 7054f74783 Add issue template for GitHub which redirects to Gitlab 2021-07-17 12:21:41 +02:00
Jonas Zohren 82a4ec9cbd Add more detailed issue templates
Shamelessly stolen from
https://github.com/HedgeDoc/client

Originally written by
https://github.com/ErikMichelson and
https://github.com/DerMolly
2021-07-17 12:00:38 +02: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