Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Final async database (overall heavy performance improvement), misc bug fixes, /search filters, remove legacy mentions (MSC4210) and dependency updates #608

Merged
merged 245 commits into from
Nov 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
245 commits
Select commit Hold shift + click to select a range
2db017a
simplify service trait bounds and lifetimes
jevolk Aug 30, 2024
99ad404
add str traits for split, between, unquote; consolidate tests
jevolk Aug 31, 2024
2709995
add MapExpect to Result
jevolk Sep 1, 2024
3d4b0f1
add expected! macro to checked math expression suite
jevolk Sep 7, 2024
aa265f7
add err log trait to Result
jevolk Sep 8, 2024
bd75ff6
move common_elements util into unit
jevolk Sep 8, 2024
6305364
add util functors for is_zero/is_equal; move clamp to math utils
jevolk Sep 13, 2024
a5822eb
add missing err! case
jevolk Sep 13, 2024
f7ce4db
add is_not_found functor to error; tweak status code matcher
jevolk Sep 12, 2024
a5de274
re-export crates used by error macros
jevolk Sep 12, 2024
6001014
add UnwrapInfallible to Result
jevolk Sep 13, 2024
946ca36
Database Refactor
jevolk Aug 8, 2024
4776fe6
handle serde_json for deserialized()
jevolk Sep 28, 2024
3f7ec42
minor auth_chain optimizations/cleanup
jevolk Sep 25, 2024
4496cf2
add missing await to first admin room creation
girlbossceo Sep 21, 2024
5192927
split remaining map suites
jevolk Sep 29, 2024
0e8ae1e
add ArrayVec-backed serialized query overload; doc comments
jevolk Sep 29, 2024
c569881
merge rooms/short Data w/ Service; optimize queries
jevolk Sep 29, 2024
a8d5cf9
Add rocksdb logging integration with tracing.
jevolk Sep 23, 2024
6b80361
additional stream tools
jevolk Sep 30, 2024
96fcf7f
add rocksdb secondary; fix read_only mode.
jevolk Oct 1, 2024
26dcab2
various cleanup tweaks/fixes
jevolk Oct 1, 2024
ab06701
refactor multi-get to handle result type
jevolk Oct 1, 2024
36677bb
optimize auth_chain short_id to event_id translation step
jevolk Oct 1, 2024
8311952
bump ruma, cargo.lock, and deps
girlbossceo Sep 28, 2024
fafe320
send EDUs to appservices if in events
girlbossceo Sep 28, 2024
890ee84
dont send read receipts and typing indicators from ignored users
girlbossceo Sep 29, 2024
2083c38
dont send non-state events from ignored users over sync
girlbossceo Sep 29, 2024
4413793
dont allow sending/receiving room invites with ignored users
girlbossceo Sep 29, 2024
b64a235
use ok_or_else for a rare error
girlbossceo Sep 29, 2024
ee1580e
fix list_rooms admin command filters
girlbossceo Sep 29, 2024
7a59add
add support for reading a registration token from a file
girlbossceo Sep 29, 2024
6a81bf2
dont send events from ignored users over /messages
girlbossceo Sep 30, 2024
a9e3e8f
dont send non-state events from ignored users over /context/{eventId}
girlbossceo Sep 30, 2024
115ea03
remove unnecessary full type annos
girlbossceo Sep 30, 2024
4eb7ad7
update last_seen_ip and last_seen_ts on updating device metadata
girlbossceo Oct 1, 2024
9836385
fix: dont add remote users for push targets, use hashset instead of vec
girlbossceo Oct 2, 2024
54a107c
drop unnecessary error to debug_warn
girlbossceo Oct 2, 2024
ab9a65d
add MSC4151 room reporting support
girlbossceo Oct 2, 2024
bd56d83
fix room directory regression
girlbossceo Oct 2, 2024
fa7c120
miniscule spaces code optimisations
girlbossceo Oct 3, 2024
c6b7c24
consume all bytes for top-level Ignore; add comments/tweaks
jevolk Oct 3, 2024
2d049da
fix get_all_media_keys deserialization
jevolk Oct 4, 2024
bd9a9cc
fix trait-solver issue requiring recursion_limit increase
jevolk Oct 3, 2024
ba683cf
fix aliasid_alias key deserialization
jevolk Oct 4, 2024
9eace1f
fix sliding sync room type filter regression
morguldir Oct 5, 2024
8eec78e
mark the server user bot as online/offline on shutdown/startup
girlbossceo Oct 5, 2024
814b9e2
fix unnecessary re-serializations
jevolk Oct 9, 2024
56dd0f5
use loop condition to account for loole channel close
jevolk Oct 6, 2024
89a3c80
split admin-room branch from build_and_append_pdu (fixes large stack …
jevolk Oct 2, 2024
08a2fec
catch panics at base functions to integrate with other fatal errors.
jevolk Sep 26, 2024
a2e5c3d
add FlatOk trait to Result/Option suite
jevolk Oct 3, 2024
4485f36
add mactors for true/false
jevolk Oct 3, 2024
dd9f530
add unwrap_or to TryFutureExtExt
jevolk Oct 3, 2024
685eadb
add is_not_found as Error member function; tweak interface; add doc c…
jevolk Oct 4, 2024
2b2055f
parallelize calculate_invite_state
jevolk Oct 4, 2024
48a767d
abstract common patterns as core pdu memberfns
jevolk Oct 3, 2024
da34b43
abstract account-data deserializations for serde_json::from_elim
jevolk Oct 2, 2024
68315ac
Add state_get_content(shortid) for serde_json::from elim
jevolk Oct 3, 2024
f7af696
refactor to room_state_get_content() for serde_json::from_ elim
jevolk Oct 3, 2024
55c85f6
refactor to pdu.get_content() for serde_json::from_ elim
jevolk Oct 3, 2024
d526db6
refactor various patterns for serde_json::from_ elim
jevolk Oct 3, 2024
57e0a5f
additional database stream deserializations for serde_json::from_ elim
jevolk Oct 3, 2024
f503ed9
misc cleanup
jevolk Oct 3, 2024
e482c06
Add constructions and Default for PduBuilder
jevolk Oct 4, 2024
8ea2dcc
sort rustfmt
jevolk Jul 9, 2024
c9c405f
relax Sized bound for debug::type_name
jevolk Sep 29, 2024
16f82b0
add util to restore state on scope exit
jevolk Sep 29, 2024
a5e8572
add tuple access functor-macro
jevolk Sep 29, 2024
43b0bb6
add non-allocating fixed-size random string generator
jevolk Oct 7, 2024
c40d20c
add macro util to determine if cargo build or check/clippy.
jevolk Sep 25, 2024
2a59a56
initial example-config generator
jevolk Sep 8, 2024
f67cfcd
cleanup Config::load()
jevolk Oct 4, 2024
fc4d109
add document comments to config items
jevolk Oct 5, 2024
2f24d71
further develop serializer for insertions
jevolk Oct 6, 2024
d3d1135
add serialized insert interface
jevolk Oct 6, 2024
19880ce
add IgnoreAll directive to deserializer
jevolk Oct 9, 2024
8258d16
re-scheme naming of stream iterator overloads
jevolk Oct 9, 2024
2ed0c26
Refactor for structured insertions
jevolk Oct 7, 2024
89b5c4e
add timepoint_from_now to complement timepoint_ago in utils
jevolk Oct 11, 2024
1a09eb0
use string::EMPTY; minor formatting and misc cleanups
jevolk Oct 13, 2024
d82ea33
add random shuffle util
jevolk Oct 14, 2024
c0939c3
Refactor server_keys service/interface and related callsites
jevolk Oct 11, 2024
b4ec1e9
add federation client for select high-timeout requests
jevolk Oct 14, 2024
d0ee4b6
add resolve_with_servers() to alias service; simplify api
jevolk Oct 14, 2024
ed5b5d7
merge rooms state service and data
jevolk Oct 15, 2024
4576313
merge rooms user service and data
jevolk Oct 15, 2024
0b085ea
merge remaining rooms state_cache data and service
jevolk Oct 15, 2024
8419165
slightly cleanup appservice_in_room
jevolk Oct 16, 2024
55b8908
merge rooms state_compressor service and data
jevolk Oct 16, 2024
828cb96
split client/sync
jevolk Oct 16, 2024
1fdcab0
additional sync cleanup
jevolk Oct 16, 2024
93130fb
add is_ok to futures TryExtExt utils
jevolk Oct 21, 2024
ac75ebe
event_handler/timeline service cleanups
jevolk Oct 16, 2024
b505f0d
add (back) query_trusted_key_servers_first w/ additional configuratio…
jevolk Oct 21, 2024
0e55fa2
add ready_try_for_each to TryReadyExt extension utils
jevolk Oct 21, 2024
167807e
de-wrapper max_fetch_prev_event; increase default config
jevolk Oct 22, 2024
c06f560
add some additional database::de test cases
jevolk Oct 22, 2024
0e0438e
further optimize presence_since iteration
jevolk Oct 22, 2024
a74461f
split keys_changed for stronger-type overloads
jevolk Oct 22, 2024
d35376a
aggregate receipts into single edu; dedup presence; refactor selectio…
jevolk Oct 22, 2024
ca57dc7
optimize config denylists
jevolk Oct 22, 2024
b8260e0
optimize for pdu_exists; remove a yield thing
jevolk Oct 22, 2024
dd6621a
reduce unnecessary clone in pdu handler
jevolk Oct 22, 2024
b08c124
add some interruption points in recursive event handling to prevent s…
jevolk Oct 22, 2024
3396542
complete the example-config generator macro
jevolk Oct 22, 2024
367d153
add default-directives to config document comments
jevolk Oct 22, 2024
5cb0a5f
add config generator controls via attribute metadatas
jevolk Oct 22, 2024
c769fcc
move core result into core utils
jevolk Oct 24, 2024
aa768b5
distill active and old keys for federation key/server response
jevolk Oct 24, 2024
89cc865
bump conduwuit to 0.5.0
girlbossceo Oct 25, 2024
f298792
document conduwuit k8s helm chart
girlbossceo Oct 26, 2024
652b04b
update conduwuit freebsd docs
girlbossceo Oct 26, 2024
2ce91f3
log method on tracing req spans, fix path sometimes being truncated
girlbossceo Oct 26, 2024
0efe24a
remove spaces from CSP header to save a few bytes
girlbossceo Oct 26, 2024
d699161
add `require_auth_for_profile_requests` config option, check endpoint…
girlbossceo Oct 26, 2024
60d8419
implement MSC4210, bump ruwuma
girlbossceo Oct 26, 2024
b921983
send room alias on pusher notification
girlbossceo Oct 26, 2024
4934328
additional bool extensions
jevolk Oct 24, 2024
efb28c1
add a Map::contains suite to db
jevolk Oct 24, 2024
9438dc8
merge and resplit/cleanup appservice service
jevolk Oct 24, 2024
0e616f1
add event macro log wrapper suite
jevolk Oct 24, 2024
e175b7d
slightly cleanup prev_event eval loop
jevolk Oct 24, 2024
60cc071
log error for auth_chain corruption immediately
jevolk Oct 24, 2024
ee92a33
add some accessors to Ar for common patterns
jevolk Oct 24, 2024
8742266
split up core/pdu
jevolk Oct 25, 2024
cf59f73
move macros incorrectly moved out of utils to top level
jevolk Oct 25, 2024
b736907
add RoomEventFilter matcher for PduEvent
jevolk Oct 25, 2024
6808671
merge search service w/ data
jevolk Oct 25, 2024
0426f92
unify database record separator constants
jevolk Oct 25, 2024
1e7207c
start an ArrayVec extension trait
jevolk Oct 25, 2024
f245389
add typedef for pdu_ids
jevolk Oct 26, 2024
21a6751
refactor search system
jevolk Oct 26, 2024
d281b8d
implement filters for search (#596)
jevolk Oct 26, 2024
5e6dbaa
apply room event filter to messages endpoint (#596)
jevolk Oct 27, 2024
9787dfe
fix clippy::ref_option
jevolk Oct 27, 2024
e7e6063
slightly simplify reqwest/hickory hooks
jevolk Oct 27, 2024
6c9ecb0
re-export ruma Event trait through core pdu
jevolk Oct 27, 2024
7a09ac8
split send from messages; refactor client/messages; add filters to cl…
jevolk Oct 27, 2024
52e356d
generate ActualDest https string on the fly
jevolk Oct 28, 2024
d92f2c1
document nginx needing request_uri
girlbossceo Oct 27, 2024
065396f
better document allow_inbound_profile_lookup_federation_requests
girlbossceo Oct 27, 2024
85890ed
remove some unnecessary HTML from admin commands
girlbossceo Oct 27, 2024
0a28124
bump few dependencies, bump ruwuma
girlbossceo Oct 28, 2024
c71db93
implement admin command to force join list of local users
girlbossceo Oct 28, 2024
567a4cb
implement admin command to force join all local users to room
girlbossceo Oct 28, 2024
354dc9e
add map accessor to Database; move cork interface
jevolk Oct 29, 2024
8ed9d49
skip new flakey complement test
girlbossceo Oct 31, 2024
240c78e
strong-type URL for URL previews to Url type
girlbossceo Nov 1, 2024
6cbaef2
always set RUST_BACKTRACE=full in OCI images
girlbossceo Nov 2, 2024
ee6af6c
drop report delay response range to 2-5 secs
girlbossceo Nov 2, 2024
9466aeb
remove some unnecessary debug prints on notices
girlbossceo Nov 2, 2024
6f37a25
allow taking room aliases for `auto_join_rooms` config option
girlbossceo Nov 3, 2024
0387871
add workaround for matrix-appservice-irc using historical localparts
girlbossceo Nov 3, 2024
1fbfc98
optimize FedDest::Named port
jevolk Oct 29, 2024
ad11764
add tuple-apply macro with length argument for now
jevolk Oct 29, 2024
ed76797
add raw_ overloads for prefix/from counting
jevolk Oct 29, 2024
a7cb1c5
slightly optimize request signing/verifying
jevolk Oct 29, 2024
9775694
inline database stream interface functions lt 64B
jevolk Oct 30, 2024
0eb67cf
additional bool extensions for Result/Option conversion
jevolk Oct 30, 2024
7fcc6d1
de-wrap state_accessor.server_can_see_event
jevolk Oct 30, 2024
e49aee6
consolidate and parallelize api/server access check prologues
jevolk Oct 30, 2024
6b0eb76
add Filter extension to Result
jevolk Oct 31, 2024
0bc6fdd
Refactor ShortStateInfo et al to properly named structures
jevolk Oct 31, 2024
f746be8
typename some loose u64 ShortId's
jevolk Oct 31, 2024
1f1e2d5
optimize override ips; utilize all ips from cache
jevolk Oct 31, 2024
ba1c134
move migrations out of globals service
jevolk Nov 1, 2024
8742437
wrap unimplemented ser/de branches with internal macro
jevolk Nov 1, 2024
f191b4b
add map_expect for stream
jevolk Nov 2, 2024
52f09fd
add database migration for missing referencedevents separator
jevolk Nov 2, 2024
8d25100
reduce Error-related codegen; add PoisonError
jevolk Nov 3, 2024
768e817
use FnMut for ready_try_for_each extension
jevolk Nov 3, 2024
4a94a4c
rename pdu/id to pdu/event_id
jevolk Nov 4, 2024
78aeb62
add broad timeout on acquire_origins keys operation
jevolk Nov 3, 2024
2e4d9cb
fix thread pagination
Oct 31, 2024
9da523c
refactor for stronger RawPduId type
jevolk Nov 2, 2024
137e300
merge rooms threads data and service
jevolk Nov 6, 2024
26c890d
skip redundant receipts on syncs
jevolk Nov 4, 2024
3ed2c17
move sync watcher from globals service to sync service
jevolk Nov 6, 2024
7450c65
add get_pdu_owned sans Arc; improve client/room/event handler
jevolk Nov 6, 2024
f367570
split api/client/room
jevolk Nov 6, 2024
e507c31
make pdu batch tokens zeroith-indexed
jevolk Nov 6, 2024
79c6b51
renames for core pdu
jevolk Nov 7, 2024
2796622
add ready_try_fold to utils
jevolk Nov 5, 2024
13ef6dc
add standalone getters for shortid service
jevolk Nov 7, 2024
1f2e939
optional arguments for timeline pdus iterations
jevolk Nov 7, 2024
f59e8af
slight cleanup/simplifications to backfil
jevolk Nov 8, 2024
6eba36d
split make_body template
jevolk Nov 8, 2024
1ce3db7
split event_handler service
jevolk Nov 8, 2024
10be301
split large notary requests into batches
jevolk Nov 9, 2024
14fce38
cork around send_join response processing
jevolk Nov 9, 2024
cc86fed
bump ruma
jevolk Nov 10, 2024
5e74391
fix config generator macro matchers
jevolk Nov 10, 2024
7e087bb
Fixes for CI
girlbossceo Nov 10, 2024
f290d1a
prevent retry for missing keys later in join process
jevolk Nov 10, 2024
1efc52c
increase logging during server keys acquire
jevolk Nov 10, 2024
24a5ecb
fix incorrect user id for non-admin invites checking
overphoenix Nov 10, 2024
08a4e93
supplement a from_str for FmtSpan
jevolk Nov 11, 2024
9790a6e
add unwrap_or_err to result
jevolk Nov 11, 2024
e2afaa9
add config item for with_span_events
jevolk Nov 11, 2024
61174dd
check if lazyset already contains user prior to querying
jevolk Nov 11, 2024
3962333
partially revert e507c3130673099692143a59adc30a414ef6ca54
jevolk Nov 11, 2024
999d731
move err macro visitor out-of-line; reduce codegen
jevolk Nov 11, 2024
86694f2
move non-generic code out of generic; reduce codegen
jevolk Nov 12, 2024
c59f474
fixes for gh workflow
girlbossceo Nov 12, 2024
feefa43
add pretty/si-unit byte size parsing/printing utils
jevolk Nov 12, 2024
68582dd
add parallel query for current membership state
jevolk Nov 13, 2024
77fab2c
use ruma visibility enum in directory interface
jevolk Nov 13, 2024
004be3b
prepare utf-8 check bypass for database deserializer
jevolk Nov 13, 2024
6ffdc1b
bump serde, image, loole, termimad etc
jevolk Nov 13, 2024
e228dec
add byte counting for compressed state caches
jevolk Nov 13, 2024
4ec5d1e
replace additional use tracing::
jevolk Nov 14, 2024
08365bf
update config documentation, commit generated example config
girlbossceo Nov 11, 2024
4fe4790
misc docs changes/improvements from example config
girlbossceo Nov 11, 2024
4296d71
add receive_ephemeral check for appservice EDU sending (if it even wo…
girlbossceo Nov 3, 2024
fd2a002
dont build sentry or perf_measurements features for complement
girlbossceo Nov 11, 2024
4f0bdb5
general misc bug fixes and slight improvements
girlbossceo Nov 11, 2024
72fb837
link to migrating from conduit on the README
girlbossceo Nov 13, 2024
011d44b
add missing declared support for MSC3952
girlbossceo Nov 14, 2024
44a7ac0
add debug_assert is_sorted for inline content types
girlbossceo Nov 15, 2024
dac1a01
update generated example config
girlbossceo Nov 15, 2024
3f69f2e
replace deprecated sha-1 crate, try to reduce some unnecessary crates…
girlbossceo Nov 15, 2024
b4d809c
add more checks for gh pages deployment workflow
girlbossceo Nov 15, 2024
c1f553c
bump rocksdb to v9.7.4, and ruwuma
girlbossceo Nov 15, 2024
a9c280b
document NAT hairpinning/loopback if needed
girlbossceo Nov 15, 2024
c23786d
dont try to backfill empty, private rooms
girlbossceo Nov 15, 2024
9783bc7
remove sentry_telemetry from default features
girlbossceo Nov 15, 2024
666989f
delete trivy as lately its been terribly unreliable
girlbossceo Nov 15, 2024
f897b4d
ci: remove all free runner space steps due to flakiness
girlbossceo Nov 15, 2024
6b1b464
add missing knock_restricted room type to /publicRooms
girlbossceo Nov 15, 2024
9c95a74
fix getting canonical alias server for backfill
girlbossceo Nov 15, 2024
be5a04f
ci: install liburing-dev
girlbossceo Nov 15, 2024
4b652f5
ok cargo doc
girlbossceo Nov 15, 2024
59834a4
add is_read_only()/is_secondary() to Engine
jevolk Nov 14, 2024
20836cc
flush=false for database-backup in read-only/secondary modes; improve…
jevolk Nov 14, 2024
5f62521
slight optimizations for statediff
jevolk Nov 14, 2024
9f7a4a0
improve tracing/logging for state_compressor
jevolk Nov 15, 2024
14e3b24
add database get_batch stream wrapper
jevolk Nov 15, 2024
887ae84
optimize sha256 interface gather/vector inputs
jevolk Nov 15, 2024
cd2c473
add missing fix_referencedevents_missing_sep key on fresh db creations
girlbossceo Nov 16, 2024
ead9d66
send the actual unsupported room version in join errors
girlbossceo Nov 16, 2024
6319384
implement `GET /_matrix/client/v3/pushrules/global/`
girlbossceo Nov 16, 2024
b92b4e0
drop hyper-util back down to 0.1.8 due to DNS issues
girlbossceo Nov 16, 2024
7f96b2f
nix: remove libllvm, libgcc, and llvm from OCI images as well
girlbossceo Nov 16, 2024
8f14048
ci: free up a bit of runner space safely (again)
girlbossceo Nov 16, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
47 changes: 25 additions & 22 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,23 +65,20 @@ permissions:
jobs:
tests:
name: Test
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- name: Free Disk Space (Ubuntu)
uses: jlumbroso/free-disk-space@main

- name: Free up more runner space
run: |
set +o pipefail
# large docker images
sudo docker image prune --all --force || true
# large packages
sudo apt-get purge -y '^llvm-.*' 'php.*' '^mongodb-.*' '^mysql-.*' azure-cli google-cloud-cli google-chrome-stable firefox powershell microsoft-edge-stable || true
sudo apt-get autoremove -y
sudo apt-get clean
# large folders
sudo rm -rf /var/lib/apt/lists/* /usr/local/games /usr/local/sqlpackage /usr/local/.ghcup /usr/local/share/powershell /usr/local/share/edge_driver /usr/local/share/gecko_driver /usr/local/share/chromium /usr/local/share/chromedriver-linux64 /usr/local/share/vcpkg /usr/local/lib/python* /usr/local/lib/node_modules /usr/local/julia* /opt/mssql-tools /etc/skel /usr/share/vim /usr/share/postgresql /usr/share/man /usr/share/apache-maven-* /usr/share/R /usr/share/alsa /usr/share/miniconda /usr/share/grub /usr/share/gradle-* /usr/share/locale /usr/share/texinfo /usr/share/kotlinc /usr/share/swift /usr/share/doc /usr/share/az_9.3.0 /usr/share/sbt /usr/share/ri /usr/share/icons /usr/share/java /usr/share/fonts /usr/lib/google-cloud-sdk /usr/lib/jvm /usr/lib/mono /usr/lib/R /usr/lib/postgresql /usr/lib/heroku /usr/lib/gcc
set -o pipefail
- name: Install liburing
run: |
sudo apt install liburing-dev -y

- name: Free up a bit of runner space
run: |
set +o pipefail
sudo docker image prune --all --force || true
sudo apt purge -y 'php.*' '^mongodb-.*' '^mysql-.*' azure-cli google-cloud-cli google-chrome-stable firefox powershell microsoft-edge-stable || true
sudo apt clean
sudo rm -v -rf /usr/local/games /usr/local/sqlpackage /usr/local/share/powershell /usr/local/share/edge_driver /usr/local/share/gecko_driver /usr/local/share/chromium /usr/local/share/chromedriver-linux64 /usr/lib/google-cloud-sdk /usr/lib/jvm /usr/lib/mono /usr/lib/heroku
set -o pipefail

- name: Sync repository
uses: actions/checkout@v4
Expand Down Expand Up @@ -231,21 +228,18 @@ jobs:

build:
name: Build
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
needs: tests
strategy:
matrix:
include:
- target: aarch64-linux-musl
- target: x86_64-linux-musl
steps:
- name: Free Disk Space (Ubuntu)
uses: jlumbroso/free-disk-space@main

- name: Sync repository
uses: actions/checkout@v4

- uses: nixbuild/nix-quick-install-action@v28
- uses: nixbuild/nix-quick-install-action@master

- name: Restore and cache Nix store
uses: nix-community/[email protected]
Expand Down Expand Up @@ -450,6 +444,7 @@ jobs:
steps:
- name: Sync repository
uses: actions/checkout@v4

- name: Tag comparison check
if: ${{ startsWith(github.ref, 'refs/tags/v') && !endsWith(github.ref, '-rc') }}
run: |
Expand All @@ -460,44 +455,52 @@ jobs:
echo '# WARNING: Attempting to run this workflow for a tag that is not the latest repo tag. Aborting.' >> $GITHUB_STEP_SUMMARY
exit 1
fi

# use sccache for Rust
- name: Run sccache-cache
if: (github.event.pull_request.draft != true) && (vars.DOCKER_USERNAME != '') && (vars.GITLAB_USERNAME != '') && (vars.SCCACHE_ENDPOINT != '') && (github.event.pull_request.user.login != 'renovate[bot]')
uses: mozilla-actions/sccache-action@main

# use rust-cache
- uses: Swatinem/rust-cache@v2
with:
cache-all-crates: "true"

# Nix can't do portable macOS builds yet
- name: Build macOS x86_64 binary
if: ${{ matrix.os == 'macos-13' }}
run: |
CONDUWUIT_VERSION_EXTRA="$(git rev-parse --short HEAD)" cargo build --release
cp -v -f target/release/conduit conduwuit-macos-x86_64
otool -L conduwuit-macos-x86_64

# quick smoke test of the x86_64 macOS binary
- name: Run x86_64 macOS release binary
if: ${{ matrix.os == 'macos-13' }}
run: |
./conduwuit-macos-x86_64 --version

- name: Build macOS arm64 binary
if: ${{ matrix.os == 'macos-latest' }}
run: |
CONDUWUIT_VERSION_EXTRA="$(git rev-parse --short HEAD)" cargo build --release
cp -v -f target/release/conduit conduwuit-macos-arm64
otool -L conduwuit-macos-arm64

# quick smoke test of the arm64 macOS binary
- name: Run arm64 macOS release binary
if: ${{ matrix.os == 'macos-latest' }}
run: |
./conduwuit-macos-arm64 --version

- name: Upload macOS x86_64 binary
if: ${{ matrix.os == 'macos-13' }}
uses: actions/upload-artifact@v4
with:
name: conduwuit-macos-x86_64
path: conduwuit-macos-x86_64
if-no-files-found: error

- name: Upload macOS arm64 binary
if: ${{ matrix.os == 'macos-latest' }}
uses: actions/upload-artifact@v4
Expand All @@ -508,7 +511,7 @@ jobs:

docker:
name: Docker publish
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
needs: build
if: (startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main' || (github.event.pull_request.draft != true)) && (vars.DOCKER_USERNAME != '') && (vars.GITLAB_USERNAME != '') && github.event.pull_request.user.login != 'renovate[bot]'
env:
Expand Down
18 changes: 12 additions & 6 deletions .github/workflows/documentation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ concurrency:
jobs:
docs:
name: Documentation and GitHub Pages
runs-on: ubuntu-latest
runs-on: ubuntu-24.04

permissions:
pages: write
Expand All @@ -50,14 +50,20 @@ jobs:
url: ${{ steps.deployment.outputs.page_url }}

steps:
- name: Free Disk Space (Ubuntu)
uses: jlumbroso/free-disk-space@main
- name: Free up a bit of runner space
run: |
set +o pipefail
sudo docker image prune --all --force || true
sudo apt purge -y 'php.*' '^mongodb-.*' '^mysql-.*' azure-cli google-cloud-cli google-chrome-stable firefox powershell microsoft-edge-stable || true
sudo apt clean
sudo rm -v -rf /usr/local/games /usr/local/sqlpackage /usr/local/share/powershell /usr/local/share/edge_driver /usr/local/share/gecko_driver /usr/local/share/chromium /usr/local/share/chromedriver-linux64 /usr/lib/google-cloud-sdk /usr/lib/jvm /usr/lib/mono /usr/lib/heroku
set -o pipefail

- name: Sync repository
uses: actions/checkout@v4

- name: Setup GitHub Pages
if: github.event_name != 'pull_request'
if: (startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main') && (github.event_name != 'pull_request') && (github.event.pull_request.user.login == 'girlbossceo')
uses: actions/configure-pages@v5

- uses: nixbuild/nix-quick-install-action@master
Expand Down Expand Up @@ -139,12 +145,12 @@ jobs:
compression-level: 0

- name: Upload generated documentation (book) as GitHub Pages artifact
if: github.event_name != 'pull_request'
if: (startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main') && (github.event_name != 'pull_request') && (github.event.pull_request.user.login == 'girlbossceo')
uses: actions/upload-pages-artifact@v3
with:
path: public

- name: Deploy to GitHub Pages
if: github.event_name != 'pull_request'
if: (startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main') && (github.event_name != 'pull_request') && (github.event.pull_request.user.login == 'girlbossceo')
id: deployment
uses: actions/deploy-pages@v4
42 changes: 0 additions & 42 deletions .github/workflows/trivy.yml

This file was deleted.

Loading
Loading