From aeeafebefc36a43a656cf797c9251ca50292733c Mon Sep 17 00:00:00 2001 From: Paul Makles Date: Sat, 10 Jan 2026 14:46:57 +0000 Subject: [PATCH] fix: pipeline fixes (#487) --- .github/workflows/publish-crates.yml | 21 ++++++ .github/workflows/release-please.yml | 45 +++++++------ .github/workflows/rust.yaml | 2 + Cargo.lock | 98 +++++++++++++++++----------- compose.yml | 12 ++-- crates/core/coalesced/Cargo.toml | 4 +- 6 files changed, 112 insertions(+), 70 deletions(-) create mode 100644 .github/workflows/publish-crates.yml diff --git a/.github/workflows/publish-crates.yml b/.github/workflows/publish-crates.yml new file mode 100644 index 00000000..c952a35d --- /dev/null +++ b/.github/workflows/publish-crates.yml @@ -0,0 +1,21 @@ +name: Publish Crates + +on: + workflow_dispatch: + release: + types: [published] + +jobs: + publish: + name: Publish Crates + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + with: + persist-credentials: false + + - name: Publish crates + uses: katyo/publish-crates@02cc2f1ad653fb25c7d1ff9eb590a8a50d06186b # v2 + with: + registry-token: ${{ secrets.CRATES_IO_PUBLISH_TOKEN }} diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml index 8fda87f1..7633e2bc 100644 --- a/.github/workflows/release-please.yml +++ b/.github/workflows/release-please.yml @@ -33,28 +33,27 @@ jobs: token: ${{ steps.app-token.outputs.token }} config-file: release-please-config.json - publish-please: - name: Publish Please - needs: release-please - if: needs.release-please.outputs.release_created == 'true' - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v4 - - id: app-token - uses: actions/create-github-app-token@v2 + - name: Install latest stable + uses: dtolnay/rust-toolchain@e97e2d8cc328f1b50210efc529dca0028893a2d9 # v1 with: - app-id: ${{ secrets.GH_STOAT_RELEASE_APP_ID }} - private-key: ${{ secrets.GH_STOAT_RELEASE_APP_PRIVATE_KEY }} - - - name: Send release notification webhook + toolchain: stable + + - name: Update Cargo.lock + if: ${{ steps.rp.outputs.prs_created == 'true' || steps.rp.outputs.prs_updated == 'true' }} + env: + GH_TOKEN: ${{ steps.app-token.outputs.token }} run: | - RELEASE_URL="https://github.com/revoltchat/backend/releases/tag/${{ needs.release-please.outputs.tag_name }}" - curl -X POST "${{ secrets.STOAT_WEBHOOK_UPDATES_URL }}" \ - -H "Content-Type: application/json" \ - -d "{\"content\": \"$RELEASE_URL\"}" - - - name: Publish crates - uses: katyo/publish-crates@v2 - with: - registry-token: ${{ secrets.CRATES_IO_PUBLISH_TOKEN }} + PR_NUMBER=$(echo '${{ steps.rp.outputs.prs }}' | jq -r '.[0].number') + gh pr checkout "$PR_NUMBER" + + cargo update -w + + if git diff --quiet Cargo.lock; then + echo "No changes to Cargo.lock" + else + git config user.name "github-actions[bot]" + git config user.email "github-actions[bot]@users.noreply.github.com" + git add Cargo.lock + git commit -s -m "chore: update Cargo.lock" + git push + fi diff --git a/.github/workflows/rust.yaml b/.github/workflows/rust.yaml index e0f8ae49..c65d03f3 100644 --- a/.github/workflows/rust.yaml +++ b/.github/workflows/rust.yaml @@ -18,6 +18,8 @@ jobs: runs-on: arc-runner-set steps: - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + with: + persist-credentials: false # Using our own runners for now: # - name: Free up disk space diff --git a/Cargo.lock b/Cargo.lock index 6320f82f..5326152f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1275,7 +1275,7 @@ dependencies = [ "getrandom 0.2.16", "getrandom 0.3.3", "hex", - "indexmap 2.11.4", + "indexmap 2.13.0", "js-sys", "once_cell", "rand 0.9.2", @@ -2642,6 +2642,12 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" +[[package]] +name = "foldhash" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" + [[package]] name = "fontconfig-parser" version = "0.5.8" @@ -3072,7 +3078,7 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.11.4", + "indexmap 2.13.0", "slab", "tokio 1.47.1", "tokio-util", @@ -3091,7 +3097,7 @@ dependencies = [ "futures-core", "futures-sink", "http 1.3.1", - "indexmap 2.11.4", + "indexmap 2.13.0", "slab", "tokio 1.47.1", "tokio-util", @@ -3155,14 +3161,19 @@ checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" dependencies = [ "allocator-api2", "equivalent", - "foldhash", + "foldhash 0.1.5", ] [[package]] name = "hashbrown" -version = "0.16.0" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5419bdc4f6a9207fbeba6d11b604d481addf78ecd10c11ad51e76c2f6482748d" +checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" +dependencies = [ + "allocator-api2", + "equivalent", + "foldhash 0.2.0", +] [[package]] name = "headers" @@ -3812,12 +3823,12 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.11.4" +version = "2.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b0f83760fb341a774ed326568e19f5a863af4a952def8c39f9ab92fd95b88e5" +checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" dependencies = [ "equivalent", - "hashbrown 0.16.0", + "hashbrown 0.16.1", "serde", "serde_core", ] @@ -4573,6 +4584,15 @@ dependencies = [ "hashbrown 0.15.5", ] +[[package]] +name = "lru" +version = "0.16.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1dc47f592c06f33f8e3aea9591776ec7c9f9e4124778ff8a3c3b87159f7e593" +dependencies = [ + "hashbrown 0.16.1", +] + [[package]] name = "lru-cache" version = "0.1.2" @@ -5480,7 +5500,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ "fixedbitset", - "indexmap 2.11.4", + "indexmap 2.13.0", ] [[package]] @@ -5673,7 +5693,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "740ebea15c5d1428f910cd1a5f52cebf8d25006245ed8ade92702f4943d91e07" dependencies = [ "base64 0.22.1", - "indexmap 2.11.4", + "indexmap 2.13.0", "quick-xml", "serde", "time", @@ -6519,7 +6539,7 @@ dependencies = [ [[package]] name = "revolt-autumn" -version = "0.8.8" +version = "0.9.1" dependencies = [ "axum", "axum-macros", @@ -6557,7 +6577,7 @@ dependencies = [ [[package]] name = "revolt-bonfire" -version = "0.8.8" +version = "0.9.1" dependencies = [ "async-channel 2.5.0", "async-std", @@ -6588,16 +6608,16 @@ dependencies = [ [[package]] name = "revolt-coalesced" -version = "0.8.8" +version = "0.9.1" dependencies = [ - "indexmap 2.11.4", - "lru 0.7.8", + "indexmap 2.13.0", + "lru 0.16.3", "tokio 1.47.1", ] [[package]] name = "revolt-config" -version = "0.8.8" +version = "0.9.1" dependencies = [ "async-std", "cached", @@ -6614,7 +6634,7 @@ dependencies = [ [[package]] name = "revolt-crond" -version = "0.8.8" +version = "0.9.1" dependencies = [ "log", "revolt-config", @@ -6626,7 +6646,7 @@ dependencies = [ [[package]] name = "revolt-database" -version = "0.8.8" +version = "0.9.1" dependencies = [ "amqprs", "async-lock 2.8.0", @@ -6676,7 +6696,7 @@ dependencies = [ [[package]] name = "revolt-delta" -version = "0.8.8" +version = "0.9.1" dependencies = [ "amqprs", "async-channel 1.9.0", @@ -6726,7 +6746,7 @@ dependencies = [ [[package]] name = "revolt-files" -version = "0.8.8" +version = "0.9.1" dependencies = [ "aes-gcm", "aws-config", @@ -6749,7 +6769,7 @@ dependencies = [ [[package]] name = "revolt-gifbox" -version = "0.8.8" +version = "0.9.1" dependencies = [ "axum", "axum-extra", @@ -6771,7 +6791,7 @@ dependencies = [ [[package]] name = "revolt-january" -version = "0.8.8" +version = "0.9.1" dependencies = [ "async-recursion", "axum", @@ -6799,7 +6819,7 @@ dependencies = [ [[package]] name = "revolt-models" -version = "0.8.8" +version = "0.9.1" dependencies = [ "indexmap 1.9.3", "iso8601-timestamp", @@ -6818,14 +6838,14 @@ dependencies = [ [[package]] name = "revolt-parser" -version = "0.8.8" +version = "0.9.1" dependencies = [ "logos", ] [[package]] name = "revolt-permissions" -version = "0.8.8" +version = "0.9.1" dependencies = [ "async-std", "async-trait", @@ -6840,7 +6860,7 @@ dependencies = [ [[package]] name = "revolt-presence" -version = "0.8.8" +version = "0.9.1" dependencies = [ "async-std", "log", @@ -6852,7 +6872,7 @@ dependencies = [ [[package]] name = "revolt-pushd" -version = "0.8.8" +version = "0.9.1" dependencies = [ "amqprs", "anyhow", @@ -6880,7 +6900,7 @@ dependencies = [ [[package]] name = "revolt-ratelimits" -version = "0.8.8" +version = "0.9.1" dependencies = [ "async-trait", "authifier", @@ -6897,7 +6917,7 @@ dependencies = [ [[package]] name = "revolt-result" -version = "0.8.8" +version = "0.9.1" dependencies = [ "axum", "log", @@ -6913,7 +6933,7 @@ dependencies = [ [[package]] name = "revolt-voice-ingress" -version = "0.7.1" +version = "0.9.1" dependencies = [ "amqprs", "async-std", @@ -7100,7 +7120,7 @@ dependencies = [ "either", "figment", "futures", - "indexmap 2.11.4", + "indexmap 2.13.0", "log", "memchr", "multer", @@ -7148,7 +7168,7 @@ checksum = "575d32d7ec1a9770108c879fc7c47815a80073f96ca07ff9525a94fcede1dd46" dependencies = [ "devise", "glob", - "indexmap 2.11.4", + "indexmap 2.13.0", "proc-macro2", "quote 1.0.40", "rocket_http", @@ -7195,7 +7215,7 @@ dependencies = [ "futures", "http 0.2.12", "hyper 0.14.32", - "indexmap 2.11.4", + "indexmap 2.13.0", "log", "memchr", "pear", @@ -7907,7 +7927,7 @@ version = "1.0.145" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c" dependencies = [ - "indexmap 2.11.4", + "indexmap 2.13.0", "itoa", "memchr", "ryu", @@ -7957,7 +7977,7 @@ dependencies = [ "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.11.4", + "indexmap 2.13.0", "schemars 0.9.0", "schemars 1.0.4", "serde", @@ -8817,7 +8837,7 @@ version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.11.4", + "indexmap 2.13.0", "toml_datetime", "winnow 0.5.40", ] @@ -8828,7 +8848,7 @@ version = "0.22.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" dependencies = [ - "indexmap 2.11.4", + "indexmap 2.13.0", "serde", "serde_spanned", "toml_datetime", @@ -9306,7 +9326,7 @@ version = "4.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c5afb1a60e207dca502682537fefcfd9921e71d0b83e9576060f09abc6efab23" dependencies = [ - "indexmap 2.11.4", + "indexmap 2.13.0", "serde", "serde_json", "utoipa-gen", diff --git a/compose.yml b/compose.yml index fadc22f8..008549c8 100644 --- a/compose.yml +++ b/compose.yml @@ -1,13 +1,13 @@ services: # Redis redis: - image: eqalpha/keydb + image: public.ecr.aws/docker/library/redis ports: - "6379:6379" # MongoDB database: - image: mongo + image: public.ecr.aws/docker/library/mongo ports: - "27017:27017" volumes: @@ -15,7 +15,7 @@ services: # MinIO minio: - image: minio/minio + image: quay.io/minio/minio command: server /data environment: MINIO_ROOT_USER: minioautumn @@ -29,7 +29,7 @@ services: # Create buckets for minio. createbuckets: - image: minio/mc + image: quay.io/minio/mc depends_on: - minio entrypoint: > @@ -40,7 +40,7 @@ services: # Rabbit rabbit: - image: rabbitmq:4-management + image: public.ecr.aws/docker/library/rabbitmq:4-management environment: RABBITMQ_DEFAULT_USER: rabbituser RABBITMQ_DEFAULT_PASS: rabbitpass @@ -55,7 +55,7 @@ services: # Mock SMTP server maildev: - image: soulteary/maildev + image: maildev/maildev ports: - "14025:25" - "14080:8080" diff --git a/crates/core/coalesced/Cargo.toml b/crates/core/coalesced/Cargo.toml index 70d249bd..b5bd2195 100644 --- a/crates/core/coalesced/Cargo.toml +++ b/crates/core/coalesced/Cargo.toml @@ -15,8 +15,8 @@ default = ["tokio"] [dependencies] tokio = { version = "1.47.0", features = ["sync"], optional = true } -indexmap = { version = "*", optional = true } -lru = { version = "*", optional = true } +indexmap = { version = "2.13.0", optional = true } +lru = { version = "0.16.3", optional = true } [dev-dependencies] tokio = { version = "1.47.0", features = ["rt", "rt-multi-thread", "macros", "time"] }