Skip to content

Conversation

@timokoesters
Copy link
Collaborator

@timokoesters timokoesters commented Sep 23, 2025

TODOs:

  • Test all lints and checks by hand
  • Fix reset-dev
  • Make sure we upload SQLX_OFFLINE files

Important changes:

  1. Install these to run the whole CI locally:

    cargo install cargo-machete
    pip3 install --user reuse
    cargo install --locked cargo-deny
    cargo install sqlx-cli
    

    Then run the CI with just ci

  2. Instead of frb-generate you can use regenerate-frb

  3. Instead of updating goldens with the CI, you can use just update-flutter-goldens

  4. Simply type just to see all commands:

> just
just --list
Available recipes:
    bump-version                     # Increment minor version numbers and update changelog.
    check                            # Run all fast and simple lints.
    check-flutter                    # Run fast and simple Flutter lints.
    check-frb                        # Run Flutter-Rust bridge lint.
    check-rust                       # Run fast and simple Rust lints.
    ci                               # Run all lints and tests.
    regenerate                       # Regenerate frb and l10n.
    regenerate-frb                   # Regenerate flutter rust bridge files.
    regenerate-icons                 # Recompile svg icons for rendering.
    regenerate-l10n                  # Regenerate localization files.
    regenerate-sqlx                  # Regenerate database query metadata.
    reset-dev                        # Reset and migrate databases.
    run-client *args=''              # Start the client in debug mode.
    run-client-cached device="macos" # Start the client from the last debug build.
    run-server                       # Start the server.
    start-docker-compose             # Run docker compose services in the background.
    test                             # Run all tests.
    test-flutter                     # Run flutter test.
    test-rust                        # Run cargo build, clippy and test.
    update-flutter-goldens           # Use the current test results as new reference images.

@timokoesters timokoesters marked this pull request as draft September 23, 2025 14:24
@timokoesters timokoesters force-pushed the timo/justfile branch 5 times, most recently from a5b884e to 0a61855 Compare September 24, 2025 14:29
@timokoesters timokoesters force-pushed the timo/justfile branch 2 times, most recently from 7b01427 to 3e464b3 Compare October 1, 2025 11:29
- name: Set up Rust toolchain
uses: dtolnay/[email protected]
- uses: Swatinem/rust-cache@v2
- run: cargo build --verbose
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I removed cargo build, because everything it does should be covered by other tests.

CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
DEVELOPMENT_TEAM = 7QXP938FNA;
DEVELOPMENT_TEAM = "";
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I removed the signing key from debug builds. I hope that CI builds are still signed correctly.

#
# SPDX-License-Identifier: AGPL-3.0-or-later

DATABASE_URL=sqlite:coreclient/client.db
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I checked in this file, because my IDE needs this. I think it's useful to have this as the default.

cargo sqlx prepare --database-url sqlite://{{justfile_directory()}}/coreclient/client.db

# This task will run the command and hide stdout. If git diff then reports unstaged changes, the task will fail.
_check-unstaged-changes command:
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like to disable stdout, so it's cleaner when used as a CLI. I can enable all logs in CI if we want.

@timokoesters timokoesters marked this pull request as ready for review October 1, 2025 13:26
@timokoesters timokoesters changed the title Draft: CI changes Justfile overhaul and CI changes Oct 1, 2025
@timokoesters timokoesters changed the title Justfile overhaul and CI changes Justfile and CI changes Oct 1, 2025
Copy link
Member

@kkohbrok kkohbrok left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! I'd say we merge this for now and adjust what doesn't work in the next weeks.

@raphaelrobert
Copy link
Contributor

One of the TODOs is still marked as not done, has that been addressed?

@timokoesters timokoesters force-pushed the timo/justfile branch 2 times, most recently from 5fba598 to 92c515a Compare January 6, 2026 13:24
@timokoesters timokoesters force-pushed the timo/justfile branch 3 times, most recently from 6eb0e84 to 5e1160e Compare January 6, 2026 14:53
@timokoesters timokoesters force-pushed the timo/justfile branch 2 times, most recently from 366ab89 to ac6c0bd Compare January 6, 2026 15:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants