Commit graph

172 commits

Author SHA1 Message Date
Dessalines
993489a80f
Combine prod and dev docker setups using build-arg (#2739)
* Combine prod and dev docker setups using build-arg

- Fixes #2603

* Dont use cache for release build.
2023-02-17 15:29:45 +09:00
Dessalines
bc8845391f
Add a ntfy notif on a tag deploy success. (#2701) 2023-02-05 02:51:48 +09:00
4dddc3f717
Disable pictrs feature in CI to make it faster (#2698) 2023-02-04 03:32:44 +09:00
36ac1b54c1
Publish without verify (#2681)
Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
2023-01-31 10:41:48 -05:00
Dessalines
a610211557
Fixing .drone.yml (#2677)
* Try to fix docker/drone plugin

* Trying to use one rust image.

* Fixing drone 1.

* Fixing drone 2.

* Add drone notify.

* Fixing drone 3.

* Fixing drone 4.

* Fix clippy.

* Remove uninlined format lint.

* Combine all cargo tasks

* Fixing drone 5.

* Fixing drone 6.

* Fixing drone 7.

* Fixing drone 8.

* Fixing drone 9.

* Fixing drone 10.

* Fixing drone 12.

* Fixing drone 13.

* Fixing drone 14.

* Fixing drone 15.

* Fixing drone 16.

* Fixing drone 17.

* Fixing drone 18.

* Fixing drone 19.

* Fixing drone 20.

* Fixing drone 21.

* Fixing drone 22.

* Fixing drone 23.

* Fixing drone 24.

* Fixing drone 25.

* Fixing drone 26.

* Fixing drone 27.

* Fixing drone 28.

* Fixing drone 29.

* Fixing drone 30.

* Fixing drone 31.

* Fixing drone 32.

* Fixing drone 33.

* Fixing drone 34.

* Fixing drone 35.

* Fixing drone 36.

* Fixing drone 37.

* Fixing drone 38.

* Fixing drone 39.

* Fixing drone 40.

* Fixing drone 41.

* Fixing drone 43.

* Fixing drone 44.

* Fixing drone 45.

* Last cleanup.

* Fixing drone 46.

* Separate ci steps (#2679)

* separate ci steps

* fix 1

* add comments

* dont add rustfmt explicitly

* Revert "dont add rustfmt explicitly"

This reverts commit 358ce3302a134b7ac88d90a854079356995e9725.

* dont use all features for tests

---------

Co-authored-by: Nutomic <me@nutomic.com>
2023-01-30 14:17:24 -05:00
1eaf2c8a03
Add feature to embed pictrs in lemmy binary (fixes #2627) (#2633)
* Add feature to embed pictrs in lemmy binary (fixes #2627)

* Add pictrs config

* add protobuf

Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
2023-01-20 12:46:49 -05:00
96a2bec691
Set cargo home in ci to avoid redownloading deps between steps (#2587)
* Set cargo home in ci to avoid redownloading deps between steps

* remove protobuf

Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
2022-11-24 23:43:31 -05:00
d39bc14c43
Add some more clippy lints (#2586)
* Add some more clippy lints

* restore config

* no allow dirty

Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
2022-11-24 16:38:00 +00:00
c3c4508a72
Use release docker image for nightly build (#2583)
Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
2022-11-24 08:33:58 -05:00
4ddca46228 Revert "Test drone (#2582)"
This reverts commit 87c7ee5490.
2022-11-23 21:25:24 +01:00
87c7ee5490
Test drone (#2582) 2022-11-23 15:23:23 -05:00
6f3bf4634b
Various pedantic clippy fixes (#2568)
* Various pedantic clippy fixes

* more clippy pedantic fixes

* try to fix ci

* add fix clippy script, use rust 1.65

* fix clippy
2022-11-19 04:33:54 +00:00
df7809fbbb
Specify dependencies and metadata for entire workspace (#2565)
* Specify dependencies and metadata for entire workspace (fixes #2474)

* building api_common shouldnt depend on diesel

* remove drone task

* try with quotes

* fix clippy

* more clippy
2022-11-17 15:23:01 +00:00
Dessalines
5d837780f5
Add diesel_async, get rid of blocking function (#2510)
* Moving settings to Database.

- Moves many settings into the database. Fixes #2285
- Adds a local_site and instance table. Fixes #2365 . Fixes #2368
- Separates SQL update an insert forms, to avoid runtime errors.
- Adds TypedBuilder to all the SQL forms, instead of default.

* Fix weird clippy issue.

* Removing extra lines.

* Some fixes from suggestions.

* Fixing apub tests.

* Using instance creation helper function.

* Move forms to their own line.

* Trying to fix local_site_data, still broken.

* Testing out async

* Testing out async 2

* Fixing federation tests.

* Trying to fix check features 1.

* Starting on adding diesel async. 1/4th done.

* Added async to views and schema.

* Adding some more async

* Compiling now.

* Added diesel async. Fixes #2465

* Running clippy --fix

* Trying to fix cargo test on drone.

* Trying new muslrust.

* Trying a custom dns

* Trying a custom dns 2

* Trying a custom dns 3

* Trying a custom dns 4

* Trying a custom dns 5

* Trying a custom dns 6

* Trying a custom dns 7

* Addressing PR comments.

* Adding check_apub to all verify functions.

* Reverting back drone.

* Fixing merge

* Fix docker images.

* Adding missing discussion_languages.

* Trying to fix federation tests.

* Fix site setup user creation.

* Fix clippy

* Fix clippy 2

* Test api faster

* Try to fix 1

* Try to fix 2

* What are these lines about

* Trying to fix 3

* Moving federation test back to top.

* Remove logging cat.
2022-11-09 10:05:00 +00:00
04f0f3af0b
Update clippy to use Rust 1.64 (#2498) 2022-10-14 16:09:37 +00:00
Dessalines
c9f1407429
Diesel 2.0.0 upgrade (#2452)
* Initial commit to bump diesel to 2.0.0-rc.0 and see what happens

* Add chrono feature from diesel

* db_schema crate is close to building?

* Upgrade diesel-derive-newtype

* Mostly modifying references to connections to be mutable ones; also used
new way to do migrations as suggested by the migration guide; a lot more
compiles now, though I can't figure out this tricky ToSql issue at the
moment

* Running clippy --fix

* Trying to fix drone clippy 1

* Fix clippy

* Upgrade clux-musl

* Trying to fix drone clippy 2

* Trying to fix drone clippy 3

* Trying to fix drone clippy 5

* Adding diesel table aliases, removing sql view hack. Fixes #2101

Co-authored-by: Steven Chu <stevenc1@gmail.com>
Co-authored-by: Nutomic <me@nutomic.com>
2022-09-26 14:09:32 +00:00
8a4d9cc1ba
Use typed-builder crate for queries (#2379)
* Use typed-builder crate for PrivateMessageQuery

* derive builder for all queries

* remove unnecessary clones

* fix tests
2022-08-04 15:30:17 -04:00
Dessalines
9c3efe32e7
First pass at adding comment trees. (#2362)
* First pass at adding comment trees.

- Extracted comment replies into its own table.
- Added ltree column to comment
- Added parent_id param to GetComments to fetch a tree branch
- No paging / limiting yet

* Adding child_count to comment_aggregates.

* Adding parent comment update counts

* Fix unit tests.

* Comment tree paging mostly done.

* Fix clippy

* Fix drone tests wrong postgres version.

* Fix unit tests.

* Add back in delete in unit test.

* Add postgres upgrade script.

* Fixing some PR comments.

* Move update ltree into Comment::create

* Updating based on comments.

* Fix send soft fail.
2022-07-30 05:55:59 +02:00
ddc9763050
Fix wrong clippy warning in ci (#2339) 2022-07-05 17:41:22 -04:00
587a0de8f7
Specify minimum Rust version 1.57 (fixes #2333) (#2334)
* Specify minimum Rust version 1.57 (fixes #2333)

* use latest rust for clippy

* use rust 1.60 for clippy

* no add component

* use official rust docker

* comments
2022-06-28 17:44:55 -04:00
Dessalines
916c53ccec
Move different features drone check to below defaults.hjson check. (#2296) 2022-06-06 12:09:43 +00:00
9a458d2e4b
Run cargo check for each crate with different features (ref #2284) (#2292) 2022-06-02 18:19:53 +00:00
60e9586530
Add drone task for nightly build (#2264) 2022-05-19 20:30:16 +00:00
26d5b38115 Fix CI failures 2022-05-16 13:50:41 +02:00
80684de7da Make opentelemetry dependency optional 2022-05-11 14:29:01 +02:00
99f3141841
Update to Rust 1.60 (#2247) 2022-05-10 17:04:40 +00:00
3aa3d75a1e
Add cargo feature for building lemmy_api_common with mininum deps (#2243) 2022-05-03 17:44:13 +00:00
Dessalines
2e65b31aa6
Fix arm submodule (#2174) 2022-03-29 18:05:18 +00:00
cb44b14717
WIP: Email localization (fixes #500) (#2053)
* Allow email localization (fixes #500)

* add PersonAggregates::default()

* add lemmy-translations submodule

* fix gitmodules
2022-03-24 15:25:51 +00:00
Dessalines
ad76c75821
Trying to add docker:latest. Fixes #1959 (#1960)
* Trying to add docker:latest. Fixes #1959

* Version 0.14.4-rc.3

* Trying to fix clippy on crate build

* Version 0.14.4-rc.4
2021-11-26 12:38:55 +00:00
Dessalines
3bd827c73a
Temporarily disable arm tests (#1895)
* Temporarily disable arm tests

* Disable cargo build
2021-11-11 14:49:48 -05:00
5b3be5c102 Updating rust musl images 2021-11-09 17:16:59 -05:00
Dessalines
44b5fe0631
Stop using lemmy-ui:dev images (#1880)
* Stop using lemmy-ui:dev images

* Dont publish dev docker images with drone.
2021-11-05 21:49:15 +00:00
7bfe59a89f
Format config/defaults.hjson before committing (#1860) 2021-10-22 13:29:47 -04:00
Dessalines
23731cd49c
Trying out rust-musl-builder for cargo publish (#1856)
* Trying out rust-musl-builder for cargo publish

* Version 0.13.5-rc.1

* Try rust:nightly

* Version 0.13.5-rc.2

* Try rust slim

* Version 0.13.5-rc.3

* Try rust 1.51

* Version 0.13.5-rc.4

* Trying another nightly

* Version 0.13.5-rc.5

* Trying another fix

* Version 0.13.5-rc.6
2021-10-21 13:26:01 -04:00
21304e6751
Create a custom pre-commit hook, generates config/defaults.hjson (#1857)
* Create a custom pre-commit hook, generates config/defaults.hjson (fixes #1836)

* invalid defaults file

* Revert "invalid defaults file"

This reverts commit 76d2c303e293b13d581f9c5aa2944caedb2f530b.
2021-10-21 12:57:09 -04:00
Dessalines
c28c1b4bb3
Trying to fix arm builds. (#1761)
* Trying to fix arm builds.

* Adding comment
2021-09-02 11:00:45 +00:00
Dessalines
af225a42d0
Fix prod deploy script and clippy (#1724)
* Updating lemmy-js-client.

* Fix prod deploy script and clippy

* Try using buster.

* Using more generic and updated images.

* again.

* again.

* Try alternate env

* again.

* again.

* Version 0.11.4-rc.24

* again.

* Better old_tag

* Version 0.11.4-rc.27

* Updating cargo.lock

* Trying to run a cargo check to update the lock

* Version 0.11.4-rc.28
2021-08-25 17:26:10 -04:00
a44b5c9c36 publish to crates.io with normal release script 2021-08-09 18:44:18 +02:00
Dessalines
f67b0e9ff8
Updating to rust 1.51.0 (#1598) 2021-05-03 14:46:12 +00:00
dc1a0dcd5e
Fetch git tags manually in CI (#1590)
* Fetch git tags manually in CI

* Dont need espeak in CI anymore
2021-04-26 09:30:30 -04:00
b8a6592369
Drone release main (ref #1556) (#1557)
* publish docker images from main

* try with separate step

* redo, lots of boilerplate

* try to fix syntax

* unique step names

* fix docker tags, remove cargo-chef

* only build dev image on main branch

* use `ref` for condition, as `branch` uses the target branch for PRs

* consistent indents

* fix tag

* use lemmy-ui:dev image for `docker/dev` and `docker/federation`
2021-04-08 10:33:58 -04:00
74a63804dc
Fix test failure due to config loading error (#1547)
* Crash if config fails to load

* fix previous commit

* Fix test failure due to config loading error

* Adding test fix to drone.

* Logging line.

* Trying to fix drone 2

* Fixing deploy script.

Co-authored-by: Dessalines <tyhou13@gmx.com>
2021-04-05 13:21:56 -04:00
ae635c752a Try to remove cargo home changing to fix release. 2021-03-19 15:57:56 -04:00
c88722983e Merge branch 'main' into split_user_table 2021-03-18 19:36:48 -04:00
33a326854a
Set CARGO_HOME for CI so deps arent redownloaded (#1497)
* Set CARGO_HOME for CI so deps arent redownloaded

* run find on x86

* fix path

* cleanup

* try again

* use mv
2021-03-18 16:35:04 -04:00
7d04f371a5 fixing tests 3 2021-03-11 12:08:30 -05:00
7f56281c26 Forbid usage of unwrap 2021-03-01 19:24:34 +01:00
66946117e1 Upgrade Rust version 2021-03-01 18:46:56 +01:00
Andrew Yoon
600ae662a5 Support plain cargo test and disable unused doctests for speed
Since DB tests execute diesel migrations automatically, concurrent
execution causes flaky failures from simultaneous migrations. This can
be worked around using `cargo test --workspace -- --test-threads=1`,
which is what the CI config does, but this is not intuitive for
newcomer developers and unnecessarily slows down the test suite for
the majority of tests which are safe to run concurrently. This fixes
this issue by integrating with the small test crate `serial_test` and
using it to explicitly mark DB tests to run sequentially while
allowing all other tests to run in parallel.

Additionally, this greatly improves the speed of `cargo test` by
disabling doc-tests in all crates, since these are aren't currently
used and cargo's doc-test pass, even when no doc-tests exist, has
significant overhead. On my machine, this change significantly
improves test suite times by about 85%, making it much more practical
to develop with tools like `cargo watch` auto-running tests.
2021-02-25 15:44:30 -05:00