-
Notifications
You must be signed in to change notification settings - Fork 82
Development infrastructure driven by mise and systemd
#2531
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
Open
jgraettinger
wants to merge
15
commits into
master
Choose a base branch
from
johnny/devex-spike-2
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
a955415 to
93930d8
Compare
willdonnelly
reviewed
Dec 2, 2025
93930d8 to
d7e74ed
Compare
GregorShear
reviewed
Dec 3, 2025
Consolidate a legacy agent code path to instead use `runtime` (like everything else). Also add a retry on transient docker pull errors, like "TLS handshake timeout" which happens periodically.
Do not assume a singular "binary directory". Instead use `locate-bin` and the PATH to find flowctl-go.
…o be lost response_rx was previously being error-checked before the log loop had a chance to be driven, resulting in lost logs (obfuscating a local stack issue w/ the connector network). Fix this, and further harden log handling.
This was part of an aborted attempt to remove the dependency on get_random(), as it complicates WASM builds.
Allows tests to function without GCP credentials.
Move the config-encryption service into the Flow repo. Simplify it by removing YAML support and OpenAPI schema (for now, at least). Add support for the `age` tool, used in local stack contexts. Add new tests.
Parallel how protobuf generation works.
nextest runs all workspace tests in parallel, with ergonomic failure reporting.
Allows the config to work with Podman local stacks.
Add `run_single_test.sh` for running pgTAP tests in parallel. Turn off supabase features we don't use, on local stacks.
d7e74ed to
5b229f6
Compare
Introduce `mise` as a project-wide tool manager, environment manager, and task runner for local, within VMs, and in CI. Implement mise tasks for development and test targets, for driving local stacks, and for managing development VMs. Local stacks expect to be run within a Linux + systemd environment, and use user-mode systemd to manage the lifecycle of desired stack components. Development VMs are as-similar as possible to Github CI and our own production environments (Ubuntu 24.04 LTS, systemd). The `ci:platform-build` and `ci:platform-test` tasks closely mimic the corresponding GitHub Actions workflows.
Remove Makefile, Tiltfile, go.sh, and other bits we no longer use.
5b229f6 to
24dcd4d
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This PR introduces a unified development infrastructure using mise as the project-wide tool manager, environment manager, and task runner. Local development stacks run on Linux with user-mode systemd managing service lifecycles.
Key changes:
ci:platform-buildandci:platform-testtasksmise/README.mdcovering setup, common workflows, and IDE configurationSupporting changes bundled in this PR:
cargo nextestfor Rust test runsconfig-encryptionfrom micro-repo into this codebaseage)Why VMs?
All developers use VMs for development to ensure:
Usage Highlights
See
mise/README.mdfor complete documentation including IDE setup, service management, and VM lifecycle.