Commit Graph
80 Commits
Author SHA1 Message Date
Jonas Zohren a2a7c61872 Merge branch 'docker-bump-alpine-version' into 'next'
chore(docker): Bump alpine (base image) version

Closes #255

See merge request famedly/conduit!330
2022-03-18 17:52:50 +00:00
Jonas Zohren 61277452af chore(docker): Bump alpine (base image) version 2022-03-18 18:44:05 +01:00
Jonas Zohren 738f5e8f68 Merge branch 'ci-fix-cross-musl-builds' into 'next'
CI: Fix musl builds

See merge request famedly/conduit!328
2022-03-08 22:13:31 +00:00
Jonas Zohren 5a9462c9ab fix(ci): Fix musl builds
This pins the image to use for cross to a working image's sha256
2022-03-08 21:52:57 +00:00
Jonas Zohren 36a6d724fe Merge branch 'writable' into 'next'
Fix permissions

See merge request famedly/conduit!317
2022-03-01 23:55:10 +00:00
Jonas Zohren 6788225cac Merge branch 'fix-docker-db-dir-permissions' into 'next'
Fix(docker): Make conduit own default db path

See merge request famedly/conduit!320
2022-02-22 15:34:14 +00:00
Jonas Zohren a5bb6786c8 fix(docker): Make conduit own default db path
When a user mounts a volume into the default volume path,
it uses the permissions and ownership from the host volume.
In most cases, this is 1000:1000, which it also uses on the inside.

If you don't mount a volume though (e.g., for testing), conduit cries:
“The database couldn't be loaded or created.”

This fix chowns the default db dir to remedy this.
2022-02-22 16:26:30 +01:00
Jonas Zohren 237645e975 Merge branch 'docs' into 'next'
docs: make all configs match

Closes #205

See merge request famedly/conduit!301
2022-02-20 10:59:56 +00:00
Jonas Zohren 86162c2c20 Merge branch 'next' into docs 2022-02-20 11:43:50 +01:00
Jonas Zohren 199c84195a Merge branch 'improve-docker-documentation' into 'next'
Improve docker documentation some

See merge request famedly/conduit!314
2022-02-20 10:43:05 +00:00
Jonas Zohren 57ac4160b7 Merge branch 'next' into docs 2022-02-20 11:42:19 +01:00
Jonas Zohren 91c648253a Merge branch 'docs-remove-obsolete-cross-readme' into 'next'
Remove the now obsolete cross readme

See merge request famedly/conduit!315
2022-02-20 10:22:47 +00:00
Jonas Zohren 5a80507006 chore(docs): Remove the now obsolete cross readme 2022-02-20 11:12:49 +01:00
Jonas Zohren 0ba0fa5f6c Merge branch 'ci-audit-dependencies' into 'next'
CI: audit dependencies

See merge request famedly/conduit!313
2022-02-19 11:25:30 +00:00
Jonas Zohren ad6eb92bbd feat(ci): Add dependency audit to CI tests 2022-02-19 12:19:06 +01:00
Jonas Zohren 8f063c99d5 chore(ci): Split up tests 2022-02-18 22:29:55 +01:00
Jonas Zohren f3795846b5 Merge branch 'readme' into 'next'
Slight clarification

See merge request famedly/conduit!310
2022-02-18 12:19:51 +00:00
Jonas Zohren ba83d0ac68 Merge branch 'more-vscode-defaults' into 'next'
Provide some sane defaults for vscode developing

See merge request famedly/conduit!309
2022-02-17 15:33:03 +00:00
Jonas Zohren bcd6c0bf53 feat: Provide sane defaults for vscode developing
This includes some extensions and a debug profile
2022-02-17 11:14:50 +00:00
Jonas Zohren b4225cb0fc fix(docker): use user 1000 and standard db path 2022-02-16 15:13:04 +01:00
Jonas Zohren 98b67da649 fix: Docker syntax 2022-02-16 15:13:03 +01:00
Jonas Zohren 0be8500c4f Set all env vars in docker README 2022-02-16 15:12:40 +01:00
Jonas Zohren 97507d2880 Remove most env vars from Dockerfile 2022-02-16 15:12:40 +01:00
Jonas Zohren c4353405a5 Suggestions from Jonas Zohren 2022-02-16 15:12:38 +01:00
Jonas Zohren c66866d890 Merge branch 'ci-lint-dockerfiles-with-hadolint' into 'next'
CI: Lint dockerfiles with hadolint

Closes #239

See merge request famedly/conduit!308
2022-02-15 19:10:12 +00:00
Jonas Zohren b21a44ca4c feat(ci): Lint dockerfiles with hadolint 2022-02-15 20:01:38 +01:00
Jonas Zohren e04d4ff150 Merge branch 'ci-fix-tag-pipelines' into 'next'
Ci fix tag pipelines

Closes #229

See merge request famedly/conduit!307
2022-02-15 10:56:25 +00:00
Jonas Zohren 2645494582 fix(ci): Also run CI for git tags 2022-02-15 11:17:46 +01:00
Jonas Zohren 77f4b68c8e fix(ci): Also create versioned docker image 2022-02-15 11:17:32 +01:00
Jonas Zohren 0cec421930 Merge branch 'ci-hotfix-sytest-on-master' into 'next'
fix(ci): Always build debug version for sytest

See merge request famedly/conduit!289
2022-02-04 17:51:57 +00:00
Jonas Zohren 826b077e21 fix(ci): Always build debug version for sytest 2022-02-04 18:43:13 +01:00
Jonas Zohren 4dcc080ad9 Merge branch 'pre-release-doc-changes' into 'next'
Pre-0.3 doc adjustments

See merge request famedly/conduit!287
2022-02-04 17:12:33 +00:00
Jonas Zohren 103dc7e09b Pre-0.3 doc adjustments 2022-02-04 18:05:24 +01:00
Jonas Zohren 510a44699d Merge branch 'fix-healthcheck-no-port' into 'next'
Docker: Healtcheck and build fixes

Closes #222

See merge request famedly/conduit!277
2022-02-02 14:07:49 +00:00
Jonas Zohren c4733676cf Apply feedback from Ticho 2022-02-02 13:35:15 +00:00
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 004dfdeaac Merge branch 'ci-test-using-prebuilt-images' into 'next'
Use custom container images for CI

Closes #221

See merge request famedly/conduit!273
2022-02-01 23:51:38 +00:00
Jonas Zohren fa4099b138 Use prebuilt CI-containers from https://gitlab.com/jfowl/conduit-containers
Also run all builds on approved MRs
2022-02-01 23:51:38 +00: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